sbuild (Debian sbuild) 0.78.1 (09 February 2019) on gcc131.bak.milne.osuosl.org +==============================================================================+ | nheko 0.8.0-1 (armhf) Sun, 14 Feb 2021 17:23:48 +0000 | +==============================================================================+ Package: nheko Version: 0.8.0-1 Source Version: 0.8.0-1 Distribution: unstable Machine Architecture: amd64 Host Architecture: armhf Build Architecture: amd64 Build Profiles: cross nocheck Build Type: any I: NOTICE: Log filtering will replace 'var/run/schroot/mount/unstable-amd64-sbuild-5fbbda2c-c8eb-4b55-bbf3-4255dba5d62c' with '<>' I: NOTICE: Log filtering will replace 'build/nheko-AaA0Ve/resolver-c0erB7' with '<>' +------------------------------------------------------------------------------+ | Update chroot | +------------------------------------------------------------------------------+ Get:1 http://debian.oregonstate.edu/debian unstable InRelease [153 kB] Get:2 http://debian.oregonstate.edu/debian unstable/main Sources.diff/Index [63.6 kB] Get:3 http://debian.oregonstate.edu/debian unstable/main amd64 Packages.diff/Index [63.6 kB] Get:4 http://debian.oregonstate.edu/debian unstable/main Sources T-2021-02-14-1359.48-F-2021-02-14-0759.54.pdiff [6874 B] Get:4 http://debian.oregonstate.edu/debian unstable/main Sources T-2021-02-14-1359.48-F-2021-02-14-0759.54.pdiff [6874 B] Get:5 http://debian.oregonstate.edu/debian unstable/main amd64 Packages T-2021-02-14-1359.48-F-2021-02-14-0759.54.pdiff [5723 B] Get:5 http://debian.oregonstate.edu/debian unstable/main amd64 Packages T-2021-02-14-1359.48-F-2021-02-14-0759.54.pdiff [5723 B] Get:6 http://debian.oregonstate.edu/debian unstable/main armhf Packages [8323 kB] Fetched 8616 kB in 4s (2217 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Check APT --------- Checking available source versions... Download source files with APT ------------------------------ Reading package lists... NOTICE: 'nheko' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/matrix-team/nheko.git Please use: git clone https://salsa.debian.org/matrix-team/nheko.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1737 kB of source archives. Get:1 http://debian.oregonstate.edu/debian unstable/main nheko 0.8.0-1 (dsc) [2560 B] Get:2 http://debian.oregonstate.edu/debian unstable/main nheko 0.8.0-1 (tar) [571 kB] Get:3 http://debian.oregonstate.edu/debian unstable/main nheko 0.8.0-1 (tar) [1151 kB] Get:4 http://debian.oregonstate.edu/debian unstable/main nheko 0.8.0-1 (diff) [12.6 kB] Fetched 1737 kB in 0s (13.8 MB/s) Download complete and in download only mode I: NOTICE: Log filtering will replace 'build/nheko-AaA0Ve/nheko-0.8.0' with '<>' I: NOTICE: Log filtering will replace 'build/nheko-AaA0Ve' with '<>' +------------------------------------------------------------------------------+ | Install package build dependencies | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: cmake (>= 3.15), debhelper-compat (= 12), dh-exec, libboost-dev (>= 1.70), libboost-atomic-dev (>= 1.70), libboost-chrono-dev (>= 1.70), libboost-date-time-dev (>= 1.70), libboost-iostreams-dev (>= 1.70), libboost-random-dev (>= 1.70), libboost-regex-dev (>= 1.70), libboost-system-dev (>= 1.70), libboost-thread-dev (>= 1.70), libcmark-dev (>= 0.29), libgstreamer1.0-dev (>= 1.18.0), libgstreamer-plugins-base1.0-dev (>= 1.18.0), libgstreamer-plugins-bad1.0-dev (>= 1.18.0), liblmdb++-dev, libolm-dev (>= 3.0~), libqt5svg5-dev, libspdlog-dev (>= 1.5.0+ds-4), libsodium-dev, libssl-dev, libtweeny-dev, nlohmann-json3-dev (>= 3.7.0-2~), qt5keychain-dev, qtbase5-dev (>= 5.10), qtdeclarative5-dev, libfmt-dev, qtquickcontrols2-5-dev, qtmultimedia5-dev, qttools5-dev, zlib1g-dev, libc-dev, libstdc++-dev, build-essential:amd64, fakeroot:amd64, crossbuild-essential-armhf:amd64, libc-dev:armhf, libstdc++-dev:armhf Filtered Build-Depends: cmake (>= 3.15), debhelper-compat (= 12), dh-exec, libboost-dev (>= 1.70), libboost-atomic-dev (>= 1.70), libboost-chrono-dev (>= 1.70), libboost-date-time-dev (>= 1.70), libboost-iostreams-dev (>= 1.70), libboost-random-dev (>= 1.70), libboost-regex-dev (>= 1.70), libboost-system-dev (>= 1.70), libboost-thread-dev (>= 1.70), libcmark-dev (>= 0.29), libgstreamer1.0-dev (>= 1.18.0), libgstreamer-plugins-base1.0-dev (>= 1.18.0), libgstreamer-plugins-bad1.0-dev (>= 1.18.0), liblmdb++-dev, libolm-dev (>= 3.0~), libqt5svg5-dev, libspdlog-dev (>= 1.5.0+ds-4), libsodium-dev, libssl-dev, libtweeny-dev, nlohmann-json3-dev (>= 3.7.0-2~), qt5keychain-dev, qtbase5-dev (>= 5.10), qtdeclarative5-dev, libfmt-dev, qtquickcontrols2-5-dev, qtmultimedia5-dev, qttools5-dev, zlib1g-dev, libc-dev, libstdc++-dev, build-essential:amd64, fakeroot:amd64, crossbuild-essential-armhf:amd64, libc-dev:armhf, libstdc++-dev:armhf dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/<>/apt_archive/sbuild-build-depends-main-dummy.deb'. Ign:1 copy:/<>/apt_archive ./ InRelease Get:2 copy:/<>/apt_archive ./ Release [963 B] Ign:3 copy:/<>/apt_archive ./ Release.gpg Get:4 copy:/<>/apt_archive ./ Sources [655 B] Get:5 copy:/<>/apt_archive ./ Packages [751 B] Fetched 2369 B in 0s (91.5 kB/s) Reading package lists... Reading package lists... Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: adwaita-icon-theme autoconf automake autopoint autotools-dev binutils-arm-linux-gnueabihf bsdextrautils build-essential cmake cmake-data cpp-10-arm-linux-gnueabihf cpp-arm-linux-gnueabihf cross-config crossbuild-essential-armhf dbus dbus-user-session dconf-gsettings-backend dconf-service debhelper dh-autoreconf dh-exec dh-strip-nondeterminism dmsetup dpkg-cross dpkg-dev dwz file fontconfig fontconfig-config fonts-dejavu-core g++ g++-10 g++-10-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc-10-arm-linux-gnueabihf gcc-10-arm-linux-gnueabihf-base gcc-10-base:armhf gcc-10-cross-base gcc-9-base:armhf gcc-arm-linux-gnueabihf gdal-data gettext gettext-base gir1.2-glib-2.0:armhf gir1.2-gst-plugins-bad-1.0:armhf gir1.2-gst-plugins-base-1.0:armhf gir1.2-gstreamer-1.0:armhf glib-networking:armhf glib-networking-common glib-networking-services groff-base gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme icu-devtools intltool-debian iso-codes libacl1:armhf libaec0:armhf libaom0:armhf libapparmor1 libarchive-zip-perl libarchive13 libarchive13:armhf libargon2-1 libarmadillo10:armhf libarpack2:armhf libasan5:armhf libasan6-armhf-cross libasound2:armhf libasound2-data libasyncns0:armhf libatk-bridge2.0-0:armhf libatk1.0-0:armhf libatk1.0-data libatomic1:armhf libatomic1-armhf-cross libatspi2.0-0:armhf libavahi-client3 libavahi-client3:armhf libavahi-common-data libavahi-common-data:armhf libavahi-common3 libavahi-common3:armhf libavcodec-dev:armhf libavcodec58:armhf libavformat-dev:armhf libavformat58:armhf libavutil-dev:armhf libavutil56:armhf libblas3:armhf libblkid-dev:armhf libblkid1:armhf libbluray2:armhf libboost-atomic-dev:armhf libboost-atomic1.74-dev:armhf libboost-atomic1.74.0:armhf libboost-chrono-dev:armhf libboost-chrono1.74-dev:armhf libboost-chrono1.74.0:armhf libboost-date-time-dev:armhf libboost-date-time1.74-dev:armhf libboost-date-time1.74.0:armhf libboost-dev:armhf libboost-iostreams-dev:armhf libboost-iostreams1.74-dev:armhf libboost-iostreams1.74.0:armhf libboost-random-dev:armhf libboost-random1.74-dev:armhf libboost-random1.74.0:armhf libboost-regex-dev:armhf libboost-regex1.74-dev:armhf libboost-regex1.74.0:armhf libboost-serialization1.74-dev:armhf libboost-serialization1.74.0:armhf libboost-system-dev:armhf libboost-system1.74-dev:armhf libboost-system1.74.0:armhf libboost-thread-dev:armhf libboost-thread1.74-dev:armhf libboost-thread1.74.0:armhf libboost1.74-dev:armhf libbrotli1 libbrotli1:armhf libbsd0 libbsd0:armhf libbz2-1.0:armhf libc6:armhf libc6-armhf-cross libc6-dev libc6-dev:armhf libc6-dev-armhf-cross libcairo-gobject2:armhf libcairo2:armhf libcap2 libcap2:armhf libcap2-bin libcfitsio9:armhf libcharls2:armhf libchromaprint1:armhf libclang1-11 libcmark-dev:armhf libcmark0.29.0:armhf libcodec2-0.9:armhf libcolord2:armhf libcom-err2:armhf libconfig-auto-perl libconfig-inifiles-perl libcrypt-dev libcrypt-dev:armhf libcrypt1:armhf libcryptsetup12 libcups2 libcups2:armhf libcurl3-gnutls:armhf libcurl4 libcurl4:armhf libdap27:armhf libdapclient6v5:armhf libdatrie1:armhf libdav1d4:armhf libdb5.3:armhf libdbus-1-3 libdbus-1-3:armhf libdc1394-25:armhf libdc1394-dev:armhf libdconf1 libde265-0:armhf libdebhelper-perl libdebian-dpkgcross-perl libdeflate-dev:armhf libdeflate0 libdeflate0:armhf libdevmapper1.02.1 libdouble-conversion3 libdouble-conversion3:armhf libdpkg-perl libdrm-amdgpu1 libdrm-amdgpu1:armhf libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-nouveau2:armhf libdrm-radeon1 libdrm-radeon1:armhf libdrm2 libdrm2:armhf libdw-dev:armhf libdw1 libdw1:armhf libedit2 libedit2:armhf libegl-dev:armhf libegl-mesa0 libegl-mesa0:armhf libegl1 libegl1:armhf libelf-dev:armhf libelf1 libelf1:armhf libepoxy0:armhf libepsilon1:armhf libevdev2 libevdev2:armhf libexif-dev:armhf libexif12:armhf libexpat1 libexpat1:armhf libffi-dev:armhf libffi7:armhf libfile-homedir-perl libfile-stripnondeterminism-perl libfile-which-perl libflac8:armhf libfmt-dev:armhf libfmt7:armhf libfontconfig1 libfontconfig1:armhf libfreetype6 libfreetype6:armhf libfreexl1:armhf libfribidi0:armhf libfyba0:armhf libgbm1 libgbm1:armhf libgcc-10-dev-armhf-cross libgcc-9-dev:armhf libgcc-s1:armhf libgcc-s1-armhf-cross libgcrypt20:armhf libgd3:armhf libgdal28:armhf libgdcm-dev:armhf libgdcm3.0:armhf libgdk-pixbuf-2.0-0 libgdk-pixbuf-2.0-0:armhf libgdk-pixbuf2.0-common libgeos-3.9.0:armhf libgeos-c1v5:armhf libgeotiff5:armhf libgfortran5:armhf libgif7:armhf libgirepository-1.0-1:armhf libgl-dev:armhf libgl1 libgl1:armhf libgl1-mesa-dri libgl1-mesa-dri:armhf libgl2ps1.4:armhf libglapi-mesa libglapi-mesa:armhf libgles-dev:armhf libgles1:armhf libgles2:armhf libglew2.1:armhf libglib2.0-0 libglib2.0-0:armhf libglib2.0-bin libglib2.0-data libglib2.0-dev:armhf libglib2.0-dev-bin libglvnd0 libglvnd0:armhf libglx-dev:armhf libglx-mesa0 libglx-mesa0:armhf libglx0 libglx0:armhf libgme0:armhf libgmp10:armhf libgnutls30:armhf libgomp1:armhf libgomp1-armhf-cross libgpg-error0:armhf libgphoto2-6:armhf libgphoto2-dev:armhf libgphoto2-port12:armhf libgraphite2-3 libgraphite2-3:armhf libgsm1:armhf libgssapi-krb5-2:armhf libgstreamer-gl1.0-0:armhf libgstreamer-opencv1.0-0:armhf libgstreamer-plugins-bad1.0-0:armhf libgstreamer-plugins-bad1.0-dev:armhf libgstreamer-plugins-base1.0-0 libgstreamer-plugins-base1.0-0:armhf libgstreamer-plugins-base1.0-dev:armhf libgstreamer1.0-0 libgstreamer1.0-0:armhf libgstreamer1.0-dev:armhf libgtk-3-0:armhf libgtk-3-common libgudev-1.0-0 libgudev-1.0-0:armhf libharfbuzz0b libharfbuzz0b:armhf libhdf4-0-alt:armhf libhdf5-103-1:armhf libhdf5-hl-100:armhf libheif1:armhf libhogweed6:armhf libhyphen0 libice6 libice6:armhf libicu-dev:armhf libicu67 libicu67:armhf libidn2-0:armhf libilmbase-dev:armhf libilmbase25:armhf libinput-bin libinput10 libinput10:armhf libio-string-perl libip4tc2 libjbig-dev:armhf libjbig0 libjbig0:armhf libjpeg-dev:armhf libjpeg62-turbo libjpeg62-turbo:armhf libjpeg62-turbo-dev:armhf libjson-c5 libjson-c5:armhf libjson-glib-1.0-0:armhf libjson-glib-1.0-common libjsoncpp24 libjsoncpp24:armhf libk5crypto3:armhf libkeyutils1:armhf libkmlbase1:armhf libkmldom1:armhf libkmlengine1:armhf libkmod2 libkrb5-3:armhf libkrb5support0:armhf liblapack3:armhf liblcms2-2:armhf libldap-2.4-2 libldap-2.4-2:armhf liblept5:armhf libllvm11 libllvm11:armhf liblmdb++-dev:armhf liblmdb-dev:armhf liblmdb0:armhf liblocale-gettext-perl libltdl7 libltdl7:armhf liblz4-1:armhf liblzma-dev:armhf liblzma5:armhf libmagic-mgc libmagic1 libmariadb3:armhf libmd0 libmd0:armhf libmd4c0 libmd4c0:armhf libminizip1:armhf libmount-dev:armhf libmount1:armhf libmp3lame0:armhf libmpdec3 libmpg123-0:armhf libmtdev1 libmtdev1:armhf libncurses6 libnetcdf18:armhf libnettle8:armhf libnghttp2-14 libnghttp2-14:armhf libnorm1:armhf libnsl-dev libnsl-dev:armhf libnsl2:armhf libnspr4:armhf libnss3:armhf libodbc1:armhf libogdi4.1:armhf libogg0:armhf libolm-dev:armhf libolm3:armhf libopencv-calib3d-dev:armhf libopencv-calib3d4.5:armhf libopencv-contrib-dev:armhf libopencv-contrib4.5:armhf libopencv-core-dev:armhf libopencv-core4.5:armhf libopencv-dev:armhf libopencv-dnn-dev:armhf libopencv-dnn4.5:armhf libopencv-features2d-dev:armhf libopencv-features2d4.5:armhf libopencv-flann-dev:armhf libopencv-flann4.5:armhf libopencv-highgui-dev:armhf libopencv-highgui4.5:armhf libopencv-imgcodecs-dev:armhf libopencv-imgcodecs4.5:armhf libopencv-imgproc-dev:armhf libopencv-imgproc4.5:armhf libopencv-ml-dev:armhf libopencv-ml4.5:armhf libopencv-objdetect-dev:armhf libopencv-objdetect4.5:armhf libopencv-photo-dev:armhf libopencv-photo4.5:armhf libopencv-shape-dev:armhf libopencv-shape4.5:armhf libopencv-stitching-dev:armhf libopencv-stitching4.5:armhf libopencv-superres-dev:armhf libopencv-superres4.5:armhf libopencv-video-dev:armhf libopencv-video4.5:armhf libopencv-videoio-dev:armhf libopencv-videoio4.5:armhf libopencv-videostab-dev:armhf libopencv-videostab4.5:armhf libopencv-viz-dev:armhf libopencv-viz4.5:armhf libopenexr-dev:armhf libopenexr25:armhf libopengl0:armhf libopenjp2-7:armhf libopenmpt0:armhf libopus0:armhf liborc-0.4-0 liborc-0.4-0:armhf liborc-0.4-dev:armhf liborc-0.4-dev-bin libp11-kit0:armhf libpam-systemd libpango-1.0-0:armhf libpangocairo-1.0-0:armhf libpangoft2-1.0-0:armhf libpciaccess0 libpcre16-3:armhf libpcre2-16-0 libpcre2-16-0:armhf libpcre2-32-0:armhf libpcre2-8-0:armhf libpcre2-dev:armhf libpcre2-posix2:armhf libpcre3:armhf libpcre3-dev:armhf libpcre32-3:armhf libpcrecpp0v5:armhf libperl5.32 libpgm-5.3-0:armhf libpipeline1 libpixman-1-0:armhf libpng-dev:armhf libpng16-16 libpng16-16:armhf libpoppler102:armhf libpq5:armhf libprocps8 libproj19:armhf libprotobuf23:armhf libproxy1v5 libproxy1v5:armhf libpsl5 libpsl5:armhf libpthread-stubs0-dev:armhf libpulse0:armhf libpython3-stdlib libpython3.9-minimal libpython3.9-stdlib libqhull8.0:armhf libqt5concurrent5:armhf libqt5core5a libqt5core5a:armhf libqt5dbus5 libqt5dbus5:armhf libqt5designer5 libqt5designer5:armhf libqt5designercomponents5 libqt5designercomponents5:armhf libqt5gui5 libqt5gui5:armhf libqt5help5 libqt5help5:armhf libqt5keychain1:armhf libqt5multimedia5:armhf libqt5multimediagsttools5:armhf libqt5multimediaquick5:armhf libqt5multimediawidgets5:armhf libqt5network5 libqt5network5:armhf libqt5positioning5 libqt5printsupport5 libqt5printsupport5:armhf libqt5qml5 libqt5qml5:armhf libqt5qmlmodels5 libqt5qmlmodels5:armhf libqt5quick5 libqt5quick5:armhf libqt5quickcontrols2-5:armhf libqt5quickparticles5:armhf libqt5quickshapes5:armhf libqt5quicktemplates2-5:armhf libqt5quicktest5 libqt5quicktest5:armhf libqt5quickwidgets5 libqt5quickwidgets5:armhf libqt5sensors5 libqt5sql5 libqt5sql5:armhf libqt5sql5-sqlite libqt5svg5:armhf libqt5svg5-dev:armhf libqt5test5 libqt5test5:armhf libqt5webchannel5 libqt5webkit5 libqt5widgets5 libqt5widgets5:armhf libqt5xml5 libqt5xml5:armhf librabbitmq4:armhf libraw1394-11:armhf libraw1394-dev:armhf libreadline8 librest-0.7-0:armhf librhash0 librsvg2-2:armhf librtmp1 librtmp1:armhf librttopo1:armhf libsasl2-2 libsasl2-2:armhf libsasl2-modules-db libsasl2-modules-db:armhf libselinux1:armhf libselinux1-dev:armhf libsensors-config libsensors5 libsensors5:armhf libsepol1:armhf libsepol1-dev:armhf libshine3:armhf libsigsegv2 libsm6 libsm6:armhf libsnappy1v5:armhf libsndfile1:armhf libsocket++1:armhf libsodium-dev:armhf libsodium23:armhf libsoup-gnome2.4-1:armhf libsoup2.4-1:armhf libsoxr0:armhf libspatialite7:armhf libspdlog-dev:armhf libspdlog1:armhf libspeex1:armhf libsqlite3-0 libsqlite3-0:armhf libsrt1.4-gnutls:armhf libssh-gcrypt-4:armhf libssh2-1 libssh2-1:armhf libssl-dev:armhf libssl1.1:armhf libstdc++-10-dev libstdc++-10-dev-armhf-cross libstdc++-9-dev:armhf libstdc++6:armhf libstdc++6-armhf-cross libsub-override-perl libsuperlu5:armhf libswresample-dev:armhf libswresample3:armhf libswscale-dev:armhf libswscale5:armhf libsystemd0:armhf libsz2:armhf libtasn1-6:armhf libtbb-dev:armhf libtbb2:armhf libtcl8.6:armhf libtesseract4:armhf libthai-data libthai0:armhf libtheora0:armhf libtiff-dev:armhf libtiff5 libtiff5:armhf libtiffxx5:armhf libtinfo6:armhf libtirpc-dev libtirpc-dev:armhf libtirpc3:armhf libtk8.6:armhf libtool libtweeny-dev libtwolame0:armhf libubsan1:armhf libubsan1-armhf-cross libuchardet0 libudev1:armhf libudfread0:armhf libunistring2:armhf libunwind-dev:armhf libunwind8 libunwind8:armhf liburiparser1:armhf libusb-1.0-0:armhf libuuid1:armhf libuv1 libva-drm2:armhf libva-x11-2:armhf libva2:armhf libvdpau1:armhf libvorbis0a:armhf libvorbisenc2:armhf libvorbisfile3:armhf libvpx6:armhf libvtk9:armhf libvulkan-dev:armhf libvulkan1 libvulkan1:armhf libwacom-common libwacom2 libwacom2:armhf libwavpack1:armhf libwayland-bin libwayland-client0 libwayland-client0:armhf libwayland-cursor0:armhf libwayland-dev:armhf libwayland-egl1:armhf libwayland-server0 libwayland-server0:armhf libwebp6 libwebp6:armhf libwebpmux3:armhf libwoff1 libwrap0:armhf libx11-6 libx11-6:armhf libx11-data libx11-dev:armhf libx11-xcb-dev:armhf libx11-xcb1 libx11-xcb1:armhf libx264-160:armhf libx265-192:armhf libxau-dev:armhf libxau6 libxau6:armhf libxcb-dri2-0 libxcb-dri2-0:armhf libxcb-dri3-0 libxcb-dri3-0:armhf libxcb-glx0 libxcb-glx0:armhf libxcb-icccm4 libxcb-icccm4:armhf libxcb-image0 libxcb-image0:armhf libxcb-keysyms1 libxcb-keysyms1:armhf libxcb-present0 libxcb-present0:armhf libxcb-randr0 libxcb-randr0:armhf libxcb-render-util0 libxcb-render-util0:armhf libxcb-render0 libxcb-render0:armhf libxcb-shape0 libxcb-shape0:armhf libxcb-shm0 libxcb-shm0:armhf libxcb-sync1 libxcb-sync1:armhf libxcb-util1 libxcb-util1:armhf libxcb-xfixes0 libxcb-xfixes0:armhf libxcb-xinerama0 libxcb-xinerama0:armhf libxcb-xinput0 libxcb-xinput0:armhf libxcb-xkb1 libxcb-xkb1:armhf libxcb1 libxcb1:armhf libxcb1-dev:armhf libxcomposite1:armhf libxcursor1:armhf libxdamage1 libxdamage1:armhf libxdmcp-dev:armhf libxdmcp6 libxdmcp6:armhf libxerces-c3.2:armhf libxext-dev:armhf libxext6 libxext6:armhf libxfixes3 libxfixes3:armhf libxft2:armhf libxi6:armhf libxinerama1:armhf libxkbcommon-x11-0 libxkbcommon-x11-0:armhf libxkbcommon0 libxkbcommon0:armhf libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-simple-perl libxml2 libxml2:armhf libxpm4:armhf libxrandr2:armhf libxrender1 libxrender1:armhf libxshmfence1 libxshmfence1:armhf libxslt1.1 libxss1:armhf libxvidcore4:armhf libxxf86vm1 libxxf86vm1:armhf libyaml-perl libz3-4 libz3-4:armhf libzmq5:armhf libzstd1:armhf libzvbi-common libzvbi0:armhf linux-libc-dev:armhf linux-libc-dev-armhf-cross m4 man-db mariadb-common media-types mysql-common nlohmann-json3-dev ocl-icd-libopencl1:armhf odbcinst odbcinst1debian2 odbcinst1debian2:armhf perl perl-modules-5.32 pkg-config po-debconf procps proj-data python3 python3-distutils python3-lib2to3 python3-minimal python3.9 python3.9-minimal qdoc-qt5 qhelpgenerator-qt5 qt5-assistant qt5-qmake:armhf qt5-qmake-bin qt5-qmltooling-plugins:armhf qt5keychain-dev:armhf qtattributionsscanner-qt5 qtbase5-dev:armhf qtbase5-dev-tools qtchooser qtdeclarative5-dev:armhf qtdeclarative5-dev-tools qtmultimedia5-dev:armhf qtquickcontrols2-5-dev:armhf qttools5-dev:armhf qttools5-dev-tools readline-common sensible-utils shared-mime-info systemd systemd-sysv systemd-timesyncd ucf uuid-dev:armhf x11-common x11proto-dev x11proto-xext-dev xkb-data xorg-sgml-doctools xtrans-dev zlib1g:armhf zlib1g-dev:armhf Suggested packages: autoconf-archive gnu-standards autoconf-doc binutils-doc cmake-doc ninja-build gcc-10-locales cpp-doc dh-make binutils-multiarch debian-keyring g++-multilib g++-10-multilib gcc-10-doc manpages-dev flex bison gdb-arm-linux-gnueabihf gcc-doc gettext-doc libasprintf-dev libgettextpo-dev groff isoquery lrzip lrzip:armhf libasound2-plugins:armhf alsa-utils libbluray-bdj:armhf libboost-doc:armhf libboost1.74-doc:armhf libboost-container1.74-dev:armhf libboost-context1.74-dev:armhf libboost-contract1.74-dev:armhf libboost-coroutine1.74-dev:armhf libboost-exception1.74-dev:armhf libboost-fiber1.74-dev:armhf libboost-filesystem1.74-dev:armhf libboost-graph1.74-dev:armhf libboost-graph-parallel1.74-dev:armhf libboost-locale1.74-dev:armhf libboost-log1.74-dev:armhf libboost-math1.74-dev:armhf libboost-mpi1.74-dev:armhf libboost-mpi-python1.74-dev:armhf libboost-numpy1.74-dev:armhf libboost-program-options1.74-dev:armhf libboost-python1.74-dev:armhf libboost-stacktrace1.74-dev:armhf libboost-test1.74-dev:armhf libboost-timer1.74-dev:armhf libboost-type-erasure1.74-dev:armhf libboost-wave1.74-dev:armhf libboost1.74-tools-dev:armhf libmpfrc++-dev:armhf libntl-dev:armhf libboost-nowide1.74-dev:armhf glibc-doc:armhf libc-l10n:armhf locales:armhf glibc-doc manpages-dev:armhf colord:armhf cups-common cups-common:armhf gnupg git bzr libfmt-doc:armhf rng-tools:armhf libgd-tools:armhf geotiff-bin:armhf gdal-bin:armhf libgeotiff-epsg:armhf glew-utils:armhf libgirepository1.0-dev:armhf libglib2.0-doc:armhf libgdk-pixbuf2.0-bin | libgdk-pixbuf2.0-dev libxml2-utils gnutls-bin:armhf gphoto2:armhf krb5-doc:armhf krb5-user:armhf libvisual-0.4-plugins libvisual-0.4-plugins:armhf gstreamer1.0-tools gstreamer1.0-tools:armhf gstreamer1.0-doc:armhf gvfs:armhf librsvg2-common:armhf libhdf4-doc:armhf libhdf4-alt-dev:armhf hdf4-tools:armhf icu-doc:armhf liblcms2-utils:armhf liblzma-doc:armhf libmyodbc:armhf odbc-postgresql:armhf tdsodbc:armhf unixodbc-bin:armhf ogdi-bin:armhf opencv-doc:armhf opus-tools:armhf liborc-0.4-doc:armhf pciutils proj-bin:armhf pulseaudio:armhf libthai0 qt5-image-formats-plugins qtwayland5 qt5-image-formats-plugins:armhf qtwayland5:armhf qt5-qmltooling-plugins libraw1394-doc:armhf librsvg2-bin:armhf lm-sensors lm-sensors:armhf speex:armhf libssl-doc:armhf libstdc++-10-doc libstdc++-9-doc:armhf libtbb-doc:armhf tcl8.6:armhf tk8.6:armhf libtool-doc gfortran | fortran95-compiler gcj-jdk mpi-default-bin:armhf vtk9-doc:armhf vtk9-examples:armhf libwayland-doc:armhf libx11-doc:armhf libxcb-doc:armhf libxext-doc:armhf libyaml-shell-perl m4-doc apparmor less www-browser opencl-icd:armhf perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl libtap-harness-archive-perl libmail-box-perl python3-doc python3-tk python3-venv python3.9-venv python3.9-doc binfmt-support qt5-doc default-libmysqlclient-dev:armhf firebird-dev:armhf libpq-dev:armhf libsqlite3-dev:armhf unixodbc-dev:armhf readline-doc systemd-container policykit-1 Recommended packages: librsvg2-common gnupg libalgorithm-merge-perl curl | wget | lynx glib-networking alsa-ucm-conf alsa-topology-conf at-spi2-core:armhf libaacs0:armhf libnss-nis:armhf libnss-nisplus:armhf libpam-cap ca-certificates:armhf ca-certificates libfile-fcntllock-perl libexif-doc:armhf libarchive-cpio-perl proj-bin:armhf libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-bin:armhf xdg-user-dirs xdg-user-dirs:armhf libgpg-error-l10n:armhf libgphoto2-l10n:armhf gstreamer1.0-gl:armhf gstreamer1.0-plugins-base gstreamer1.0-plugins-base:armhf libgtk-3-bin:armhf libgtk-3-0 krb5-locales:armhf libldap-common libldap-common:armhf lmdb-doc:armhf libgpm2 opencv-data:armhf libopencv4.5-java:armhf libpng-tools:armhf poppler-data:armhf publicsuffix publicsuffix:armhf qttranslations5-l10n qttranslations5-l10n:armhf libqt5svg5 qt5-gtk-platformtheme qt5-gtk-platformtheme:armhf gnome-keyring:armhf | kwalletmanager:armhf geoclue-2.0 libqt5sql5-sqlite:armhf | libqt5sql5-mysql:armhf | libqt5sql5-odbc:armhf | libqt5sql5-psql:armhf | libqt5sql5-tds:armhf | libqt5sql5-ibase:armhf libraw1394-tools:armhf librsvg2-common:armhf libsasl2-modules libsasl2-modules:armhf libltdl-dev uuid-runtime:armhf va-driver-all:armhf | va-driver:armhf vdpau-driver-all:armhf | vdpau-driver:armhf mesa-vulkan-drivers | vulkan-icd mesa-vulkan-drivers:armhf | vulkan-icd:armhf libwacom-bin libwacom-bin:armhf libwww-perl libxml-sax-expat-perl libyaml-libyaml-perl | libyaml-syck-perl netbase libmail-sendmail-perl psmisc libqt5opengl5-dev:armhf libnss-systemd The following NEW packages will be installed: adwaita-icon-theme autoconf automake autopoint autotools-dev binutils-arm-linux-gnueabihf bsdextrautils build-essential cmake cmake-data cpp-10-arm-linux-gnueabihf cpp-arm-linux-gnueabihf cross-config crossbuild-essential-armhf dbus dbus-user-session dconf-gsettings-backend dconf-service debhelper dh-autoreconf dh-exec dh-strip-nondeterminism dmsetup dpkg-cross dpkg-dev dwz file fontconfig fontconfig-config fonts-dejavu-core g++ g++-10 g++-10-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc-10-arm-linux-gnueabihf gcc-10-arm-linux-gnueabihf-base gcc-10-base:armhf gcc-10-cross-base gcc-9-base:armhf gcc-arm-linux-gnueabihf gdal-data gettext gettext-base gir1.2-glib-2.0:armhf gir1.2-gst-plugins-bad-1.0:armhf gir1.2-gst-plugins-base-1.0:armhf gir1.2-gstreamer-1.0:armhf glib-networking:armhf glib-networking-common glib-networking-services groff-base gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme icu-devtools intltool-debian iso-codes libacl1:armhf libaec0:armhf libaom0:armhf libapparmor1 libarchive-zip-perl libarchive13 libarchive13:armhf libargon2-1 libarmadillo10:armhf libarpack2:armhf libasan5:armhf libasan6-armhf-cross libasound2:armhf libasound2-data libasyncns0:armhf libatk-bridge2.0-0:armhf libatk1.0-0:armhf libatk1.0-data libatomic1:armhf libatomic1-armhf-cross libatspi2.0-0:armhf libavahi-client3 libavahi-client3:armhf libavahi-common-data libavahi-common-data:armhf libavahi-common3 libavahi-common3:armhf libavcodec-dev:armhf libavcodec58:armhf libavformat-dev:armhf libavformat58:armhf libavutil-dev:armhf libavutil56:armhf libblas3:armhf libblkid-dev:armhf libblkid1:armhf libbluray2:armhf libboost-atomic-dev:armhf libboost-atomic1.74-dev:armhf libboost-atomic1.74.0:armhf libboost-chrono-dev:armhf libboost-chrono1.74-dev:armhf libboost-chrono1.74.0:armhf libboost-date-time-dev:armhf libboost-date-time1.74-dev:armhf libboost-date-time1.74.0:armhf libboost-dev:armhf libboost-iostreams-dev:armhf libboost-iostreams1.74-dev:armhf libboost-iostreams1.74.0:armhf libboost-random-dev:armhf libboost-random1.74-dev:armhf libboost-random1.74.0:armhf libboost-regex-dev:armhf libboost-regex1.74-dev:armhf libboost-regex1.74.0:armhf libboost-serialization1.74-dev:armhf libboost-serialization1.74.0:armhf libboost-system-dev:armhf libboost-system1.74-dev:armhf libboost-system1.74.0:armhf libboost-thread-dev:armhf libboost-thread1.74-dev:armhf libboost-thread1.74.0:armhf libboost1.74-dev:armhf libbrotli1 libbrotli1:armhf libbsd0 libbsd0:armhf libbz2-1.0:armhf libc6:armhf libc6-armhf-cross libc6-dev libc6-dev:armhf libc6-dev-armhf-cross libcairo-gobject2:armhf libcairo2:armhf libcap2 libcap2:armhf libcap2-bin libcfitsio9:armhf libcharls2:armhf libchromaprint1:armhf libclang1-11 libcmark-dev:armhf libcmark0.29.0:armhf libcodec2-0.9:armhf libcolord2:armhf libcom-err2:armhf libconfig-auto-perl libconfig-inifiles-perl libcrypt-dev libcrypt-dev:armhf libcrypt1:armhf libcryptsetup12 libcups2 libcups2:armhf libcurl3-gnutls:armhf libcurl4 libcurl4:armhf libdap27:armhf libdapclient6v5:armhf libdatrie1:armhf libdav1d4:armhf libdb5.3:armhf libdbus-1-3 libdbus-1-3:armhf libdc1394-25:armhf libdc1394-dev:armhf libdconf1 libde265-0:armhf libdebhelper-perl libdebian-dpkgcross-perl libdeflate-dev:armhf libdeflate0 libdeflate0:armhf libdevmapper1.02.1 libdouble-conversion3 libdouble-conversion3:armhf libdpkg-perl libdrm-amdgpu1 libdrm-amdgpu1:armhf libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-nouveau2:armhf libdrm-radeon1 libdrm-radeon1:armhf libdrm2 libdrm2:armhf libdw-dev:armhf libdw1 libdw1:armhf libedit2 libedit2:armhf libegl-dev:armhf libegl-mesa0 libegl-mesa0:armhf libegl1 libegl1:armhf libelf-dev:armhf libelf1 libelf1:armhf libepoxy0:armhf libepsilon1:armhf libevdev2 libevdev2:armhf libexif-dev:armhf libexif12:armhf libexpat1 libexpat1:armhf libffi-dev:armhf libffi7:armhf libfile-homedir-perl libfile-stripnondeterminism-perl libfile-which-perl libflac8:armhf libfmt-dev:armhf libfmt7:armhf libfontconfig1 libfontconfig1:armhf libfreetype6 libfreetype6:armhf libfreexl1:armhf libfribidi0:armhf libfyba0:armhf libgbm1 libgbm1:armhf libgcc-10-dev-armhf-cross libgcc-9-dev:armhf libgcc-s1:armhf libgcc-s1-armhf-cross libgcrypt20:armhf libgd3:armhf libgdal28:armhf libgdcm-dev:armhf libgdcm3.0:armhf libgdk-pixbuf-2.0-0 libgdk-pixbuf-2.0-0:armhf libgdk-pixbuf2.0-common libgeos-3.9.0:armhf libgeos-c1v5:armhf libgeotiff5:armhf libgfortran5:armhf libgif7:armhf libgirepository-1.0-1:armhf libgl-dev:armhf libgl1 libgl1:armhf libgl1-mesa-dri libgl1-mesa-dri:armhf libgl2ps1.4:armhf libglapi-mesa libglapi-mesa:armhf libgles-dev:armhf libgles1:armhf libgles2:armhf libglew2.1:armhf libglib2.0-0 libglib2.0-0:armhf libglib2.0-bin libglib2.0-data libglib2.0-dev:armhf libglib2.0-dev-bin libglvnd0 libglvnd0:armhf libglx-dev:armhf libglx-mesa0 libglx-mesa0:armhf libglx0 libglx0:armhf libgme0:armhf libgmp10:armhf libgnutls30:armhf libgomp1:armhf libgomp1-armhf-cross libgpg-error0:armhf libgphoto2-6:armhf libgphoto2-dev:armhf libgphoto2-port12:armhf libgraphite2-3 libgraphite2-3:armhf libgsm1:armhf libgssapi-krb5-2:armhf libgstreamer-gl1.0-0:armhf libgstreamer-opencv1.0-0:armhf libgstreamer-plugins-bad1.0-0:armhf libgstreamer-plugins-bad1.0-dev:armhf libgstreamer-plugins-base1.0-0 libgstreamer-plugins-base1.0-0:armhf libgstreamer-plugins-base1.0-dev:armhf libgstreamer1.0-0 libgstreamer1.0-0:armhf libgstreamer1.0-dev:armhf libgtk-3-0:armhf libgtk-3-common libgudev-1.0-0 libgudev-1.0-0:armhf libharfbuzz0b libharfbuzz0b:armhf libhdf4-0-alt:armhf libhdf5-103-1:armhf libhdf5-hl-100:armhf libheif1:armhf libhogweed6:armhf libhyphen0 libice6 libice6:armhf libicu-dev:armhf libicu67 libicu67:armhf libidn2-0:armhf libilmbase-dev:armhf libilmbase25:armhf libinput-bin libinput10 libinput10:armhf libio-string-perl libip4tc2 libjbig-dev:armhf libjbig0 libjbig0:armhf libjpeg-dev:armhf libjpeg62-turbo libjpeg62-turbo:armhf libjpeg62-turbo-dev:armhf libjson-c5 libjson-c5:armhf libjson-glib-1.0-0:armhf libjson-glib-1.0-common libjsoncpp24 libjsoncpp24:armhf libk5crypto3:armhf libkeyutils1:armhf libkmlbase1:armhf libkmldom1:armhf libkmlengine1:armhf libkmod2 libkrb5-3:armhf libkrb5support0:armhf liblapack3:armhf liblcms2-2:armhf libldap-2.4-2 libldap-2.4-2:armhf liblept5:armhf libllvm11 libllvm11:armhf liblmdb++-dev:armhf liblmdb-dev:armhf liblmdb0:armhf liblocale-gettext-perl libltdl7 libltdl7:armhf liblz4-1:armhf liblzma-dev:armhf liblzma5:armhf libmagic-mgc libmagic1 libmariadb3:armhf libmd0 libmd0:armhf libmd4c0 libmd4c0:armhf libminizip1:armhf libmount-dev:armhf libmount1:armhf libmp3lame0:armhf libmpdec3 libmpg123-0:armhf libmtdev1 libmtdev1:armhf libncurses6 libnetcdf18:armhf libnettle8:armhf libnghttp2-14 libnghttp2-14:armhf libnorm1:armhf libnsl-dev libnsl-dev:armhf libnsl2:armhf libnspr4:armhf libnss3:armhf libodbc1:armhf libogdi4.1:armhf libogg0:armhf libolm-dev:armhf libolm3:armhf libopencv-calib3d-dev:armhf libopencv-calib3d4.5:armhf libopencv-contrib-dev:armhf libopencv-contrib4.5:armhf libopencv-core-dev:armhf libopencv-core4.5:armhf libopencv-dev:armhf libopencv-dnn-dev:armhf libopencv-dnn4.5:armhf libopencv-features2d-dev:armhf libopencv-features2d4.5:armhf libopencv-flann-dev:armhf libopencv-flann4.5:armhf libopencv-highgui-dev:armhf libopencv-highgui4.5:armhf libopencv-imgcodecs-dev:armhf libopencv-imgcodecs4.5:armhf libopencv-imgproc-dev:armhf libopencv-imgproc4.5:armhf libopencv-ml-dev:armhf libopencv-ml4.5:armhf libopencv-objdetect-dev:armhf libopencv-objdetect4.5:armhf libopencv-photo-dev:armhf libopencv-photo4.5:armhf libopencv-shape-dev:armhf libopencv-shape4.5:armhf libopencv-stitching-dev:armhf libopencv-stitching4.5:armhf libopencv-superres-dev:armhf libopencv-superres4.5:armhf libopencv-video-dev:armhf libopencv-video4.5:armhf libopencv-videoio-dev:armhf libopencv-videoio4.5:armhf libopencv-videostab-dev:armhf libopencv-videostab4.5:armhf libopencv-viz-dev:armhf libopencv-viz4.5:armhf libopenexr-dev:armhf libopenexr25:armhf libopengl0:armhf libopenjp2-7:armhf libopenmpt0:armhf libopus0:armhf liborc-0.4-0 liborc-0.4-0:armhf liborc-0.4-dev:armhf liborc-0.4-dev-bin libp11-kit0:armhf libpam-systemd libpango-1.0-0:armhf libpangocairo-1.0-0:armhf libpangoft2-1.0-0:armhf libpciaccess0 libpcre16-3:armhf libpcre2-16-0 libpcre2-16-0:armhf libpcre2-32-0:armhf libpcre2-8-0:armhf libpcre2-dev:armhf libpcre2-posix2:armhf libpcre3:armhf libpcre3-dev:armhf libpcre32-3:armhf libpcrecpp0v5:armhf libperl5.32 libpgm-5.3-0:armhf libpipeline1 libpixman-1-0:armhf libpng-dev:armhf libpng16-16 libpng16-16:armhf libpoppler102:armhf libpq5:armhf libprocps8 libproj19:armhf libprotobuf23:armhf libproxy1v5 libproxy1v5:armhf libpsl5 libpsl5:armhf libpthread-stubs0-dev:armhf libpulse0:armhf libpython3-stdlib libpython3.9-minimal libpython3.9-stdlib libqhull8.0:armhf libqt5concurrent5:armhf libqt5core5a libqt5core5a:armhf libqt5dbus5 libqt5dbus5:armhf libqt5designer5 libqt5designer5:armhf libqt5designercomponents5 libqt5designercomponents5:armhf libqt5gui5 libqt5gui5:armhf libqt5help5 libqt5help5:armhf libqt5keychain1:armhf libqt5multimedia5:armhf libqt5multimediagsttools5:armhf libqt5multimediaquick5:armhf libqt5multimediawidgets5:armhf libqt5network5 libqt5network5:armhf libqt5positioning5 libqt5printsupport5 libqt5printsupport5:armhf libqt5qml5 libqt5qml5:armhf libqt5qmlmodels5 libqt5qmlmodels5:armhf libqt5quick5 libqt5quick5:armhf libqt5quickcontrols2-5:armhf libqt5quickparticles5:armhf libqt5quickshapes5:armhf libqt5quicktemplates2-5:armhf libqt5quicktest5 libqt5quicktest5:armhf libqt5quickwidgets5 libqt5quickwidgets5:armhf libqt5sensors5 libqt5sql5 libqt5sql5:armhf libqt5sql5-sqlite libqt5svg5:armhf libqt5svg5-dev:armhf libqt5test5 libqt5test5:armhf libqt5webchannel5 libqt5webkit5 libqt5widgets5 libqt5widgets5:armhf libqt5xml5 libqt5xml5:armhf librabbitmq4:armhf libraw1394-11:armhf libraw1394-dev:armhf libreadline8 librest-0.7-0:armhf librhash0 librsvg2-2:armhf librtmp1 librtmp1:armhf librttopo1:armhf libsasl2-2 libsasl2-2:armhf libsasl2-modules-db libsasl2-modules-db:armhf libselinux1:armhf libselinux1-dev:armhf libsensors-config libsensors5 libsensors5:armhf libsepol1:armhf libsepol1-dev:armhf libshine3:armhf libsigsegv2 libsm6 libsm6:armhf libsnappy1v5:armhf libsndfile1:armhf libsocket++1:armhf libsodium-dev:armhf libsodium23:armhf libsoup-gnome2.4-1:armhf libsoup2.4-1:armhf libsoxr0:armhf libspatialite7:armhf libspdlog-dev:armhf libspdlog1:armhf libspeex1:armhf libsqlite3-0 libsqlite3-0:armhf libsrt1.4-gnutls:armhf libssh-gcrypt-4:armhf libssh2-1 libssh2-1:armhf libssl-dev:armhf libssl1.1:armhf libstdc++-10-dev libstdc++-10-dev-armhf-cross libstdc++-9-dev:armhf libstdc++6:armhf libstdc++6-armhf-cross libsub-override-perl libsuperlu5:armhf libswresample-dev:armhf libswresample3:armhf libswscale-dev:armhf libswscale5:armhf libsystemd0:armhf libsz2:armhf libtasn1-6:armhf libtbb-dev:armhf libtbb2:armhf libtcl8.6:armhf libtesseract4:armhf libthai-data libthai0:armhf libtheora0:armhf libtiff-dev:armhf libtiff5 libtiff5:armhf libtiffxx5:armhf libtinfo6:armhf libtirpc-dev libtirpc-dev:armhf libtirpc3:armhf libtk8.6:armhf libtool libtweeny-dev libtwolame0:armhf libubsan1:armhf libubsan1-armhf-cross libuchardet0 libudev1:armhf libudfread0:armhf libunistring2:armhf libunwind-dev:armhf libunwind8 libunwind8:armhf liburiparser1:armhf libusb-1.0-0:armhf libuuid1:armhf libuv1 libva-drm2:armhf libva-x11-2:armhf libva2:armhf libvdpau1:armhf libvorbis0a:armhf libvorbisenc2:armhf libvorbisfile3:armhf libvpx6:armhf libvtk9:armhf libvulkan-dev:armhf libvulkan1 libvulkan1:armhf libwacom-common libwacom2 libwacom2:armhf libwavpack1:armhf libwayland-bin libwayland-client0 libwayland-client0:armhf libwayland-cursor0:armhf libwayland-dev:armhf libwayland-egl1:armhf libwayland-server0 libwayland-server0:armhf libwebp6 libwebp6:armhf libwebpmux3:armhf libwoff1 libwrap0:armhf libx11-6 libx11-6:armhf libx11-data libx11-dev:armhf libx11-xcb-dev:armhf libx11-xcb1 libx11-xcb1:armhf libx264-160:armhf libx265-192:armhf libxau-dev:armhf libxau6 libxau6:armhf libxcb-dri2-0 libxcb-dri2-0:armhf libxcb-dri3-0 libxcb-dri3-0:armhf libxcb-glx0 libxcb-glx0:armhf libxcb-icccm4 libxcb-icccm4:armhf libxcb-image0 libxcb-image0:armhf libxcb-keysyms1 libxcb-keysyms1:armhf libxcb-present0 libxcb-present0:armhf libxcb-randr0 libxcb-randr0:armhf libxcb-render-util0 libxcb-render-util0:armhf libxcb-render0 libxcb-render0:armhf libxcb-shape0 libxcb-shape0:armhf libxcb-shm0 libxcb-shm0:armhf libxcb-sync1 libxcb-sync1:armhf libxcb-util1 libxcb-util1:armhf libxcb-xfixes0 libxcb-xfixes0:armhf libxcb-xinerama0 libxcb-xinerama0:armhf libxcb-xinput0 libxcb-xinput0:armhf libxcb-xkb1 libxcb-xkb1:armhf libxcb1 libxcb1:armhf libxcb1-dev:armhf libxcomposite1:armhf libxcursor1:armhf libxdamage1 libxdamage1:armhf libxdmcp-dev:armhf libxdmcp6 libxdmcp6:armhf libxerces-c3.2:armhf libxext-dev:armhf libxext6 libxext6:armhf libxfixes3 libxfixes3:armhf libxft2:armhf libxi6:armhf libxinerama1:armhf libxkbcommon-x11-0 libxkbcommon-x11-0:armhf libxkbcommon0 libxkbcommon0:armhf libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-simple-perl libxml2 libxml2:armhf libxpm4:armhf libxrandr2:armhf libxrender1 libxrender1:armhf libxshmfence1 libxshmfence1:armhf libxslt1.1 libxss1:armhf libxvidcore4:armhf libxxf86vm1 libxxf86vm1:armhf libyaml-perl libz3-4 libz3-4:armhf libzmq5:armhf libzstd1:armhf libzvbi-common libzvbi0:armhf linux-libc-dev:armhf linux-libc-dev-armhf-cross m4 man-db mariadb-common media-types mysql-common nlohmann-json3-dev ocl-icd-libopencl1:armhf odbcinst odbcinst1debian2 odbcinst1debian2:armhf perl perl-modules-5.32 pkg-config po-debconf procps proj-data python3 python3-distutils python3-lib2to3 python3-minimal python3.9 python3.9-minimal qdoc-qt5 qhelpgenerator-qt5 qt5-assistant qt5-qmake:armhf qt5-qmake-bin qt5-qmltooling-plugins:armhf qt5keychain-dev:armhf qtattributionsscanner-qt5 qtbase5-dev:armhf qtbase5-dev-tools qtchooser qtdeclarative5-dev:armhf qtdeclarative5-dev-tools qtmultimedia5-dev:armhf qtquickcontrols2-5-dev:armhf qttools5-dev:armhf qttools5-dev-tools readline-common sbuild-build-depends-main-dummy:armhf sensible-utils shared-mime-info systemd systemd-sysv systemd-timesyncd ucf uuid-dev:armhf x11-common x11proto-dev x11proto-xext-dev xkb-data xorg-sgml-doctools xtrans-dev zlib1g:armhf zlib1g-dev:armhf 0 upgraded, 797 newly installed, 0 to remove and 0 not upgraded. Need to get 587 MB of archives. After this operation, 2358 MB of additional disk space will be used. Get:1 copy:/<>/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [1172 B] Get:2 http://debian.oregonstate.edu/debian unstable/main amd64 libapparmor1 amd64 2.13.6-9 [99.3 kB] Get:3 http://debian.oregonstate.edu/debian unstable/main amd64 libcap2 amd64 1:2.44-1 [23.6 kB] Get:4 http://debian.oregonstate.edu/debian unstable/main amd64 libargon2-1 amd64 0~20171227-0.2 [19.6 kB] Get:5 http://debian.oregonstate.edu/debian unstable/main amd64 dmsetup amd64 2:1.02.175-2 [92.1 kB] Get:6 http://debian.oregonstate.edu/debian unstable/main amd64 libdevmapper1.02.1 amd64 2:1.02.175-2 [143 kB] Get:7 http://debian.oregonstate.edu/debian unstable/main amd64 libjson-c5 amd64 0.15-2 [42.8 kB] Get:8 http://debian.oregonstate.edu/debian unstable/main amd64 libcryptsetup12 amd64 2:2.3.4-2 [242 kB] Get:9 http://debian.oregonstate.edu/debian unstable/main amd64 libip4tc2 amd64 1.8.7-1 [34.6 kB] Get:10 http://debian.oregonstate.edu/debian unstable/main amd64 libkmod2 amd64 28-1 [55.6 kB] Get:11 http://debian.oregonstate.edu/debian unstable/main amd64 systemd-timesyncd amd64 247.3-1 [130 kB] Get:12 http://debian.oregonstate.edu/debian unstable/main amd64 systemd amd64 247.3-1 [4493 kB] Get:13 http://debian.oregonstate.edu/debian unstable/main amd64 systemd-sysv amd64 247.3-1 [112 kB] Get:14 http://debian.oregonstate.edu/debian unstable/main amd64 libdbus-1-3 amd64 1.12.20-1 [217 kB] Get:15 http://debian.oregonstate.edu/debian unstable/main amd64 libexpat1 amd64 2.2.10-1 [96.9 kB] Get:16 http://debian.oregonstate.edu/debian unstable/main amd64 dbus amd64 1.12.20-1 [238 kB] Get:17 http://debian.oregonstate.edu/debian unstable/main amd64 bsdextrautils amd64 2.36.1-7 [145 kB] Get:18 http://debian.oregonstate.edu/debian unstable/main amd64 libuchardet0 amd64 0.0.7-1 [67.8 kB] Get:19 http://debian.oregonstate.edu/debian unstable/main amd64 groff-base amd64 1.22.4-6 [936 kB] Get:20 http://debian.oregonstate.edu/debian unstable/main amd64 libpipeline1 amd64 1.5.3-1 [34.3 kB] Get:21 http://debian.oregonstate.edu/debian unstable/main amd64 man-db amd64 2.9.4-1 [1354 kB] Get:22 http://debian.oregonstate.edu/debian unstable/main amd64 perl-modules-5.32 all 5.32.1-2 [2823 kB] Get:23 http://debian.oregonstate.edu/debian unstable/main amd64 libperl5.32 amd64 5.32.1-2 [4101 kB] Get:24 http://debian.oregonstate.edu/debian unstable/main amd64 perl amd64 5.32.1-2 [293 kB] Get:25 http://debian.oregonstate.edu/debian unstable/main amd64 liblocale-gettext-perl amd64 1.07-4+b1 [19.0 kB] Get:26 http://debian.oregonstate.edu/debian unstable/main armhf gcc-10-base armhf 10.2.1-6 [201 kB] Get:27 http://debian.oregonstate.edu/debian unstable/main armhf libgcc-s1 armhf 10.2.1-6 [36.2 kB] Get:28 http://debian.oregonstate.edu/debian unstable/main armhf libcrypt1 armhf 1:4.4.17-1 [94.9 kB] Get:29 http://debian.oregonstate.edu/debian unstable/main armhf libc6 armhf 2.31-9 [2328 kB] Get:30 http://debian.oregonstate.edu/debian unstable/main amd64 libglib2.0-0 amd64 2.66.7-1 [1369 kB] Get:31 http://debian.oregonstate.edu/debian unstable/main amd64 libicu67 amd64 67.1-6 [8625 kB] Get:32 http://debian.oregonstate.edu/debian unstable/main amd64 libxml2 amd64 2.9.10+dfsg-6.3+b1 [693 kB] Get:33 http://debian.oregonstate.edu/debian unstable/main amd64 shared-mime-info amd64 2.0-1 [701 kB] Get:34 http://debian.oregonstate.edu/debian unstable/main armhf libstdc++6 armhf 10.2.1-6 [421 kB] Get:35 http://debian.oregonstate.edu/debian unstable/main armhf libdouble-conversion3 armhf 3.1.5-6.1 [39.0 kB] Get:36 http://debian.oregonstate.edu/debian unstable/main armhf libffi7 armhf 3.3-5 [19.9 kB] Get:37 http://debian.oregonstate.edu/debian unstable/main armhf libblkid1 armhf 2.36.1-7 [180 kB] Get:38 http://debian.oregonstate.edu/debian unstable/main armhf libpcre2-8-0 armhf 10.36-2 [212 kB] Get:39 http://debian.oregonstate.edu/debian unstable/main armhf libselinux1 armhf 3.1-3 [79.9 kB] Get:40 http://debian.oregonstate.edu/debian unstable/main armhf libmount1 armhf 2.36.1-7 [195 kB] Get:41 http://debian.oregonstate.edu/debian unstable/main armhf libpcre3 armhf 2:8.39-13 [322 kB] Get:42 http://debian.oregonstate.edu/debian unstable/main armhf zlib1g armhf 1:1.2.11.dfsg-2 [85.4 kB] Get:43 http://debian.oregonstate.edu/debian unstable/main armhf libglib2.0-0 armhf 2.66.7-1 [1206 kB] Get:44 http://debian.oregonstate.edu/debian unstable/main armhf libicu67 armhf 67.1-6 [8320 kB] Get:45 http://debian.oregonstate.edu/debian unstable/main armhf libpcre2-16-0 armhf 10.36-2 [197 kB] Get:46 http://debian.oregonstate.edu/debian unstable/main armhf libzstd1 armhf 1.4.8+dfsg-1 [274 kB] Get:47 http://debian.oregonstate.edu/debian unstable/main armhf libqt5core5a armhf 5.15.2+dfsg-4 [1557 kB] Get:48 http://debian.oregonstate.edu/debian unstable/main amd64 libbrotli1 amd64 1.0.9-2+b2 [279 kB] Get:49 http://debian.oregonstate.edu/debian unstable/main amd64 libpng16-16 amd64 1.6.37-3 [294 kB] Get:50 http://debian.oregonstate.edu/debian unstable/main amd64 libfreetype6 amd64 2.10.4+dfsg-1 [418 kB] Get:51 http://debian.oregonstate.edu/debian unstable/main amd64 sensible-utils all 0.0.14 [14.8 kB] Get:52 http://debian.oregonstate.edu/debian unstable/main amd64 ucf all 3.0043 [74.0 kB] Get:53 http://debian.oregonstate.edu/debian unstable/main amd64 fonts-dejavu-core all 2.37-2 [1069 kB] Get:54 http://debian.oregonstate.edu/debian unstable/main amd64 fontconfig-config all 2.13.1-4.2 [281 kB] Get:55 http://debian.oregonstate.edu/debian unstable/main amd64 libfontconfig1 amd64 2.13.1-4.2 [347 kB] Get:56 http://debian.oregonstate.edu/debian unstable/main amd64 fontconfig amd64 2.13.1-4.2 [417 kB] Get:57 http://debian.oregonstate.edu/debian unstable/main amd64 libdrm-common all 2.4.104-1 [14.9 kB] Get:58 http://debian.oregonstate.edu/debian unstable/main armhf libdrm2 armhf 2.4.104-1 [37.7 kB] Get:59 http://debian.oregonstate.edu/debian unstable/main armhf libglvnd0 armhf 1.3.2-1 [51.8 kB] Get:60 http://debian.oregonstate.edu/debian unstable/main armhf libexpat1 armhf 2.2.10-1 [76.2 kB] Get:61 http://debian.oregonstate.edu/debian unstable/main armhf libwayland-server0 armhf 1.18.0-2~exp1.1 [28.1 kB] Get:62 http://debian.oregonstate.edu/debian unstable/main armhf libgbm1 armhf 20.3.4-1 [70.1 kB] Get:63 http://debian.oregonstate.edu/debian unstable/main armhf libglapi-mesa armhf 20.3.4-1 [80.2 kB] Get:64 http://debian.oregonstate.edu/debian unstable/main armhf libwayland-client0 armhf 1.18.0-2~exp1.1 [22.1 kB] Get:65 http://debian.oregonstate.edu/debian unstable/main armhf libxau6 armhf 1:1.0.9-1 [19.0 kB] Get:66 http://debian.oregonstate.edu/debian unstable/main armhf libmd0 armhf 1.0.3-3 [27.4 kB] Get:67 http://debian.oregonstate.edu/debian unstable/main armhf libbsd0 armhf 0.11.3-1 [103 kB] Get:68 http://debian.oregonstate.edu/debian unstable/main armhf libxdmcp6 armhf 1:1.1.2-3 [24.9 kB] Get:69 http://debian.oregonstate.edu/debian unstable/main armhf libxcb1 armhf 1.14-3 [136 kB] Get:70 http://debian.oregonstate.edu/debian unstable/main amd64 libx11-data all 2:1.7.0-2 [310 kB] Get:71 http://debian.oregonstate.edu/debian unstable/main armhf libx11-6 armhf 2:1.7.0-2 [712 kB] Get:72 http://debian.oregonstate.edu/debian unstable/main armhf libx11-xcb1 armhf 2:1.7.0-2 [203 kB] Get:73 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-dri2-0 armhf 1.14-3 [103 kB] Get:74 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-dri3-0 armhf 1.14-3 [102 kB] Get:75 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-present0 armhf 1.14-3 [101 kB] Get:76 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-sync1 armhf 1.14-3 [104 kB] Get:77 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-xfixes0 armhf 1.14-3 [105 kB] Get:78 http://debian.oregonstate.edu/debian unstable/main armhf libxshmfence1 armhf 1.3-1 [8592 B] Get:79 http://debian.oregonstate.edu/debian unstable/main armhf libegl-mesa0 armhf 20.3.4-1 [123 kB] Get:80 http://debian.oregonstate.edu/debian unstable/main armhf libegl1 armhf 1.3.2-1 [29.5 kB] Get:81 http://debian.oregonstate.edu/debian unstable/main armhf libbrotli1 armhf 1.0.9-2+b2 [262 kB] Get:82 http://debian.oregonstate.edu/debian unstable/main armhf libpng16-16 armhf 1.6.37-3 [277 kB] Get:83 http://debian.oregonstate.edu/debian unstable/main armhf libfreetype6 armhf 2.10.4+dfsg-1 [357 kB] Get:84 http://debian.oregonstate.edu/debian unstable/main armhf libuuid1 armhf 2.36.1-7 [82.6 kB] Get:85 http://debian.oregonstate.edu/debian unstable/main armhf libfontconfig1 armhf 2.13.1-4.2 [329 kB] Get:86 http://debian.oregonstate.edu/debian unstable/main armhf libgles2 armhf 1.3.2-1 [18.2 kB] Get:87 http://debian.oregonstate.edu/debian unstable/main armhf libgraphite2-3 armhf 1.3.14-1 [70.5 kB] Get:88 http://debian.oregonstate.edu/debian unstable/main armhf libharfbuzz0b armhf 2.7.4-1 [1427 kB] Get:89 http://debian.oregonstate.edu/debian unstable/main amd64 x11-common all 1:7.7+21 [252 kB] Get:90 http://debian.oregonstate.edu/debian unstable/main armhf libice6 armhf 2:1.0.10-1 [51.9 kB] Get:91 http://debian.oregonstate.edu/debian unstable/main armhf libevdev2 armhf 1.11.0+dfsg-1 [28.1 kB] Get:92 http://debian.oregonstate.edu/debian unstable/main armhf libmtdev1 armhf 1.1.6-1 [21.9 kB] Get:93 http://debian.oregonstate.edu/debian unstable/main armhf libudev1 armhf 247.3-1 [160 kB] Get:94 http://debian.oregonstate.edu/debian unstable/main armhf libgudev-1.0-0 armhf 234-1 [12.7 kB] Get:95 http://debian.oregonstate.edu/debian unstable/main amd64 libwacom-common all 1.8-2 [49.7 kB] Get:96 http://debian.oregonstate.edu/debian unstable/main armhf libwacom2 armhf 1.8-2 [19.1 kB] Get:97 http://debian.oregonstate.edu/debian unstable/main amd64 libevdev2 amd64 1.11.0+dfsg-1 [34.0 kB] Get:98 http://debian.oregonstate.edu/debian unstable/main amd64 libgudev-1.0-0 amd64 234-1 [14.7 kB] Get:99 http://debian.oregonstate.edu/debian unstable/main amd64 libwacom2 amd64 1.8-2 [21.9 kB] Get:100 http://debian.oregonstate.edu/debian unstable/main amd64 libinput-bin amd64 1.16.4-3 [23.0 kB] Get:101 http://debian.oregonstate.edu/debian unstable/main armhf libinput10 armhf 1.16.4-3 [101 kB] Get:102 http://debian.oregonstate.edu/debian unstable/main armhf libjpeg62-turbo armhf 1:2.0.5-2 [121 kB] Get:103 http://debian.oregonstate.edu/debian unstable/main armhf libmd4c0 armhf 0.4.7-1 [39.3 kB] Get:104 http://debian.oregonstate.edu/debian unstable/main armhf libgpg-error0 armhf 1.38-2 [69.0 kB] Get:105 http://debian.oregonstate.edu/debian unstable/main armhf libgcrypt20 armhf 1.8.7-2 [503 kB] Get:106 http://debian.oregonstate.edu/debian unstable/main armhf liblz4-1 armhf 1.9.3-1 [50.4 kB] Get:107 http://debian.oregonstate.edu/debian unstable/main armhf liblzma5 armhf 5.2.5-1.0 [159 kB] Get:108 http://debian.oregonstate.edu/debian unstable/main armhf libsystemd0 armhf 247.3-1 [350 kB] Get:109 http://debian.oregonstate.edu/debian unstable/main armhf libdbus-1-3 armhf 1.12.20-1 [194 kB] Get:110 http://debian.oregonstate.edu/debian unstable/main armhf libqt5dbus5 armhf 5.15.2+dfsg-4 [217 kB] Get:111 http://debian.oregonstate.edu/debian unstable/main armhf libssl1.1 armhf 1.1.1i-3 [1308 kB] Get:112 http://debian.oregonstate.edu/debian unstable/main armhf libcom-err2 armhf 1.46.1-1 [72.9 kB] Get:113 http://debian.oregonstate.edu/debian unstable/main armhf libkrb5support0 armhf 1.18.3-4 [62.3 kB] Get:114 http://debian.oregonstate.edu/debian unstable/main armhf libk5crypto3 armhf 1.18.3-4 [110 kB] Get:115 http://debian.oregonstate.edu/debian unstable/main armhf libkeyutils1 armhf 1.6.1-2 [14.4 kB] Get:116 http://debian.oregonstate.edu/debian unstable/main armhf libkrb5-3 armhf 1.18.3-4 [319 kB] Get:117 http://debian.oregonstate.edu/debian unstable/main armhf libgssapi-krb5-2 armhf 1.18.3-4 [143 kB] Get:118 http://debian.oregonstate.edu/debian unstable/main armhf libqt5network5 armhf 5.15.2+dfsg-4 [617 kB] Get:119 http://debian.oregonstate.edu/debian unstable/main armhf libsm6 armhf 2:1.2.3-1 [33.0 kB] Get:120 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-icccm4 armhf 0.4.1-1.1 [26.3 kB] Get:121 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-shm0 armhf 1.14-3 [101 kB] Get:122 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-util1 armhf 0.4.0-1+b1 [22.2 kB] Get:123 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-image0 armhf 0.4.0-1+b3 [23.2 kB] Get:124 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-keysyms1 armhf 0.4.0-1+b2 [15.8 kB] Get:125 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-randr0 armhf 1.14-3 [112 kB] Get:126 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-render0 armhf 1.14-3 [110 kB] Get:127 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-render-util0 armhf 0.3.9-1+b1 [17.4 kB] Get:128 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-shape0 armhf 1.14-3 [102 kB] Get:129 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-xinerama0 armhf 1.14-3 [101 kB] Get:130 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-xinput0 armhf 1.14-3 [124 kB] Get:131 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-xkb1 armhf 1.14-3 [122 kB] Get:132 http://debian.oregonstate.edu/debian unstable/main amd64 xkb-data all 2.29-2 [655 kB] Get:133 http://debian.oregonstate.edu/debian unstable/main armhf libxkbcommon0 armhf 1.0.3-2 [89.8 kB] Get:134 http://debian.oregonstate.edu/debian unstable/main armhf libxkbcommon-x11-0 armhf 1.0.3-2 [15.1 kB] Get:135 http://debian.oregonstate.edu/debian unstable/main armhf libxrender1 armhf 1:0.9.10-1 [29.9 kB] Get:136 http://debian.oregonstate.edu/debian unstable/main armhf libqt5gui5 armhf 5.15.2+dfsg-4 [2628 kB] Get:137 http://debian.oregonstate.edu/debian unstable/main armhf libqt5widgets5 armhf 5.15.2+dfsg-4 [2117 kB] Get:138 http://debian.oregonstate.edu/debian unstable/main armhf libqt5svg5 armhf 5.15.2-2 [118 kB] Get:139 http://debian.oregonstate.edu/debian unstable/main armhf libqt5svg5-dev armhf 5.15.2-2 [15.6 kB] Get:140 http://debian.oregonstate.edu/debian unstable/main amd64 libelf1 amd64 0.183-1 [165 kB] Get:141 http://debian.oregonstate.edu/debian unstable/main amd64 libdw1 amd64 0.183-1 [234 kB] Get:142 http://debian.oregonstate.edu/debian unstable/main amd64 libunwind8 amd64 1.3.2-2 [54.5 kB] Get:143 http://debian.oregonstate.edu/debian unstable/main amd64 libcap2-bin amd64 1:2.44-1 [32.6 kB] Get:144 http://debian.oregonstate.edu/debian unstable/main amd64 libgstreamer1.0-0 amd64 1.18.3-1 [2228 kB] Get:145 http://debian.oregonstate.edu/debian unstable/main amd64 liborc-0.4-0 amd64 1:0.4.32-1 [192 kB] Get:146 http://debian.oregonstate.edu/debian unstable/main amd64 iso-codes all 4.5.0-1 [2793 kB] Get:147 http://debian.oregonstate.edu/debian unstable/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.18.3-1 [2153 kB] Get:148 http://debian.oregonstate.edu/debian unstable/main amd64 libhyphen0 amd64 2.8.8-7 [32.5 kB] Get:149 http://debian.oregonstate.edu/debian unstable/main amd64 libjpeg62-turbo amd64 1:2.0.5-2 [149 kB] Get:150 http://debian.oregonstate.edu/debian unstable/main amd64 libdouble-conversion3 amd64 3.1.5-6.1 [41.0 kB] Get:151 http://debian.oregonstate.edu/debian unstable/main amd64 libpcre2-16-0 amd64 10.36-2 [231 kB] Get:152 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5core5a amd64 5.15.2+dfsg-4 [1822 kB] Get:153 http://debian.oregonstate.edu/debian unstable/main amd64 libdrm2 amd64 2.4.104-1 [41.5 kB] Get:154 http://debian.oregonstate.edu/debian unstable/main amd64 libglvnd0 amd64 1.3.2-1 [53.6 kB] Get:155 http://debian.oregonstate.edu/debian unstable/main amd64 libwayland-server0 amd64 1.18.0-2~exp1.1 [34.4 kB] Get:156 http://debian.oregonstate.edu/debian unstable/main amd64 libgbm1 amd64 20.3.4-1 [73.4 kB] Get:157 http://debian.oregonstate.edu/debian unstable/main amd64 libglapi-mesa amd64 20.3.4-1 [72.0 kB] Get:158 http://debian.oregonstate.edu/debian unstable/main amd64 libwayland-client0 amd64 1.18.0-2~exp1.1 [26.9 kB] Get:159 http://debian.oregonstate.edu/debian unstable/main amd64 libxau6 amd64 1:1.0.9-1 [19.7 kB] Get:160 http://debian.oregonstate.edu/debian unstable/main amd64 libmd0 amd64 1.0.3-3 [28.0 kB] Get:161 http://debian.oregonstate.edu/debian unstable/main amd64 libbsd0 amd64 0.11.3-1 [108 kB] Get:162 http://debian.oregonstate.edu/debian unstable/main amd64 libxdmcp6 amd64 1:1.1.2-3 [26.3 kB] Get:163 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb1 amd64 1.14-3 [140 kB] Get:164 http://debian.oregonstate.edu/debian unstable/main amd64 libx11-6 amd64 2:1.7.0-2 [771 kB] Get:165 http://debian.oregonstate.edu/debian unstable/main amd64 libx11-xcb1 amd64 2:1.7.0-2 [203 kB] Get:166 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-dri2-0 amd64 1.14-3 [103 kB] Get:167 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-dri3-0 amd64 1.14-3 [102 kB] Get:168 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-present0 amd64 1.14-3 [101 kB] Get:169 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-sync1 amd64 1.14-3 [105 kB] Get:170 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-xfixes0 amd64 1.14-3 [105 kB] Get:171 http://debian.oregonstate.edu/debian unstable/main amd64 libxshmfence1 amd64 1.3-1 [8820 B] Get:172 http://debian.oregonstate.edu/debian unstable/main amd64 libegl-mesa0 amd64 20.3.4-1 [141 kB] Get:173 http://debian.oregonstate.edu/debian unstable/main amd64 libegl1 amd64 1.3.2-1 [34.8 kB] Get:174 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-glx0 amd64 1.14-3 [118 kB] Get:175 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-shm0 amd64 1.14-3 [101 kB] Get:176 http://debian.oregonstate.edu/debian unstable/main amd64 libxdamage1 amd64 1:1.1.5-2 [15.7 kB] Get:177 http://debian.oregonstate.edu/debian unstable/main amd64 libxext6 amd64 2:1.3.3-1.1 [52.7 kB] Get:178 http://debian.oregonstate.edu/debian unstable/main amd64 libxfixes3 amd64 1:5.0.3-2 [22.1 kB] Get:179 http://debian.oregonstate.edu/debian unstable/main amd64 libxxf86vm1 amd64 1:1.1.4-1+b2 [20.8 kB] Get:180 http://debian.oregonstate.edu/debian unstable/main amd64 libdrm-amdgpu1 amd64 2.4.104-1 [28.5 kB] Get:181 http://debian.oregonstate.edu/debian unstable/main amd64 libpciaccess0 amd64 0.16-1 [53.6 kB] Get:182 http://debian.oregonstate.edu/debian unstable/main amd64 libdrm-intel1 amd64 2.4.104-1 [71.8 kB] Get:183 http://debian.oregonstate.edu/debian unstable/main amd64 libdrm-nouveau2 amd64 2.4.104-1 [26.8 kB] Get:184 http://debian.oregonstate.edu/debian unstable/main amd64 libdrm-radeon1 amd64 2.4.104-1 [30.2 kB] Get:185 http://debian.oregonstate.edu/debian unstable/main amd64 libedit2 amd64 3.1-20191231-2+b1 [96.7 kB] Get:186 http://debian.oregonstate.edu/debian unstable/main amd64 libz3-4 amd64 4.8.10-1 [6949 kB] Get:187 http://debian.oregonstate.edu/debian unstable/main amd64 libllvm11 amd64 1:11.0.1-2 [17.9 MB] Get:188 http://debian.oregonstate.edu/debian unstable/main amd64 libsensors-config all 1:3.6.0-7 [32.3 kB] Get:189 http://debian.oregonstate.edu/debian unstable/main amd64 libsensors5 amd64 1:3.6.0-7 [52.3 kB] Get:190 http://debian.oregonstate.edu/debian unstable/main amd64 libvulkan1 amd64 1.2.162.0-1 [103 kB] Get:191 http://debian.oregonstate.edu/debian unstable/main amd64 libgl1-mesa-dri amd64 20.3.4-1 [9629 kB] Get:192 http://debian.oregonstate.edu/debian unstable/main amd64 libglx-mesa0 amd64 20.3.4-1 [186 kB] Get:193 http://debian.oregonstate.edu/debian unstable/main amd64 libglx0 amd64 1.3.2-1 [35.7 kB] Get:194 http://debian.oregonstate.edu/debian unstable/main amd64 libgl1 amd64 1.3.2-1 [89.5 kB] Get:195 http://debian.oregonstate.edu/debian unstable/main amd64 libgraphite2-3 amd64 1.3.14-1 [81.2 kB] Get:196 http://debian.oregonstate.edu/debian unstable/main amd64 libharfbuzz0b amd64 2.7.4-1 [1471 kB] Get:197 http://debian.oregonstate.edu/debian unstable/main amd64 libice6 amd64 2:1.0.10-1 [58.5 kB] Get:198 http://debian.oregonstate.edu/debian unstable/main amd64 libmtdev1 amd64 1.1.6-1 [23.0 kB] Get:199 http://debian.oregonstate.edu/debian unstable/main amd64 libinput10 amd64 1.16.4-3 [118 kB] Get:200 http://debian.oregonstate.edu/debian unstable/main amd64 libmd4c0 amd64 0.4.7-1 [43.7 kB] Get:201 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5dbus5 amd64 5.15.2+dfsg-4 [228 kB] Get:202 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5network5 amd64 5.15.2+dfsg-4 [657 kB] Get:203 http://debian.oregonstate.edu/debian unstable/main amd64 libsm6 amd64 2:1.2.3-1 [35.1 kB] Get:204 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-icccm4 amd64 0.4.1-1.1 [27.4 kB] Get:205 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-util1 amd64 0.4.0-1+b1 [23.2 kB] Get:206 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-image0 amd64 0.4.0-1+b3 [24.3 kB] Get:207 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-keysyms1 amd64 0.4.0-1+b2 [16.4 kB] Get:208 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-randr0 amd64 1.14-3 [113 kB] Get:209 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-render0 amd64 1.14-3 [111 kB] Get:210 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-render-util0 amd64 0.3.9-1+b1 [18.3 kB] Get:211 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-shape0 amd64 1.14-3 [102 kB] Get:212 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-xinerama0 amd64 1.14-3 [101 kB] Get:213 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-xinput0 amd64 1.14-3 [126 kB] Get:214 http://debian.oregonstate.edu/debian unstable/main amd64 libxcb-xkb1 amd64 1.14-3 [126 kB] Get:215 http://debian.oregonstate.edu/debian unstable/main amd64 libxkbcommon0 amd64 1.0.3-2 [101 kB] Get:216 http://debian.oregonstate.edu/debian unstable/main amd64 libxkbcommon-x11-0 amd64 1.0.3-2 [16.6 kB] Get:217 http://debian.oregonstate.edu/debian unstable/main amd64 libxrender1 amd64 1:0.9.10-1 [33.0 kB] Get:218 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5gui5 amd64 5.15.2+dfsg-4 [3319 kB] Get:219 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5positioning5 amd64 5.15.2+dfsg-2 [206 kB] Get:220 http://debian.oregonstate.edu/debian unstable/main amd64 libavahi-common-data amd64 0.8-5 [124 kB] Get:221 http://debian.oregonstate.edu/debian unstable/main amd64 libavahi-common3 amd64 0.8-5 [58.4 kB] Get:222 http://debian.oregonstate.edu/debian unstable/main amd64 libavahi-client3 amd64 0.8-5 [62.1 kB] Get:223 http://debian.oregonstate.edu/debian unstable/main amd64 libcups2 amd64 2.3.3op2-3 [349 kB] Get:224 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5widgets5 amd64 5.15.2+dfsg-4 [2346 kB] Get:225 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5printsupport5 amd64 5.15.2+dfsg-4 [221 kB] Get:226 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5qml5 amd64 5.15.2+dfsg-4 [1318 kB] Get:227 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5qmlmodels5 amd64 5.15.2+dfsg-4 [193 kB] Get:228 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5quick5 amd64 5.15.2+dfsg-4 [1558 kB] Get:229 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5sensors5 amd64 5.15.2-2 [112 kB] Get:230 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5webchannel5 amd64 5.15.2-2 [58.0 kB] Get:231 http://debian.oregonstate.edu/debian unstable/main amd64 libsqlite3-0 amd64 3.34.1-2 [797 kB] Get:232 http://debian.oregonstate.edu/debian unstable/main amd64 libwebp6 amd64 0.6.1-2+b1 [261 kB] Get:233 http://debian.oregonstate.edu/debian unstable/main amd64 libwoff1 amd64 1.0.2-1+b1 [42.4 kB] Get:234 http://debian.oregonstate.edu/debian unstable/main amd64 libxslt1.1 amd64 1.1.34-4 [239 kB] Get:235 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5webkit5 amd64 5.212.0~alpha4-11 [11.7 MB] Get:236 http://debian.oregonstate.edu/debian unstable/main amd64 libpython3.9-minimal amd64 3.9.1-4 [800 kB] Get:237 http://debian.oregonstate.edu/debian unstable/main amd64 python3.9-minimal amd64 3.9.1-4 [1956 kB] Get:238 http://debian.oregonstate.edu/debian unstable/main amd64 python3-minimal amd64 3.9.1-1 [37.8 kB] Get:239 http://debian.oregonstate.edu/debian unstable/main amd64 media-types all 4.0.0 [30.3 kB] Get:240 http://debian.oregonstate.edu/debian unstable/main amd64 libmpdec3 amd64 2.5.1-1 [87.7 kB] Get:241 http://debian.oregonstate.edu/debian unstable/main amd64 readline-common all 8.1-1 [73.7 kB] Get:242 http://debian.oregonstate.edu/debian unstable/main amd64 libreadline8 amd64 8.1-1 [169 kB] Get:243 http://debian.oregonstate.edu/debian unstable/main amd64 libpython3.9-stdlib amd64 3.9.1-4 [1683 kB] Get:244 http://debian.oregonstate.edu/debian unstable/main amd64 python3.9 amd64 3.9.1-4 [465 kB] Get:245 http://debian.oregonstate.edu/debian unstable/main amd64 libpython3-stdlib amd64 3.9.1-1 [21.0 kB] Get:246 http://debian.oregonstate.edu/debian unstable/main amd64 python3 amd64 3.9.1-1 [64.1 kB] Get:247 http://debian.oregonstate.edu/debian unstable/main armhf gcc-9-base armhf 9.3.0-22 [198 kB] Get:248 http://debian.oregonstate.edu/debian unstable/main amd64 libncurses6 amd64 6.2+20201114-2 [102 kB] Get:249 http://debian.oregonstate.edu/debian unstable/main amd64 libprocps8 amd64 2:3.3.17-3 [63.8 kB] Get:250 http://debian.oregonstate.edu/debian unstable/main amd64 procps amd64 2:3.3.17-3 [501 kB] Get:251 http://debian.oregonstate.edu/debian unstable/main amd64 libmagic-mgc amd64 1:5.39-3 [273 kB] Get:252 http://debian.oregonstate.edu/debian unstable/main amd64 libmagic1 amd64 1:5.39-3 [126 kB] Get:253 http://debian.oregonstate.edu/debian unstable/main amd64 file amd64 1:5.39-3 [69.1 kB] Get:254 http://debian.oregonstate.edu/debian unstable/main amd64 gettext-base amd64 0.21-4 [175 kB] Get:255 http://debian.oregonstate.edu/debian unstable/main amd64 libpam-systemd amd64 247.3-1 [281 kB] Get:256 http://debian.oregonstate.edu/debian unstable/main amd64 hicolor-icon-theme all 0.17-2 [11.4 kB] Get:257 http://debian.oregonstate.edu/debian unstable/main amd64 libgdk-pixbuf2.0-common all 2.42.2+dfsg-1 [320 kB] Get:258 http://debian.oregonstate.edu/debian unstable/main amd64 libdeflate0 amd64 1.7-1 [53.1 kB] Get:259 http://debian.oregonstate.edu/debian unstable/main amd64 libjbig0 amd64 2.1-3.1+b2 [31.0 kB] Get:260 http://debian.oregonstate.edu/debian unstable/main amd64 libtiff5 amd64 4.2.0-1 [289 kB] Get:261 http://debian.oregonstate.edu/debian unstable/main amd64 libgdk-pixbuf-2.0-0 amd64 2.42.2+dfsg-1 [146 kB] Get:262 http://debian.oregonstate.edu/debian unstable/main amd64 gtk-update-icon-cache amd64 3.24.24-1 [86.4 kB] Get:263 http://debian.oregonstate.edu/debian unstable/main amd64 adwaita-icon-theme all 3.38.0-1 [10.9 MB] Get:264 http://debian.oregonstate.edu/debian unstable/main amd64 libsigsegv2 amd64 2.13-1 [34.8 kB] Get:265 http://debian.oregonstate.edu/debian unstable/main amd64 m4 amd64 1.4.18-5 [204 kB] Get:266 http://debian.oregonstate.edu/debian unstable/main amd64 autoconf all 2.69-14 [313 kB] Get:267 http://debian.oregonstate.edu/debian unstable/main amd64 autotools-dev all 20180224.1+nmu1 [77.1 kB] Get:268 http://debian.oregonstate.edu/debian unstable/main amd64 automake all 1:1.16.3-2 [814 kB] Get:269 http://debian.oregonstate.edu/debian unstable/main amd64 autopoint all 0.21-4 [510 kB] Get:270 http://debian.oregonstate.edu/debian unstable/main amd64 binutils-arm-linux-gnueabihf amd64 2.35.1-7 [2779 kB] Get:271 http://debian.oregonstate.edu/debian unstable/main amd64 libcrypt-dev amd64 1:4.4.17-1 [104 kB] Get:272 http://debian.oregonstate.edu/debian unstable/main amd64 libtirpc-dev amd64 1.3.1-1 [190 kB] Get:273 http://debian.oregonstate.edu/debian unstable/main amd64 libnsl-dev amd64 1.3.0-2 [66.4 kB] Get:274 http://debian.oregonstate.edu/debian unstable/main amd64 libc6-dev amd64 2.31-9 [2346 kB] Get:275 http://debian.oregonstate.edu/debian unstable/main amd64 libstdc++-10-dev amd64 10.2.1-6 [1741 kB] Get:276 http://debian.oregonstate.edu/debian unstable/main amd64 g++-10 amd64 10.2.1-6 [9380 kB] Get:277 http://debian.oregonstate.edu/debian unstable/main amd64 g++ amd64 4:10.2.1-1 [1644 B] Get:278 http://debian.oregonstate.edu/debian unstable/main amd64 libdpkg-perl all 1.20.7.1 [1537 kB] Get:279 http://debian.oregonstate.edu/debian unstable/main amd64 dpkg-dev all 1.20.7.1 [2149 kB] Get:280 http://debian.oregonstate.edu/debian unstable/main amd64 build-essential amd64 12.9 [7704 B] Get:281 http://debian.oregonstate.edu/debian unstable/main amd64 cmake-data all 3.18.4-2 [1725 kB] Get:282 http://debian.oregonstate.edu/debian unstable/main amd64 libarchive13 amd64 3.4.3-2 [342 kB] Get:283 http://debian.oregonstate.edu/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-2.1 [69.1 kB] Get:284 http://debian.oregonstate.edu/debian unstable/main amd64 libsasl2-2 amd64 2.1.27+dfsg-2.1 [106 kB] Get:285 http://debian.oregonstate.edu/debian unstable/main amd64 libldap-2.4-2 amd64 2.4.57+dfsg-1 [232 kB] Get:286 http://debian.oregonstate.edu/debian unstable/main amd64 libnghttp2-14 amd64 1.43.0-1 [77.1 kB] Get:287 http://debian.oregonstate.edu/debian unstable/main amd64 libpsl5 amd64 0.21.0-1.2 [57.3 kB] Get:288 http://debian.oregonstate.edu/debian unstable/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b2 [60.8 kB] Get:289 http://debian.oregonstate.edu/debian unstable/main amd64 libssh2-1 amd64 1.9.0-2 [156 kB] Get:290 http://debian.oregonstate.edu/debian unstable/main amd64 libcurl4 amd64 7.74.0-1.1 [341 kB] Get:291 http://debian.oregonstate.edu/debian unstable/main amd64 libjsoncpp24 amd64 1.9.4-4 [78.9 kB] Get:292 http://debian.oregonstate.edu/debian unstable/main amd64 librhash0 amd64 1.4.1-1 [129 kB] Get:293 http://debian.oregonstate.edu/debian unstable/main amd64 libuv1 amd64 1.40.0-1 [132 kB] Get:294 http://debian.oregonstate.edu/debian unstable/main amd64 cmake amd64 3.18.4-2 [5593 kB] Get:295 http://debian.oregonstate.edu/debian unstable/main amd64 gcc-10-arm-linux-gnueabihf-base amd64 10.2.1-6cross1 [202 kB] Get:296 http://debian.oregonstate.edu/debian unstable/main amd64 cpp-10-arm-linux-gnueabihf amd64 10.2.1-6cross1 [44.1 MB] Get:297 http://debian.oregonstate.edu/debian unstable/main amd64 cpp-arm-linux-gnueabihf amd64 4:10.2.1-1 [16.8 kB] Get:298 http://debian.oregonstate.edu/debian unstable/main amd64 cross-config all 2.6.15-3.1 [39.9 kB] Get:299 http://debian.oregonstate.edu/debian unstable/main amd64 gcc-10-cross-base all 10.2.1-6cross1 [197 kB] Get:300 http://debian.oregonstate.edu/debian unstable/main amd64 libc6-armhf-cross all 2.31-9cross2 [1094 kB] Get:301 http://debian.oregonstate.edu/debian unstable/main amd64 libgcc-s1-armhf-cross all 10.2.1-6cross1 [36.3 kB] Get:302 http://debian.oregonstate.edu/debian unstable/main amd64 libgomp1-armhf-cross all 10.2.1-6cross1 [82.6 kB] Get:303 http://debian.oregonstate.edu/debian unstable/main amd64 libatomic1-armhf-cross all 10.2.1-6cross1 [6688 B] Get:304 http://debian.oregonstate.edu/debian unstable/main amd64 libasan6-armhf-cross all 10.2.1-6cross1 [2010 kB] Get:305 http://debian.oregonstate.edu/debian unstable/main amd64 libstdc++6-armhf-cross all 10.2.1-6cross1 [381 kB] Get:306 http://debian.oregonstate.edu/debian unstable/main amd64 libubsan1-armhf-cross all 10.2.1-6cross1 [745 kB] Get:307 http://debian.oregonstate.edu/debian unstable/main amd64 libgcc-10-dev-armhf-cross all 10.2.1-6cross1 [694 kB] Get:308 http://debian.oregonstate.edu/debian unstable/main amd64 gcc-10-arm-linux-gnueabihf amd64 10.2.1-6cross1 [50.4 MB] Get:309 http://debian.oregonstate.edu/debian unstable/main amd64 gcc-arm-linux-gnueabihf amd64 4:10.2.1-1 [1468 B] Get:310 http://debian.oregonstate.edu/debian unstable/main amd64 linux-libc-dev-armhf-cross all 5.10.5-1cross2 [1341 kB] Get:311 http://debian.oregonstate.edu/debian unstable/main amd64 libc6-dev-armhf-cross all 2.31-9cross2 [1845 kB] Get:312 http://debian.oregonstate.edu/debian unstable/main amd64 libstdc++-10-dev-armhf-cross all 10.2.1-6cross1 [1760 kB] Get:313 http://debian.oregonstate.edu/debian unstable/main amd64 g++-10-arm-linux-gnueabihf amd64 10.2.1-6cross1 [47.1 MB] Get:314 http://debian.oregonstate.edu/debian unstable/main amd64 g++-arm-linux-gnueabihf amd64 4:10.2.1-1 [1184 B] Get:315 http://debian.oregonstate.edu/debian unstable/main amd64 libconfig-inifiles-perl all 3.000003-1 [52.1 kB] Get:316 http://debian.oregonstate.edu/debian unstable/main amd64 libio-string-perl all 1.08-3.1 [11.8 kB] Get:317 http://debian.oregonstate.edu/debian unstable/main amd64 libxml-namespacesupport-perl all 1.12-1.1 [14.9 kB] Get:318 http://debian.oregonstate.edu/debian unstable/main amd64 libxml-sax-base-perl all 1.09-1.1 [20.7 kB] Get:319 http://debian.oregonstate.edu/debian unstable/main amd64 libxml-sax-perl all 1.02+dfsg-1 [59.0 kB] Get:320 http://debian.oregonstate.edu/debian unstable/main amd64 libxml-libxml-perl amd64 2.0134+dfsg-2+b1 [337 kB] Get:321 http://debian.oregonstate.edu/debian unstable/main amd64 libxml-simple-perl all 2.25-1 [72.0 kB] Get:322 http://debian.oregonstate.edu/debian unstable/main amd64 libyaml-perl all 1.30-1 [67.7 kB] Get:323 http://debian.oregonstate.edu/debian unstable/main amd64 libconfig-auto-perl all 0.44-1.1 [19.0 kB] Get:324 http://debian.oregonstate.edu/debian unstable/main amd64 libfile-which-perl all 1.23-1 [16.6 kB] Get:325 http://debian.oregonstate.edu/debian unstable/main amd64 libfile-homedir-perl all 1.006-1 [43.8 kB] Get:326 http://debian.oregonstate.edu/debian unstable/main amd64 libdebian-dpkgcross-perl all 2.6.15-3.1 [38.9 kB] Get:327 http://debian.oregonstate.edu/debian unstable/main amd64 dpkg-cross all 2.6.15-3.1 [49.9 kB] Get:328 http://debian.oregonstate.edu/debian unstable/main amd64 crossbuild-essential-armhf all 12.9 [6708 B] Get:329 http://debian.oregonstate.edu/debian unstable/main amd64 dbus-user-session amd64 1.12.20-1 [96.0 kB] Get:330 http://debian.oregonstate.edu/debian unstable/main amd64 libdconf1 amd64 0.38.0-2 [43.5 kB] Get:331 http://debian.oregonstate.edu/debian unstable/main amd64 dconf-service amd64 0.38.0-2 [37.4 kB] Get:332 http://debian.oregonstate.edu/debian unstable/main amd64 dconf-gsettings-backend amd64 0.38.0-2 [30.6 kB] Get:333 http://debian.oregonstate.edu/debian unstable/main amd64 libdebhelper-perl all 13.3.3 [189 kB] Get:334 http://debian.oregonstate.edu/debian unstable/main amd64 libtool all 2.4.6-15 [513 kB] Get:335 http://debian.oregonstate.edu/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get:336 http://debian.oregonstate.edu/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get:337 http://debian.oregonstate.edu/debian unstable/main amd64 libsub-override-perl all 0.09-2 [10.2 kB] Get:338 http://debian.oregonstate.edu/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.11.0-1 [25.6 kB] Get:339 http://debian.oregonstate.edu/debian unstable/main amd64 dh-strip-nondeterminism all 1.11.0-1 [15.3 kB] Get:340 http://debian.oregonstate.edu/debian unstable/main amd64 dwz amd64 0.13+20210201-1 [175 kB] Get:341 http://debian.oregonstate.edu/debian unstable/main amd64 gettext amd64 0.21-4 [1311 kB] Get:342 http://debian.oregonstate.edu/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get:343 http://debian.oregonstate.edu/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get:344 http://debian.oregonstate.edu/debian unstable/main amd64 debhelper all 13.3.3 [1011 kB] Get:345 http://debian.oregonstate.edu/debian unstable/main amd64 dh-exec amd64 0.23.2 [26.6 kB] Get:346 http://debian.oregonstate.edu/debian unstable/main amd64 gdal-data all 3.2.1+dfsg-1 [461 kB] Get:347 http://debian.oregonstate.edu/debian unstable/main armhf libgirepository-1.0-1 armhf 1.66.1-1+b1 [83.9 kB] Get:348 http://debian.oregonstate.edu/debian unstable/main armhf gir1.2-glib-2.0 armhf 1.66.1-1+b1 [151 kB] Get:349 http://debian.oregonstate.edu/debian unstable/main armhf libcap2 armhf 1:2.44-1 [21.2 kB] Get:350 http://debian.oregonstate.edu/debian unstable/main armhf libbz2-1.0 armhf 1.0.8-4 [44.6 kB] Get:351 http://debian.oregonstate.edu/debian unstable/main armhf libelf1 armhf 0.183-1 [161 kB] Get:352 http://debian.oregonstate.edu/debian unstable/main armhf libdw1 armhf 0.183-1 [216 kB] Get:353 http://debian.oregonstate.edu/debian unstable/main armhf libunwind8 armhf 1.3.2-2 [48.0 kB] Get:354 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer1.0-0 armhf 1.18.3-1 [2151 kB] Get:355 http://debian.oregonstate.edu/debian unstable/main armhf gir1.2-gstreamer-1.0 armhf 1.18.3-1 [1211 kB] Get:356 http://debian.oregonstate.edu/debian unstable/main armhf libxcb-glx0 armhf 1.14-3 [116 kB] Get:357 http://debian.oregonstate.edu/debian unstable/main armhf libxdamage1 armhf 1:1.1.5-2 [15.1 kB] Get:358 http://debian.oregonstate.edu/debian unstable/main armhf libxext6 armhf 2:1.3.3-1.1 [47.8 kB] Get:359 http://debian.oregonstate.edu/debian unstable/main armhf libxfixes3 armhf 1:5.0.3-2 [20.6 kB] Get:360 http://debian.oregonstate.edu/debian unstable/main armhf libxxf86vm1 armhf 1:1.1.4-1+b2 [20.2 kB] Get:361 http://debian.oregonstate.edu/debian unstable/main armhf libdrm-amdgpu1 armhf 2.4.104-1 [27.1 kB] Get:362 http://debian.oregonstate.edu/debian unstable/main armhf libdrm-nouveau2 armhf 2.4.104-1 [24.6 kB] Get:363 http://debian.oregonstate.edu/debian unstable/main armhf libdrm-radeon1 armhf 2.4.104-1 [27.6 kB] Get:364 http://debian.oregonstate.edu/debian unstable/main armhf libtinfo6 armhf 6.2+20201114-2 [328 kB] Get:365 http://debian.oregonstate.edu/debian unstable/main armhf libedit2 armhf 3.1-20191231-2+b1 [81.1 kB] Get:366 http://debian.oregonstate.edu/debian unstable/main armhf libz3-4 armhf 4.8.10-1 [5959 kB] Get:367 http://debian.oregonstate.edu/debian unstable/main armhf libllvm11 armhf 1:11.0.1-2 [15.4 MB] Get:368 http://debian.oregonstate.edu/debian unstable/main armhf libsensors5 armhf 1:3.6.0-7 [49.6 kB] Get:369 http://debian.oregonstate.edu/debian unstable/main armhf libvulkan1 armhf 1.2.162.0-1 [84.3 kB] Get:370 http://debian.oregonstate.edu/debian unstable/main armhf libgl1-mesa-dri armhf 20.3.4-1 [6037 kB] Get:371 http://debian.oregonstate.edu/debian unstable/main armhf libglx-mesa0 armhf 20.3.4-1 [167 kB] Get:372 http://debian.oregonstate.edu/debian unstable/main armhf libglx0 armhf 1.3.2-1 [32.8 kB] Get:373 http://debian.oregonstate.edu/debian unstable/main armhf libgl1 armhf 1.3.2-1 [94.3 kB] Get:374 http://debian.oregonstate.edu/debian unstable/main armhf liborc-0.4-0 armhf 1:0.4.32-1 [157 kB] Get:375 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer-plugins-base1.0-0 armhf 1.18.3-1 [2074 kB] Get:376 http://debian.oregonstate.edu/debian unstable/main armhf libwayland-cursor0 armhf 1.18.0-2~exp1.1 [13.5 kB] Get:377 http://debian.oregonstate.edu/debian unstable/main armhf libwayland-egl1 armhf 1.18.0-2~exp1.1 [8192 B] Get:378 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer-gl1.0-0 armhf 1.18.3-1 [1495 kB] Get:379 http://debian.oregonstate.edu/debian unstable/main armhf gir1.2-gst-plugins-base-1.0 armhf 1.18.3-1 [1433 kB] Get:380 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer-plugins-bad1.0-0 armhf 1.18.3-1+b1 [2264 kB] Get:381 http://debian.oregonstate.edu/debian unstable/main armhf gir1.2-gst-plugins-bad-1.0 armhf 1.18.3-1+b1 [1938 kB] Get:382 http://debian.oregonstate.edu/debian unstable/main armhf libgmp10 armhf 2:6.2.1+dfsg-1 [516 kB] Get:383 http://debian.oregonstate.edu/debian unstable/main armhf libnettle8 armhf 3.7-2 [281 kB] Get:384 http://debian.oregonstate.edu/debian unstable/main armhf libhogweed6 armhf 3.7-2 [306 kB] Get:385 http://debian.oregonstate.edu/debian unstable/main armhf libunistring2 armhf 0.9.10-4 [374 kB] Get:386 http://debian.oregonstate.edu/debian unstable/main armhf libidn2-0 armhf 2.3.0-5 [83.4 kB] Get:387 http://debian.oregonstate.edu/debian unstable/main armhf libp11-kit0 armhf 0.23.22-1 [317 kB] Get:388 http://debian.oregonstate.edu/debian unstable/main armhf libtasn1-6 armhf 4.16.0-2 [50.2 kB] Get:389 http://debian.oregonstate.edu/debian unstable/main armhf libgnutls30 armhf 3.7.0-7 [1272 kB] Get:390 http://debian.oregonstate.edu/debian unstable/main armhf libproxy1v5 armhf 0.4.17-1 [54.4 kB] Get:391 http://debian.oregonstate.edu/debian unstable/main amd64 libproxy1v5 amd64 0.4.17-1 [59.5 kB] Get:392 http://debian.oregonstate.edu/debian unstable/main amd64 glib-networking-common all 2.66.0-2 [68.1 kB] Get:393 http://debian.oregonstate.edu/debian unstable/main amd64 glib-networking-services amd64 2.66.0-2 [17.5 kB] Get:394 http://debian.oregonstate.edu/debian unstable/main amd64 gsettings-desktop-schemas all 3.38.0-2 [588 kB] Get:395 http://debian.oregonstate.edu/debian unstable/main armhf glib-networking armhf 2.66.0-2 [61.4 kB] Get:396 http://debian.oregonstate.edu/debian unstable/main amd64 icu-devtools amd64 67.1-6 [201 kB] Get:397 http://debian.oregonstate.edu/debian unstable/main armhf libacl1 armhf 2.2.53-10 [28.5 kB] Get:398 http://debian.oregonstate.edu/debian unstable/main armhf libaec0 armhf 1.0.4-1 [20.4 kB] Get:399 http://debian.oregonstate.edu/debian unstable/main armhf libaom0 armhf 1.0.0.errata1-3 [821 kB] Get:400 http://debian.oregonstate.edu/debian unstable/main armhf libxml2 armhf 2.9.10+dfsg-6.3+b1 [602 kB] Get:401 http://debian.oregonstate.edu/debian unstable/main armhf libarchive13 armhf 3.4.3-2 [303 kB] Get:402 http://debian.oregonstate.edu/debian unstable/main armhf libblas3 armhf 3.9.0-3 [109 kB] Get:403 http://debian.oregonstate.edu/debian unstable/main armhf libgfortran5 armhf 10.2.1-6 [237 kB] Get:404 http://debian.oregonstate.edu/debian unstable/main armhf liblapack3 armhf 3.9.0-3 [1651 kB] Get:405 http://debian.oregonstate.edu/debian unstable/main armhf libarpack2 armhf 3.8.0-1 [87.9 kB] Get:406 http://debian.oregonstate.edu/debian unstable/main armhf libsuperlu5 armhf 5.2.2+dfsg1-2 [136 kB] Get:407 http://debian.oregonstate.edu/debian unstable/main armhf libarmadillo10 armhf 1:10.1.2+dfsg-3 [95.8 kB] Get:408 http://debian.oregonstate.edu/debian unstable/main armhf libasan5 armhf 9.3.0-22 [370 kB] Get:409 http://debian.oregonstate.edu/debian unstable/main amd64 libasound2-data all 1.2.4-1.1 [38.2 kB] Get:410 http://debian.oregonstate.edu/debian unstable/main armhf libasound2 armhf 1.2.4-1.1 [310 kB] Get:411 http://debian.oregonstate.edu/debian unstable/main armhf libasyncns0 armhf 0.8-6+b2 [11.9 kB] Get:412 http://debian.oregonstate.edu/debian unstable/main amd64 libatk1.0-data all 2.36.0-2 [149 kB] Get:413 http://debian.oregonstate.edu/debian unstable/main armhf libatk1.0-0 armhf 2.36.0-2 [45.2 kB] Get:414 http://debian.oregonstate.edu/debian unstable/main armhf libatspi2.0-0 armhf 2.38.0-2 [63.0 kB] Get:415 http://debian.oregonstate.edu/debian unstable/main armhf libatk-bridge2.0-0 armhf 2.38.0-1 [56.9 kB] Get:416 http://debian.oregonstate.edu/debian unstable/main armhf libatomic1 armhf 10.2.1-6 [6924 B] Get:417 http://debian.oregonstate.edu/debian unstable/main armhf libavahi-common-data armhf 0.8-5 [123 kB] Get:418 http://debian.oregonstate.edu/debian unstable/main armhf libavahi-common3 armhf 0.8-5 [55.1 kB] Get:419 http://debian.oregonstate.edu/debian unstable/main armhf libavahi-client3 armhf 0.8-5 [58.5 kB] Get:420 http://debian.oregonstate.edu/debian unstable/main armhf libva2 armhf 2.10.0-1 [62.6 kB] Get:421 http://debian.oregonstate.edu/debian unstable/main armhf libva-drm2 armhf 2.10.0-1 [18.4 kB] Get:422 http://debian.oregonstate.edu/debian unstable/main armhf libva-x11-2 armhf 2.10.0-1 [21.8 kB] Get:423 http://debian.oregonstate.edu/debian unstable/main armhf libvdpau1 armhf 1.4-3 [27.4 kB] Get:424 http://debian.oregonstate.edu/debian unstable/main armhf ocl-icd-libopencl1 armhf 2.2.14-2 [39.7 kB] Get:425 http://debian.oregonstate.edu/debian unstable/main armhf libavutil56 armhf 7:4.3.1-8 [296 kB] Get:426 http://debian.oregonstate.edu/debian unstable/main armhf libpixman-1-0 armhf 0.40.0-1 [466 kB] Get:427 http://debian.oregonstate.edu/debian unstable/main armhf libcairo2 armhf 1.16.0-5 [615 kB] Get:428 http://debian.oregonstate.edu/debian unstable/main armhf libcodec2-0.9 armhf 0.9.2-4 [7867 kB] Get:429 http://debian.oregonstate.edu/debian unstable/main armhf libdav1d4 armhf 0.7.1-3 [228 kB] Get:430 http://debian.oregonstate.edu/debian unstable/main armhf libgsm1 armhf 1.0.18-2 [26.5 kB] Get:431 http://debian.oregonstate.edu/debian unstable/main armhf libmp3lame0 armhf 3.100-3 [350 kB] Get:432 http://debian.oregonstate.edu/debian unstable/main armhf libopenjp2-7 armhf 2.4.0-3 [154 kB] Get:433 http://debian.oregonstate.edu/debian unstable/main armhf libopus0 armhf 1.3.1-0.1 [166 kB] Get:434 http://debian.oregonstate.edu/debian unstable/main armhf libcairo-gobject2 armhf 1.16.0-5 [125 kB] Get:435 http://debian.oregonstate.edu/debian unstable/main armhf libdeflate0 armhf 1.7-1 [43.1 kB] Get:436 http://debian.oregonstate.edu/debian unstable/main armhf libjbig0 armhf 2.1-3.1+b2 [28.4 kB] Get:437 http://debian.oregonstate.edu/debian unstable/main armhf libwebp6 armhf 0.6.1-2+b1 [229 kB] Get:438 http://debian.oregonstate.edu/debian unstable/main armhf libtiff5 armhf 4.2.0-1 [271 kB] Get:439 http://debian.oregonstate.edu/debian unstable/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.2+dfsg-1 [131 kB] Get:440 http://debian.oregonstate.edu/debian unstable/main armhf libfribidi0 armhf 1.0.8-2 [62.9 kB] Get:441 http://debian.oregonstate.edu/debian unstable/main amd64 libthai-data all 0.1.28-3 [170 kB] Get:442 http://debian.oregonstate.edu/debian unstable/main armhf libdatrie1 armhf 0.2.13-1 [39.4 kB] Get:443 http://debian.oregonstate.edu/debian unstable/main armhf libthai0 armhf 0.1.28-3 [50.9 kB] Get:444 http://debian.oregonstate.edu/debian unstable/main armhf libpango-1.0-0 armhf 1.46.2-3 [173 kB] Get:445 http://debian.oregonstate.edu/debian unstable/main armhf libpangoft2-1.0-0 armhf 1.46.2-3 [56.1 kB] Get:446 http://debian.oregonstate.edu/debian unstable/main armhf libpangocairo-1.0-0 armhf 1.46.2-3 [46.8 kB] Get:447 http://debian.oregonstate.edu/debian unstable/main armhf librsvg2-2 armhf 2.50.3+dfsg-1 [2042 kB] Get:448 http://debian.oregonstate.edu/debian unstable/main armhf libshine3 armhf 3.1.1-2 [22.0 kB] Get:449 http://debian.oregonstate.edu/debian unstable/main armhf libsnappy1v5 armhf 1.1.8-1 [16.5 kB] Get:450 http://debian.oregonstate.edu/debian unstable/main armhf libspeex1 armhf 1.2~rc1.2-1.1 [51.6 kB] Get:451 http://debian.oregonstate.edu/debian unstable/main armhf libgomp1 armhf 10.2.1-6 [84.7 kB] Get:452 http://debian.oregonstate.edu/debian unstable/main armhf libsoxr0 armhf 0.1.3-4 [67.0 kB] Get:453 http://debian.oregonstate.edu/debian unstable/main armhf libswresample3 armhf 7:4.3.1-8 [90.9 kB] Get:454 http://debian.oregonstate.edu/debian unstable/main armhf libogg0 armhf 1.3.4-0.1 [24.6 kB] Get:455 http://debian.oregonstate.edu/debian unstable/main armhf libtheora0 armhf 1.1.1+dfsg.1-15 [147 kB] Get:456 http://debian.oregonstate.edu/debian unstable/main armhf libtwolame0 armhf 0.4.0-2 [47.1 kB] Get:457 http://debian.oregonstate.edu/debian unstable/main armhf libvorbis0a armhf 1.3.7-1 [83.0 kB] Get:458 http://debian.oregonstate.edu/debian unstable/main armhf libvorbisenc2 armhf 1.3.7-1 [74.4 kB] Get:459 http://debian.oregonstate.edu/debian unstable/main armhf libvpx6 armhf 1.9.0-1 [1038 kB] Get:460 http://debian.oregonstate.edu/debian unstable/main armhf libwavpack1 armhf 5.4.0-1 [75.7 kB] Get:461 http://debian.oregonstate.edu/debian unstable/main armhf libwebpmux3 armhf 0.6.1-2+b1 [94.1 kB] Get:462 http://debian.oregonstate.edu/debian unstable/main armhf libx264-160 armhf 2:0.160.3011+gitcde9a93-2+b2 [426 kB] Get:463 http://debian.oregonstate.edu/debian unstable/main armhf libx265-192 armhf 3.4-2 [583 kB] Get:464 http://debian.oregonstate.edu/debian unstable/main armhf libxvidcore4 armhf 2:1.3.7-1 [203 kB] Get:465 http://debian.oregonstate.edu/debian unstable/main amd64 libzvbi-common all 0.2.35-18 [64.6 kB] Get:466 http://debian.oregonstate.edu/debian unstable/main armhf libzvbi0 armhf 0.2.35-18 [245 kB] Get:467 http://debian.oregonstate.edu/debian unstable/main armhf libavcodec58 armhf 7:4.3.1-8 [4489 kB] Get:468 http://debian.oregonstate.edu/debian unstable/main armhf libavutil-dev armhf 7:4.3.1-8 [426 kB] Get:469 http://debian.oregonstate.edu/debian unstable/main armhf libswresample-dev armhf 7:4.3.1-8 [99.7 kB] Get:470 http://debian.oregonstate.edu/debian unstable/main armhf libavcodec-dev armhf 7:4.3.1-8 [5023 kB] Get:471 http://debian.oregonstate.edu/debian unstable/main armhf libudfread0 armhf 1.1.1-1 [14.3 kB] Get:472 http://debian.oregonstate.edu/debian unstable/main armhf libbluray2 armhf 1:1.2.1-4 [124 kB] Get:473 http://debian.oregonstate.edu/debian unstable/main armhf libchromaprint1 armhf 1.5.0-2 [33.4 kB] Get:474 http://debian.oregonstate.edu/debian unstable/main armhf libgme0 armhf 0.6.3-2 [108 kB] Get:475 http://debian.oregonstate.edu/debian unstable/main armhf libmpg123-0 armhf 1.26.4-1 [120 kB] Get:476 http://debian.oregonstate.edu/debian unstable/main armhf libvorbisfile3 armhf 1.3.7-1 [25.4 kB] Get:477 http://debian.oregonstate.edu/debian unstable/main armhf libopenmpt0 armhf 0.4.11-1 [544 kB] Get:478 http://debian.oregonstate.edu/debian unstable/main armhf librabbitmq4 armhf 0.10.0-1 [36.8 kB] Get:479 http://debian.oregonstate.edu/debian unstable/main armhf libsrt1.4-gnutls armhf 1.4.2-1.3 [240 kB] Get:480 http://debian.oregonstate.edu/debian unstable/main armhf libssh-gcrypt-4 armhf 0.9.5-1 [192 kB] Get:481 http://debian.oregonstate.edu/debian unstable/main armhf libnorm1 armhf 1.5.9+dfsg-1 [185 kB] Get:482 http://debian.oregonstate.edu/debian unstable/main armhf libpgm-5.3-0 armhf 5.3.128~dfsg-2 [156 kB] Get:483 http://debian.oregonstate.edu/debian unstable/main armhf libsodium23 armhf 1.0.18-1 [147 kB] Get:484 http://debian.oregonstate.edu/debian unstable/main armhf libzmq5 armhf 4.3.4-1 [237 kB] Get:485 http://debian.oregonstate.edu/debian unstable/main armhf libavformat58 armhf 7:4.3.1-8 [967 kB] Get:486 http://debian.oregonstate.edu/debian unstable/main armhf libavformat-dev armhf 7:4.3.1-8 [1201 kB] Get:487 http://debian.oregonstate.edu/debian unstable/main armhf linux-libc-dev armhf 5.10.13-1 [1252 kB] Get:488 http://debian.oregonstate.edu/debian unstable/main armhf libcrypt-dev armhf 1:4.4.17-1 [113 kB] Get:489 http://debian.oregonstate.edu/debian unstable/main armhf libtirpc3 armhf 1.3.1-1 [72.1 kB] Get:490 http://debian.oregonstate.edu/debian unstable/main armhf libnsl2 armhf 1.3.0-2 [33.9 kB] Get:491 http://debian.oregonstate.edu/debian unstable/main armhf libtirpc-dev armhf 1.3.1-1 [182 kB] Get:492 http://debian.oregonstate.edu/debian unstable/main armhf libnsl-dev armhf 1.3.0-2 [62.1 kB] Get:493 http://debian.oregonstate.edu/debian unstable/main armhf libc6-dev armhf 2.31-9 [1874 kB] Get:494 http://debian.oregonstate.edu/debian unstable/main armhf uuid-dev armhf 2.36.1-7 [97.9 kB] Get:495 http://debian.oregonstate.edu/debian unstable/main armhf libblkid-dev armhf 2.36.1-7 [217 kB] Get:496 http://debian.oregonstate.edu/debian unstable/main armhf libubsan1 armhf 10.2.1-6 [746 kB] Get:497 http://debian.oregonstate.edu/debian unstable/main armhf libgcc-9-dev armhf 9.3.0-22 [663 kB] Get:498 http://debian.oregonstate.edu/debian unstable/main armhf libstdc++-9-dev armhf 9.3.0-22 [1762 kB] Get:499 http://debian.oregonstate.edu/debian unstable/main armhf libboost1.74-dev armhf 1.74.0-8 [9534 kB] Get:500 http://debian.oregonstate.edu/debian unstable/main armhf libboost-atomic1.74.0 armhf 1.74.0-8 [244 kB] Get:501 http://debian.oregonstate.edu/debian unstable/main armhf libboost-atomic1.74-dev armhf 1.74.0-8 [245 kB] Get:502 http://debian.oregonstate.edu/debian unstable/main armhf libboost-atomic-dev armhf 1.74.0.3 [4640 B] Get:503 http://debian.oregonstate.edu/debian unstable/main armhf libboost-chrono1.74.0 armhf 1.74.0-8 [248 kB] Get:504 http://debian.oregonstate.edu/debian unstable/main armhf libboost-chrono1.74-dev armhf 1.74.0-8 [255 kB] Get:505 http://debian.oregonstate.edu/debian unstable/main armhf libboost-chrono-dev armhf 1.74.0.3 [4960 B] Get:506 http://debian.oregonstate.edu/debian unstable/main armhf libboost-date-time1.74.0 armhf 1.74.0-8 [241 kB] Get:507 http://debian.oregonstate.edu/debian unstable/main armhf libboost-serialization1.74.0 armhf 1.74.0-8 [321 kB] Get:508 http://debian.oregonstate.edu/debian unstable/main armhf libboost-serialization1.74-dev armhf 1.74.0-8 [394 kB] Get:509 http://debian.oregonstate.edu/debian unstable/main armhf libboost-date-time1.74-dev armhf 1.74.0-8 [250 kB] Get:510 http://debian.oregonstate.edu/debian unstable/main armhf libboost-date-time-dev armhf 1.74.0.3 [4332 B] Get:511 http://debian.oregonstate.edu/debian unstable/main armhf libboost-dev armhf 1.74.0.3 [4548 B] Get:512 http://debian.oregonstate.edu/debian unstable/main armhf libboost-regex1.74.0 armhf 1.74.0-8 [459 kB] Get:513 http://debian.oregonstate.edu/debian unstable/main armhf libicu-dev armhf 67.1-6 [9346 kB] Get:514 http://debian.oregonstate.edu/debian unstable/main armhf libboost-regex1.74-dev armhf 1.74.0-8 [572 kB] Get:515 http://debian.oregonstate.edu/debian unstable/main armhf libboost-iostreams1.74.0 armhf 1.74.0-8 [260 kB] Get:516 http://debian.oregonstate.edu/debian unstable/main armhf libboost-iostreams1.74-dev armhf 1.74.0-8 [271 kB] Get:517 http://debian.oregonstate.edu/debian unstable/main armhf libboost-iostreams-dev armhf 1.74.0.3 [4316 B] Get:518 http://debian.oregonstate.edu/debian unstable/main armhf libboost-system1.74.0 armhf 1.74.0-8 [241 kB] Get:519 http://debian.oregonstate.edu/debian unstable/main armhf libboost-system1.74-dev armhf 1.74.0-8 [243 kB] Get:520 http://debian.oregonstate.edu/debian unstable/main armhf libboost-random1.74.0 armhf 1.74.0-8 [246 kB] Get:521 http://debian.oregonstate.edu/debian unstable/main armhf libboost-random1.74-dev armhf 1.74.0-8 [249 kB] Get:522 http://debian.oregonstate.edu/debian unstable/main armhf libboost-random-dev armhf 1.74.0.3 [4336 B] Get:523 http://debian.oregonstate.edu/debian unstable/main armhf libboost-regex-dev armhf 1.74.0.3 [4596 B] Get:524 http://debian.oregonstate.edu/debian unstable/main armhf libboost-system-dev armhf 1.74.0.3 [4468 B] Get:525 http://debian.oregonstate.edu/debian unstable/main armhf libboost-thread1.74.0 armhf 1.74.0-8 [271 kB] Get:526 http://debian.oregonstate.edu/debian unstable/main armhf libboost-thread1.74-dev armhf 1.74.0-8 [286 kB] Get:527 http://debian.oregonstate.edu/debian unstable/main armhf libboost-thread-dev armhf 1.74.0.3 [4356 B] Get:528 http://debian.oregonstate.edu/debian unstable/main armhf libdb5.3 armhf 5.3.28+dfsg1-0.8 [596 kB] Get:529 http://debian.oregonstate.edu/debian unstable/main armhf libsasl2-modules-db armhf 2.1.27+dfsg-2.1 [67.6 kB] Get:530 http://debian.oregonstate.edu/debian unstable/main armhf libsasl2-2 armhf 2.1.27+dfsg-2.1 [99.1 kB] Get:531 http://debian.oregonstate.edu/debian unstable/main armhf libldap-2.4-2 armhf 2.4.57+dfsg-1 [210 kB] Get:532 http://debian.oregonstate.edu/debian unstable/main armhf libnghttp2-14 armhf 1.43.0-1 [65.6 kB] Get:533 http://debian.oregonstate.edu/debian unstable/main armhf libpsl5 armhf 0.21.0-1.2 [56.1 kB] Get:534 http://debian.oregonstate.edu/debian unstable/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2+b2 [55.2 kB] Get:535 http://debian.oregonstate.edu/debian unstable/main armhf libssh2-1 armhf 1.9.0-2 [143 kB] Get:536 http://debian.oregonstate.edu/debian unstable/main armhf libcurl3-gnutls armhf 7.74.0-1.1 [305 kB] Get:537 http://debian.oregonstate.edu/debian unstable/main armhf libcfitsio9 armhf 3.490-3 [504 kB] Get:538 http://debian.oregonstate.edu/debian unstable/main armhf libcharls2 armhf 2.2.0+dfsg-2 [70.1 kB] Get:539 http://debian.oregonstate.edu/debian unstable/main amd64 libclang1-11 amd64 1:11.0.1-2 [5521 kB] Get:540 http://debian.oregonstate.edu/debian unstable/main armhf libcmark0.29.0 armhf 0.29.0-4 [92.2 kB] Get:541 http://debian.oregonstate.edu/debian unstable/main armhf libcmark-dev armhf 0.29.0-4 [110 kB] Get:542 http://debian.oregonstate.edu/debian unstable/main armhf liblcms2-2 armhf 2.12~rc1-2 [123 kB] Get:543 http://debian.oregonstate.edu/debian unstable/main armhf libcolord2 armhf 1.4.5-3 [126 kB] Get:544 http://debian.oregonstate.edu/debian unstable/main armhf libcups2 armhf 2.3.3op2-3 [317 kB] Get:545 http://debian.oregonstate.edu/debian unstable/main armhf libcurl4 armhf 7.74.0-1.1 [309 kB] Get:546 http://debian.oregonstate.edu/debian unstable/main armhf libdap27 armhf 3.20.7-6 [505 kB] Get:547 http://debian.oregonstate.edu/debian unstable/main armhf libdapclient6v5 armhf 3.20.7-6 [200 kB] Get:548 http://debian.oregonstate.edu/debian unstable/main armhf libraw1394-11 armhf 2.1.2-2 [37.7 kB] Get:549 http://debian.oregonstate.edu/debian unstable/main armhf libusb-1.0-0 armhf 2:1.0.24-2 [54.5 kB] Get:550 http://debian.oregonstate.edu/debian unstable/main armhf libdc1394-25 armhf 2.2.6-3 [100 kB] Get:551 http://debian.oregonstate.edu/debian unstable/main armhf libraw1394-dev armhf 2.1.2-2 [50.5 kB] Get:552 http://debian.oregonstate.edu/debian unstable/main armhf libdc1394-dev armhf 2.2.6-3 [130 kB] Get:553 http://debian.oregonstate.edu/debian unstable/main armhf libde265-0 armhf 1.0.8-1 [189 kB] Get:554 http://debian.oregonstate.edu/debian unstable/main armhf libdeflate-dev armhf 1.7-1 [39.9 kB] Get:555 http://debian.oregonstate.edu/debian unstable/main armhf zlib1g-dev armhf 1:1.2.11.dfsg-2 [185 kB] Get:556 http://debian.oregonstate.edu/debian unstable/main armhf libelf-dev armhf 0.183-1 [71.2 kB] Get:557 http://debian.oregonstate.edu/debian unstable/main armhf liblzma-dev armhf 5.2.5-1.0 [220 kB] Get:558 http://debian.oregonstate.edu/debian unstable/main armhf libdw-dev armhf 0.183-1 [293 kB] Get:559 http://debian.oregonstate.edu/debian unstable/main amd64 xorg-sgml-doctools all 1:1.11-1.1 [22.1 kB] Get:560 http://debian.oregonstate.edu/debian unstable/main amd64 x11proto-dev all 2020.1-1 [594 kB] Get:561 http://debian.oregonstate.edu/debian unstable/main armhf libxau-dev armhf 1:1.0.9-1 [22.4 kB] Get:562 http://debian.oregonstate.edu/debian unstable/main armhf libxdmcp-dev armhf 1:1.1.2-3 [40.7 kB] Get:563 http://debian.oregonstate.edu/debian unstable/main amd64 xtrans-dev all 1.4.0-1 [98.7 kB] Get:564 http://debian.oregonstate.edu/debian unstable/main armhf libpthread-stubs0-dev armhf 0.4-1 [5344 B] Get:565 http://debian.oregonstate.edu/debian unstable/main armhf libxcb1-dev armhf 1.14-3 [175 kB] Get:566 http://debian.oregonstate.edu/debian unstable/main armhf libx11-dev armhf 2:1.7.0-2 [784 kB] Get:567 http://debian.oregonstate.edu/debian unstable/main armhf libglx-dev armhf 1.3.2-1 [16.3 kB] Get:568 http://debian.oregonstate.edu/debian unstable/main armhf libgl-dev armhf 1.3.2-1 [100 kB] Get:569 http://debian.oregonstate.edu/debian unstable/main armhf libegl-dev armhf 1.3.2-1 [19.6 kB] Get:570 http://debian.oregonstate.edu/debian unstable/main armhf libepoxy0 armhf 1.5.5-1 [170 kB] Get:571 http://debian.oregonstate.edu/debian unstable/main armhf libepsilon1 armhf 0.9.2+dfsg-5 [36.5 kB] Get:572 http://debian.oregonstate.edu/debian unstable/main armhf libexif12 armhf 0.6.22-3 [364 kB] Get:573 http://debian.oregonstate.edu/debian unstable/main armhf libexif-dev armhf 0.6.22-3 [91.7 kB] Get:574 http://debian.oregonstate.edu/debian unstable/main armhf libffi-dev armhf 3.3-5 [52.7 kB] Get:575 http://debian.oregonstate.edu/debian unstable/main armhf libflac8 armhf 1.3.3-2 [89.3 kB] Get:576 http://debian.oregonstate.edu/debian unstable/main armhf libfmt7 armhf 7.1.3+ds1-5 [102 kB] Get:577 http://debian.oregonstate.edu/debian unstable/main armhf libfmt-dev armhf 7.1.3+ds1-5 [142 kB] Get:578 http://debian.oregonstate.edu/debian unstable/main armhf libfreexl1 armhf 1.0.6-1 [31.4 kB] Get:579 http://debian.oregonstate.edu/debian unstable/main armhf libfyba0 armhf 4.1.1-7 [101 kB] Get:580 http://debian.oregonstate.edu/debian unstable/main armhf libxpm4 armhf 1:3.5.12-1 [44.0 kB] Get:581 http://debian.oregonstate.edu/debian unstable/main armhf libgd3 armhf 2.3.0-2 [119 kB] Get:582 http://debian.oregonstate.edu/debian unstable/main armhf libgeos-3.9.0 armhf 3.9.0-1 [841 kB] Get:583 http://debian.oregonstate.edu/debian unstable/main armhf libgeos-c1v5 armhf 3.9.0-1 [368 kB] Get:584 http://debian.oregonstate.edu/debian unstable/main amd64 proj-data all 7.2.1-1 [7940 kB] Get:585 http://debian.oregonstate.edu/debian unstable/main armhf libsqlite3-0 armhf 3.34.1-2 [713 kB] Get:586 http://debian.oregonstate.edu/debian unstable/main armhf libproj19 armhf 7.2.1-1 [970 kB] Get:587 http://debian.oregonstate.edu/debian unstable/main armhf libgeotiff5 armhf 1.6.0-1 [62.3 kB] Get:588 http://debian.oregonstate.edu/debian unstable/main armhf libgif7 armhf 5.1.9-2 [42.7 kB] Get:589 http://debian.oregonstate.edu/debian unstable/main armhf libhdf4-0-alt armhf 4.2.15-3 [244 kB] Get:590 http://debian.oregonstate.edu/debian unstable/main armhf libsz2 armhf 1.0.4-1 [6616 B] Get:591 http://debian.oregonstate.edu/debian unstable/main armhf libhdf5-103-1 armhf 1.10.6+repack-2 [1216 kB] Get:592 http://debian.oregonstate.edu/debian unstable/main armhf libheif1 armhf 1.11.0-1 [166 kB] Get:593 http://debian.oregonstate.edu/debian unstable/main armhf libjson-c5 armhf 0.15-2 [39.0 kB] Get:594 http://debian.oregonstate.edu/debian unstable/main armhf libminizip1 armhf 1.1-8+b1 [19.0 kB] Get:595 http://debian.oregonstate.edu/debian unstable/main armhf liburiparser1 armhf 0.9.4+dfsg-1 [36.7 kB] Get:596 http://debian.oregonstate.edu/debian unstable/main armhf libkmlbase1 armhf 1.3.0-9 [44.4 kB] Get:597 http://debian.oregonstate.edu/debian unstable/main armhf libkmldom1 armhf 1.3.0-9 [131 kB] Get:598 http://debian.oregonstate.edu/debian unstable/main armhf libkmlengine1 armhf 1.3.0-9 [67.0 kB] Get:599 http://debian.oregonstate.edu/debian unstable/main amd64 mysql-common all 5.8+1.0.7 [7464 B] Get:600 http://debian.oregonstate.edu/debian unstable/main amd64 mariadb-common all 1:10.5.8-3 [35.6 kB] Get:601 http://debian.oregonstate.edu/debian unstable/main armhf libmariadb3 armhf 1:10.5.8-3 [160 kB] Get:602 http://debian.oregonstate.edu/debian unstable/main armhf libhdf5-hl-100 armhf 1.10.6+repack-2 [79.1 kB] Get:603 http://debian.oregonstate.edu/debian unstable/main armhf libnetcdf18 armhf 1:4.7.4-1 [355 kB] Get:604 http://debian.oregonstate.edu/debian unstable/main armhf libltdl7 armhf 2.4.6-15 [388 kB] Get:605 http://debian.oregonstate.edu/debian unstable/main armhf libodbc1 armhf 2.3.6-0.1+b1 [191 kB] Get:606 http://debian.oregonstate.edu/debian unstable/main armhf libogdi4.1 armhf 4.1.0+ds-3 [176 kB] Get:607 http://debian.oregonstate.edu/debian unstable/main armhf libnspr4 armhf 2:4.29-1 [90.7 kB] Get:608 http://debian.oregonstate.edu/debian unstable/main armhf libnss3 armhf 2:3.61-1 [1114 kB] Get:609 http://debian.oregonstate.edu/debian unstable/main armhf libpoppler102 armhf 20.09.0-3.1 [1541 kB] Get:610 http://debian.oregonstate.edu/debian unstable/main armhf libpq5 armhf 13.2-1 [159 kB] Get:611 http://debian.oregonstate.edu/debian unstable/main armhf libqhull8.0 armhf 2020.2-3 [225 kB] Get:612 http://debian.oregonstate.edu/debian unstable/main armhf librttopo1 armhf 1.1.0-2 [148 kB] Get:613 http://debian.oregonstate.edu/debian unstable/main armhf libspatialite7 armhf 5.0.1-2 [1719 kB] Get:614 http://debian.oregonstate.edu/debian unstable/main armhf libxerces-c3.2 armhf 3.2.3+debian-3 [731 kB] Get:615 http://debian.oregonstate.edu/debian unstable/main amd64 libltdl7 amd64 2.4.6-15 [391 kB] Get:616 http://debian.oregonstate.edu/debian unstable/main amd64 odbcinst1debian2 amd64 2.3.6-0.1+b1 [78.6 kB] Get:617 http://debian.oregonstate.edu/debian unstable/main amd64 odbcinst amd64 2.3.6-0.1+b1 [48.7 kB] Get:618 http://debian.oregonstate.edu/debian unstable/main armhf odbcinst1debian2 armhf 2.3.6-0.1+b1 [71.3 kB] Get:619 http://debian.oregonstate.edu/debian unstable/main armhf libgdal28 armhf 3.2.1+dfsg-1+b1 [6244 kB] Get:620 http://debian.oregonstate.edu/debian unstable/main armhf libsocket++1 armhf 1.12.13-11 [68.3 kB] Get:621 http://debian.oregonstate.edu/debian unstable/main armhf libgdcm3.0 armhf 3.0.8-1 [1631 kB] Get:622 http://debian.oregonstate.edu/debian unstable/main armhf libgdcm-dev armhf 3.0.8-1 [269 kB] Get:623 http://debian.oregonstate.edu/debian unstable/main armhf libgl2ps1.4 armhf 1.4.2+dfsg1-1 [35.1 kB] Get:624 http://debian.oregonstate.edu/debian unstable/main armhf libgles1 armhf 1.3.2-1 [12.6 kB] Get:625 http://debian.oregonstate.edu/debian unstable/main armhf libgles-dev armhf 1.3.2-1 [50.3 kB] Get:626 http://debian.oregonstate.edu/debian unstable/main armhf libglew2.1 armhf 2.1.0-4+b1 [162 kB] Get:627 http://debian.oregonstate.edu/debian unstable/main amd64 libglib2.0-data all 2.66.7-1 [1163 kB] Get:628 http://debian.oregonstate.edu/debian unstable/main amd64 libglib2.0-bin amd64 2.66.7-1 [140 kB] Get:629 http://debian.oregonstate.edu/debian unstable/main amd64 python3-lib2to3 all 3.9.1-2 [77.2 kB] Get:630 http://debian.oregonstate.edu/debian unstable/main amd64 python3-distutils all 3.9.1-2 [143 kB] Get:631 http://debian.oregonstate.edu/debian unstable/main amd64 libglib2.0-dev-bin amd64 2.66.7-1 [178 kB] Get:632 http://debian.oregonstate.edu/debian unstable/main armhf libsepol1 armhf 3.1-1 [234 kB] Get:633 http://debian.oregonstate.edu/debian unstable/main armhf libsepol1-dev armhf 3.1-1 [317 kB] Get:634 http://debian.oregonstate.edu/debian unstable/main armhf libpcre2-32-0 armhf 10.36-2 [188 kB] Get:635 http://debian.oregonstate.edu/debian unstable/main armhf libpcre2-posix2 armhf 10.36-2 [48.5 kB] Get:636 http://debian.oregonstate.edu/debian unstable/main armhf libpcre2-dev armhf 10.36-2 [638 kB] Get:637 http://debian.oregonstate.edu/debian unstable/main armhf libselinux1-dev armhf 3.1-3 [163 kB] Get:638 http://debian.oregonstate.edu/debian unstable/main armhf libmount-dev armhf 2.36.1-7 [77.8 kB] Get:639 http://debian.oregonstate.edu/debian unstable/main armhf libpcre16-3 armhf 2:8.39-13 [239 kB] Get:640 http://debian.oregonstate.edu/debian unstable/main armhf libpcre32-3 armhf 2:8.39-13 [231 kB] Get:641 http://debian.oregonstate.edu/debian unstable/main armhf libpcrecpp0v5 armhf 2:8.39-13 [150 kB] Get:642 http://debian.oregonstate.edu/debian unstable/main armhf libpcre3-dev armhf 2:8.39-13 [587 kB] Get:643 http://debian.oregonstate.edu/debian unstable/main amd64 pkg-config amd64 0.29.2-1 [65.1 kB] Get:644 http://debian.oregonstate.edu/debian unstable/main armhf libglib2.0-dev armhf 2.66.7-1 [1470 kB] Get:645 http://debian.oregonstate.edu/debian unstable/main armhf libgphoto2-port12 armhf 2.5.26-2 [145 kB] Get:646 http://debian.oregonstate.edu/debian unstable/main armhf libgphoto2-6 armhf 2.5.26-2 [686 kB] Get:647 http://debian.oregonstate.edu/debian unstable/main armhf libgphoto2-dev armhf 2.5.26-2 [107 kB] Get:648 http://debian.oregonstate.edu/debian unstable/main armhf libtbb2 armhf 2020.3-1 [118 kB] Get:649 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-core4.5 armhf 4.5.1+dfsg-4 [754 kB] Get:650 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer-opencv1.0-0 armhf 1.18.3-1+b1 [1913 kB] Get:651 http://debian.oregonstate.edu/debian unstable/main armhf libunwind-dev armhf 1.3.2-2 [417 kB] Get:652 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer1.0-dev armhf 1.18.3-1 [1639 kB] Get:653 http://debian.oregonstate.edu/debian unstable/main amd64 liborc-0.4-dev-bin amd64 1:0.4.32-1 [190 kB] Get:654 http://debian.oregonstate.edu/debian unstable/main armhf liborc-0.4-dev armhf 1:0.4.32-1 [177 kB] Get:655 http://debian.oregonstate.edu/debian unstable/main armhf libx11-xcb-dev armhf 2:1.7.0-2 [205 kB] Get:656 http://debian.oregonstate.edu/debian unstable/main amd64 libwayland-bin amd64 1.18.0-2~exp1.1 [23.1 kB] Get:657 http://debian.oregonstate.edu/debian unstable/main armhf libwayland-dev armhf 1.18.0-2~exp1.1 [69.0 kB] Get:658 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer-plugins-base1.0-dev armhf 1.18.3-1 [1760 kB] Get:659 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-flann4.5 armhf 4.5.1+dfsg-4 [109 kB] Get:660 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-imgproc4.5 armhf 4.5.1+dfsg-4 [737 kB] Get:661 http://debian.oregonstate.edu/debian unstable/main armhf libilmbase25 armhf 2.5.4-1 [195 kB] Get:662 http://debian.oregonstate.edu/debian unstable/main armhf libopenexr25 armhf 2.5.4-1 [625 kB] Get:663 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-imgcodecs4.5 armhf 4.5.1+dfsg-4 [114 kB] Get:664 http://debian.oregonstate.edu/debian unstable/main armhf libswscale5 armhf 7:4.3.1-8 [167 kB] Get:665 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-videoio4.5 armhf 4.5.1+dfsg-4 [166 kB] Get:666 http://debian.oregonstate.edu/debian unstable/main amd64 libjson-glib-1.0-common all 1.6.0-3 [55.7 kB] Get:667 http://debian.oregonstate.edu/debian unstable/main armhf libjson-glib-1.0-0 armhf 1.6.0-3 [57.7 kB] Get:668 http://debian.oregonstate.edu/debian unstable/main armhf libsoup2.4-1 armhf 2.72.0-2 [246 kB] Get:669 http://debian.oregonstate.edu/debian unstable/main armhf libsoup-gnome2.4-1 armhf 2.72.0-2 [21.7 kB] Get:670 http://debian.oregonstate.edu/debian unstable/main armhf librest-0.7-0 armhf 0.8.1-1.1 [28.7 kB] Get:671 http://debian.oregonstate.edu/debian unstable/main armhf libxcomposite1 armhf 1:0.4.5-1 [16.1 kB] Get:672 http://debian.oregonstate.edu/debian unstable/main armhf libxcursor1 armhf 1:1.2.0-2 [34.2 kB] Get:673 http://debian.oregonstate.edu/debian unstable/main armhf libxi6 armhf 2:1.7.10-1 [78.5 kB] Get:674 http://debian.oregonstate.edu/debian unstable/main armhf libxinerama1 armhf 2:1.1.4-2 [17.3 kB] Get:675 http://debian.oregonstate.edu/debian unstable/main armhf libxrandr2 armhf 2:1.5.1-1 [34.9 kB] Get:676 http://debian.oregonstate.edu/debian unstable/main amd64 libgtk-3-common all 3.24.24-1 [3756 kB] Get:677 http://debian.oregonstate.edu/debian unstable/main armhf libgtk-3-0 armhf 3.24.24-1 [2338 kB] Get:678 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-highgui4.5 armhf 4.5.1+dfsg-4 [46.9 kB] Get:679 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-ml4.5 armhf 4.5.1+dfsg-4 [179 kB] Get:680 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-features2d4.5 armhf 4.5.1+dfsg-4 [203 kB] Get:681 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-calib3d4.5 armhf 4.5.1+dfsg-4 [549 kB] Get:682 http://debian.oregonstate.edu/debian unstable/main armhf libtbb-dev armhf 2020.3-1 [313 kB] Get:683 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-core-dev armhf 4.5.1+dfsg-4 [1506 kB] Get:684 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-flann-dev armhf 4.5.1+dfsg-4 [214 kB] Get:685 http://debian.oregonstate.edu/debian unstable/main armhf libjpeg62-turbo-dev armhf 1:2.0.5-2 [241 kB] Get:686 http://debian.oregonstate.edu/debian unstable/main armhf libjpeg-dev armhf 1:2.0.5-2 [66.2 kB] Get:687 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-imgproc-dev armhf 4.5.1+dfsg-4 [1063 kB] Get:688 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-imgcodecs-dev armhf 4.5.1+dfsg-4 [192 kB] Get:689 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-videoio-dev armhf 4.5.1+dfsg-4 [250 kB] Get:690 http://debian.oregonstate.edu/debian unstable/main armhf libilmbase-dev armhf 2.5.4-1 [160 kB] Get:691 http://debian.oregonstate.edu/debian unstable/main armhf libopenexr-dev armhf 2.5.4-1 [159 kB] Get:692 http://debian.oregonstate.edu/debian unstable/main armhf libpng-dev armhf 1.6.37-3 [282 kB] Get:693 http://debian.oregonstate.edu/debian unstable/main armhf libswscale-dev armhf 7:4.3.1-8 [181 kB] Get:694 http://debian.oregonstate.edu/debian unstable/main armhf libjbig-dev armhf 2.1-3.1+b2 [28.5 kB] Get:695 http://debian.oregonstate.edu/debian unstable/main armhf libtiffxx5 armhf 4.2.0-1 [128 kB] Get:696 http://debian.oregonstate.edu/debian unstable/main armhf libtiff-dev armhf 4.2.0-1 [397 kB] Get:697 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-highgui-dev armhf 4.5.1+dfsg-4 [67.4 kB] Get:698 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-ml-dev armhf 4.5.1+dfsg-4 [282 kB] Get:699 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-features2d-dev armhf 4.5.1+dfsg-4 [299 kB] Get:700 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-calib3d-dev armhf 4.5.1+dfsg-4 [862 kB] Get:701 http://debian.oregonstate.edu/debian unstable/main armhf libprotobuf23 armhf 3.12.4-1 [777 kB] Get:702 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-dnn4.5 armhf 4.5.1+dfsg-4 [767 kB] Get:703 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-objdetect4.5 armhf 4.5.1+dfsg-4 [150 kB] Get:704 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-photo4.5 armhf 4.5.1+dfsg-4 [154 kB] Get:705 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-video4.5 armhf 4.5.1+dfsg-4 [149 kB] Get:706 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-shape4.5 armhf 4.5.1+dfsg-4 [57.9 kB] Get:707 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-stitching4.5 armhf 4.5.1+dfsg-4 [170 kB] Get:708 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-superres4.5 armhf 4.5.1+dfsg-4 [53.6 kB] Get:709 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-videostab4.5 armhf 4.5.1+dfsg-4 [79.4 kB] Get:710 http://debian.oregonstate.edu/debian unstable/main armhf libjsoncpp24 armhf 1.9.4-4 [68.5 kB] Get:711 http://debian.oregonstate.edu/debian unstable/main armhf libopengl0 armhf 1.3.2-1 [32.7 kB] Get:712 http://debian.oregonstate.edu/debian unstable/main armhf libtcl8.6 armhf 8.6.11+dfsg-1 [913 kB] Get:713 http://debian.oregonstate.edu/debian unstable/main armhf libxft2 armhf 2.3.2-2 [50.1 kB] Get:714 http://debian.oregonstate.edu/debian unstable/main armhf libxss1 armhf 1:1.2.3-1 [17.2 kB] Get:715 http://debian.oregonstate.edu/debian unstable/main armhf libtk8.6 armhf 8.6.11-2 [693 kB] Get:716 http://debian.oregonstate.edu/debian unstable/main armhf libvtk9 armhf 9.0.1+dfsg1-8 [11.7 MB] Get:717 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-viz4.5 armhf 4.5.1+dfsg-4 [119 kB] Get:718 http://debian.oregonstate.edu/debian unstable/main armhf liblept5 armhf 1.79.0-1 [900 kB] Get:719 http://debian.oregonstate.edu/debian unstable/main armhf libtesseract4 armhf 4.1.1-2.1 [1107 kB] Get:720 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-contrib4.5 armhf 4.5.1+dfsg-4 [2911 kB] Get:721 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-dnn-dev armhf 4.5.1+dfsg-4 [1341 kB] Get:722 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-objdetect-dev armhf 4.5.1+dfsg-4 [220 kB] Get:723 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-photo-dev armhf 4.5.1+dfsg-4 [211 kB] Get:724 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-video-dev armhf 4.5.1+dfsg-4 [219 kB] Get:725 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-shape-dev armhf 4.5.1+dfsg-4 [81.6 kB] Get:726 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-stitching-dev armhf 4.5.1+dfsg-4 [253 kB] Get:727 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-superres-dev armhf 4.5.1+dfsg-4 [72.9 kB] Get:728 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-videostab-dev armhf 4.5.1+dfsg-4 [117 kB] Get:729 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-viz-dev armhf 4.5.1+dfsg-4 [190 kB] Get:730 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-contrib-dev armhf 4.5.1+dfsg-4 [4147 kB] Get:731 http://debian.oregonstate.edu/debian unstable/main armhf libopencv-dev armhf 4.5.1+dfsg-4 [94.8 kB] Get:732 http://debian.oregonstate.edu/debian unstable/main armhf libgstreamer-plugins-bad1.0-dev armhf 1.18.3-1+b1 [2059 kB] Get:733 http://debian.oregonstate.edu/debian unstable/main armhf liblmdb0 armhf 0.9.24-1 [38.7 kB] Get:734 http://debian.oregonstate.edu/debian unstable/main armhf liblmdb-dev armhf 0.9.24-1 [55.7 kB] Get:735 http://debian.oregonstate.edu/debian unstable/main armhf liblmdb++-dev armhf 0.9.14.1+git20160228.0b43ca8-1 [155 kB] Get:736 http://debian.oregonstate.edu/debian unstable/main armhf libolm3 armhf 3.2.1~dfsg-7 [107 kB] Get:737 http://debian.oregonstate.edu/debian unstable/main armhf libolm-dev armhf 3.2.1~dfsg-7 [18.8 kB] Get:738 http://debian.oregonstate.edu/debian unstable/main armhf libsndfile1 armhf 1.0.31-1 [174 kB] Get:739 http://debian.oregonstate.edu/debian unstable/main armhf libwrap0 armhf 7.6.q-31 [56.5 kB] Get:740 http://debian.oregonstate.edu/debian unstable/main armhf libpulse0 armhf 14.2-1 [260 kB] Get:741 http://debian.oregonstate.edu/debian unstable/main armhf libqt5concurrent5 armhf 5.15.2+dfsg-4 [69.2 kB] Get:742 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5xml5 amd64 5.15.2+dfsg-4 [147 kB] Get:743 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5designer5 amd64 5.15.2-3 [2705 kB] Get:744 http://debian.oregonstate.edu/debian unstable/main armhf libqt5xml5 armhf 5.15.2+dfsg-4 [137 kB] Get:745 http://debian.oregonstate.edu/debian unstable/main armhf libqt5designer5 armhf 5.15.2-3 [2645 kB] Get:746 http://debian.oregonstate.edu/debian unstable/main armhf libqt5designercomponents5 armhf 5.15.2-3 [643 kB] Get:747 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5designercomponents5 amd64 5.15.2-3 [715 kB] Get:748 http://debian.oregonstate.edu/debian unstable/main armhf libqt5sql5 armhf 5.15.2+dfsg-4 [137 kB] Get:749 http://debian.oregonstate.edu/debian unstable/main armhf libqt5help5 armhf 5.15.2-3 [136 kB] Get:750 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5sql5 amd64 5.15.2+dfsg-4 [143 kB] Get:751 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5help5 amd64 5.15.2-3 [143 kB] Get:752 http://debian.oregonstate.edu/debian unstable/main armhf libqt5keychain1 armhf 0.10.0-1 [44.3 kB] Get:753 http://debian.oregonstate.edu/debian unstable/main armhf libqt5multimedia5 armhf 5.15.2-2 [246 kB] Get:754 http://debian.oregonstate.edu/debian unstable/main armhf libqt5multimediawidgets5 armhf 5.15.2-2 [37.4 kB] Get:755 http://debian.oregonstate.edu/debian unstable/main armhf libqt5multimediagsttools5 armhf 5.15.2-2 [93.8 kB] Get:756 http://debian.oregonstate.edu/debian unstable/main armhf libqt5qml5 armhf 5.15.2+dfsg-4 [1194 kB] Get:757 http://debian.oregonstate.edu/debian unstable/main armhf libqt5qmlmodels5 armhf 5.15.2+dfsg-4 [172 kB] Get:758 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quick5 armhf 5.15.2+dfsg-4 [1373 kB] Get:759 http://debian.oregonstate.edu/debian unstable/main armhf libqt5multimediaquick5 armhf 5.15.2-2 [41.3 kB] Get:760 http://debian.oregonstate.edu/debian unstable/main armhf libqt5printsupport5 armhf 5.15.2+dfsg-4 [214 kB] Get:761 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quicktemplates2-5 armhf 5.15.2+dfsg-2 [337 kB] Get:762 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quickcontrols2-5 armhf 5.15.2+dfsg-2 [55.0 kB] Get:763 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quickparticles5 armhf 5.15.2+dfsg-4 [192 kB] Get:764 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quickshapes5 armhf 5.15.2+dfsg-4 [93.4 kB] Get:765 http://debian.oregonstate.edu/debian unstable/main armhf libqt5test5 armhf 5.15.2+dfsg-4 [159 kB] Get:766 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quicktest5 armhf 5.15.2+dfsg-4 [61.0 kB] Get:767 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5test5 amd64 5.15.2+dfsg-4 [168 kB] Get:768 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5quicktest5 amd64 5.15.2+dfsg-4 [63.5 kB] Get:769 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5quickwidgets5 amd64 5.15.2+dfsg-4 [48.9 kB] Get:770 http://debian.oregonstate.edu/debian unstable/main armhf libqt5quickwidgets5 armhf 5.15.2+dfsg-4 [45.7 kB] Get:771 http://debian.oregonstate.edu/debian unstable/main amd64 libqt5sql5-sqlite amd64 5.15.2+dfsg-4 [83.4 kB] Get:772 http://debian.oregonstate.edu/debian unstable/main armhf libsodium-dev armhf 1.0.18-1 [165 kB] Get:773 http://debian.oregonstate.edu/debian unstable/main armhf libspdlog1 armhf 1:1.8.1+ds-2.1 [81.7 kB] Get:774 http://debian.oregonstate.edu/debian unstable/main armhf libspdlog-dev armhf 1:1.8.1+ds-2.1 [177 kB] Get:775 http://debian.oregonstate.edu/debian unstable/main armhf libssl-dev armhf 1.1.1i-3 [1604 kB] Get:776 http://debian.oregonstate.edu/debian unstable/main amd64 libtweeny-dev all 3-2 [131 kB] Get:777 http://debian.oregonstate.edu/debian unstable/main armhf libvulkan-dev armhf 1.2.162.0-1 [586 kB] Get:778 http://debian.oregonstate.edu/debian unstable/main amd64 x11proto-xext-dev all 2020.1-1 [3404 B] Get:779 http://debian.oregonstate.edu/debian unstable/main armhf libxext-dev armhf 2:1.3.3-1.1 [103 kB] Get:780 http://debian.oregonstate.edu/debian unstable/main amd64 nlohmann-json3-dev all 3.9.1-1 [684 kB] Get:781 http://debian.oregonstate.edu/debian unstable/main amd64 qtchooser amd64 66-2 [26.3 kB] Get:782 http://debian.oregonstate.edu/debian unstable/main amd64 qdoc-qt5 amd64 5.15.2-3 [562 kB] Get:783 http://debian.oregonstate.edu/debian unstable/main amd64 qhelpgenerator-qt5 amd64 5.15.2-3 [58.5 kB] Get:784 http://debian.oregonstate.edu/debian unstable/main amd64 qt5-assistant amd64 5.15.2-3 [345 kB] Get:785 http://debian.oregonstate.edu/debian unstable/main amd64 qt5-qmake-bin amd64 5.15.2+dfsg-4 [1041 kB] Get:786 http://debian.oregonstate.edu/debian unstable/main armhf qt5-qmake armhf 5.15.2+dfsg-4 [248 kB] Get:787 http://debian.oregonstate.edu/debian unstable/main armhf qt5-qmltooling-plugins armhf 5.15.2+dfsg-4 [163 kB] Get:788 http://debian.oregonstate.edu/debian unstable/main armhf qt5keychain-dev armhf 0.10.0-1 [11.1 kB] Get:789 http://debian.oregonstate.edu/debian unstable/main amd64 qtattributionsscanner-qt5 amd64 5.15.2-3 [35.1 kB] Get:790 http://debian.oregonstate.edu/debian unstable/main amd64 qtbase5-dev-tools amd64 5.15.2+dfsg-4 [757 kB] Get:791 http://debian.oregonstate.edu/debian unstable/main armhf qtbase5-dev armhf 5.15.2+dfsg-4 [1095 kB] Get:792 http://debian.oregonstate.edu/debian unstable/main amd64 qtdeclarative5-dev-tools amd64 5.15.2+dfsg-4 [599 kB] Get:793 http://debian.oregonstate.edu/debian unstable/main armhf qtdeclarative5-dev armhf 5.15.2+dfsg-4 [436 kB] Get:794 http://debian.oregonstate.edu/debian unstable/main armhf qtmultimedia5-dev armhf 5.15.2-2 [50.1 kB] Get:795 http://debian.oregonstate.edu/debian unstable/main armhf qtquickcontrols2-5-dev armhf 5.15.2+dfsg-2 [13.6 kB] Get:796 http://debian.oregonstate.edu/debian unstable/main amd64 qttools5-dev-tools amd64 5.15.2-3 [970 kB] Get:797 http://debian.oregonstate.edu/debian unstable/main armhf qttools5-dev armhf 5.15.2-3 [185 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 587 MB in 6s (91.3 MB/s) Selecting previously unselected package libapparmor1:amd64. (Reading database ... 10481 files and directories currently installed.) Preparing to unpack .../00-libapparmor1_2.13.6-9_amd64.deb ... Unpacking libapparmor1:amd64 (2.13.6-9) ... Selecting previously unselected package libcap2:amd64. Preparing to unpack .../01-libcap2_1%3a2.44-1_amd64.deb ... Unpacking libcap2:amd64 (1:2.44-1) ... Selecting previously unselected package libargon2-1:amd64. Preparing to unpack .../02-libargon2-1_0~20171227-0.2_amd64.deb ... Unpacking libargon2-1:amd64 (0~20171227-0.2) ... Selecting previously unselected package dmsetup. Preparing to unpack .../03-dmsetup_2%3a1.02.175-2_amd64.deb ... Unpacking dmsetup (2:1.02.175-2) ... Selecting previously unselected package libdevmapper1.02.1:amd64. Preparing to unpack .../04-libdevmapper1.02.1_2%3a1.02.175-2_amd64.deb ... Unpacking libdevmapper1.02.1:amd64 (2:1.02.175-2) ... Selecting previously unselected package libjson-c5:amd64. Preparing to unpack .../05-libjson-c5_0.15-2_amd64.deb ... Unpacking libjson-c5:amd64 (0.15-2) ... Selecting previously unselected package libcryptsetup12:amd64. Preparing to unpack .../06-libcryptsetup12_2%3a2.3.4-2_amd64.deb ... Unpacking libcryptsetup12:amd64 (2:2.3.4-2) ... Selecting previously unselected package libip4tc2:amd64. Preparing to unpack .../07-libip4tc2_1.8.7-1_amd64.deb ... Unpacking libip4tc2:amd64 (1.8.7-1) ... Selecting previously unselected package libkmod2:amd64. Preparing to unpack .../08-libkmod2_28-1_amd64.deb ... Unpacking libkmod2:amd64 (28-1) ... Selecting previously unselected package systemd-timesyncd. Preparing to unpack .../09-systemd-timesyncd_247.3-1_amd64.deb ... Unpacking systemd-timesyncd (247.3-1) ... Selecting previously unselected package systemd. Preparing to unpack .../10-systemd_247.3-1_amd64.deb ... Unpacking systemd (247.3-1) ... Setting up libapparmor1:amd64 (2.13.6-9) ... Setting up libcap2:amd64 (1:2.44-1) ... Setting up libargon2-1:amd64 (0~20171227-0.2) ... Setting up libjson-c5:amd64 (0.15-2) ... Setting up libip4tc2:amd64 (1.8.7-1) ... Setting up libkmod2:amd64 (28-1) ... Setting up libdevmapper1.02.1:amd64 (2:1.02.175-2) ... Setting up libcryptsetup12:amd64 (2:2.3.4-2) ... Setting up systemd-timesyncd (247.3-1) ... Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /lib/systemd/system/systemd-timesyncd.service. Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service. Setting up systemd (247.3-1) ... Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /lib/systemd/system/getty@.service. Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /lib/systemd/system/remote-fs.target. Created symlink /etc/systemd/system/sysinit.target.wants/systemd-pstore.service → /lib/systemd/system/systemd-pstore.service. Initializing machine ID from random generator. Setting up dmsetup (2:1.02.175-2) ... Selecting previously unselected package systemd-sysv. (Reading database ... 11355 files and directories currently installed.) Preparing to unpack .../00-systemd-sysv_247.3-1_amd64.deb ... Unpacking systemd-sysv (247.3-1) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../01-libdbus-1-3_1.12.20-1_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.12.20-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../02-libexpat1_2.2.10-1_amd64.deb ... Unpacking libexpat1:amd64 (2.2.10-1) ... Selecting previously unselected package dbus. Preparing to unpack .../03-dbus_1.12.20-1_amd64.deb ... Unpacking dbus (1.12.20-1) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../04-bsdextrautils_2.36.1-7_amd64.deb ... Unpacking bsdextrautils (2.36.1-7) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.7-1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.22.4-6_amd64.deb ... Unpacking groff-base (1.22.4-6) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../07-libpipeline1_1.5.3-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.3-1) ... Selecting previously unselected package man-db. Preparing to unpack .../08-man-db_2.9.4-1_amd64.deb ... Unpacking man-db (2.9.4-1) ... Selecting previously unselected package perl-modules-5.32. Preparing to unpack .../09-perl-modules-5.32_5.32.1-2_all.deb ... Unpacking perl-modules-5.32 (5.32.1-2) ... Selecting previously unselected package libperl5.32:amd64. Preparing to unpack .../10-libperl5.32_5.32.1-2_amd64.deb ... Unpacking libperl5.32:amd64 (5.32.1-2) ... Selecting previously unselected package perl. Preparing to unpack .../11-perl_5.32.1-2_amd64.deb ... Unpacking perl (5.32.1-2) ... Selecting previously unselected package liblocale-gettext-perl. Preparing to unpack .../12-liblocale-gettext-perl_1.07-4+b1_amd64.deb ... Unpacking liblocale-gettext-perl (1.07-4+b1) ... Selecting previously unselected package gcc-10-base:armhf. Preparing to unpack .../13-gcc-10-base_10.2.1-6_armhf.deb ... Unpacking gcc-10-base:armhf (10.2.1-6) ... Selecting previously unselected package libgcc-s1:armhf. Preparing to unpack .../14-libgcc-s1_10.2.1-6_armhf.deb ... Unpacking libgcc-s1:armhf (10.2.1-6) ... Selecting previously unselected package libcrypt1:armhf. Preparing to unpack .../15-libcrypt1_1%3a4.4.17-1_armhf.deb ... Unpacking libcrypt1:armhf (1:4.4.17-1) ... Selecting previously unselected package libc6:armhf. Preparing to unpack .../16-libc6_2.31-9_armhf.deb ... Unpacking libc6:armhf (2.31-9) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../17-libglib2.0-0_2.66.7-1_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.66.7-1) ... Selecting previously unselected package libicu67:amd64. Preparing to unpack .../18-libicu67_67.1-6_amd64.deb ... Unpacking libicu67:amd64 (67.1-6) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../19-libxml2_2.9.10+dfsg-6.3+b1_amd64.deb ... Unpacking libxml2:amd64 (2.9.10+dfsg-6.3+b1) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../20-shared-mime-info_2.0-1_amd64.deb ... Unpacking shared-mime-info (2.0-1) ... Selecting previously unselected package libstdc++6:armhf. Preparing to unpack .../21-libstdc++6_10.2.1-6_armhf.deb ... Unpacking libstdc++6:armhf (10.2.1-6) ... Selecting previously unselected package libdouble-conversion3:armhf. Preparing to unpack .../22-libdouble-conversion3_3.1.5-6.1_armhf.deb ... Unpacking libdouble-conversion3:armhf (3.1.5-6.1) ... Selecting previously unselected package libffi7:armhf. Preparing to unpack .../23-libffi7_3.3-5_armhf.deb ... Unpacking libffi7:armhf (3.3-5) ... Selecting previously unselected package libblkid1:armhf. Preparing to unpack .../24-libblkid1_2.36.1-7_armhf.deb ... Unpacking libblkid1:armhf (2.36.1-7) ... Selecting previously unselected package libpcre2-8-0:armhf. Preparing to unpack .../25-libpcre2-8-0_10.36-2_armhf.deb ... Unpacking libpcre2-8-0:armhf (10.36-2) ... Selecting previously unselected package libselinux1:armhf. Preparing to unpack .../26-libselinux1_3.1-3_armhf.deb ... Unpacking libselinux1:armhf (3.1-3) ... Selecting previously unselected package libmount1:armhf. Preparing to unpack .../27-libmount1_2.36.1-7_armhf.deb ... Unpacking libmount1:armhf (2.36.1-7) ... Selecting previously unselected package libpcre3:armhf. Preparing to unpack .../28-libpcre3_2%3a8.39-13_armhf.deb ... Unpacking libpcre3:armhf (2:8.39-13) ... Selecting previously unselected package zlib1g:armhf. Preparing to unpack .../29-zlib1g_1%3a1.2.11.dfsg-2_armhf.deb ... Unpacking zlib1g:armhf (1:1.2.11.dfsg-2) ... Selecting previously unselected package libglib2.0-0:armhf. Preparing to unpack .../30-libglib2.0-0_2.66.7-1_armhf.deb ... Unpacking libglib2.0-0:armhf (2.66.7-1) ... Selecting previously unselected package libicu67:armhf. Preparing to unpack .../31-libicu67_67.1-6_armhf.deb ... Unpacking libicu67:armhf (67.1-6) ... Selecting previously unselected package libpcre2-16-0:armhf. Preparing to unpack .../32-libpcre2-16-0_10.36-2_armhf.deb ... Unpacking libpcre2-16-0:armhf (10.36-2) ... Selecting previously unselected package libzstd1:armhf. Preparing to unpack .../33-libzstd1_1.4.8+dfsg-1_armhf.deb ... Unpacking libzstd1:armhf (1.4.8+dfsg-1) ... Selecting previously unselected package libqt5core5a:armhf. Preparing to unpack .../34-libqt5core5a_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5core5a:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../35-libbrotli1_1.0.9-2+b2_amd64.deb ... Unpacking libbrotli1:amd64 (1.0.9-2+b2) ... Selecting previously unselected package libpng16-16:amd64. Preparing to unpack .../36-libpng16-16_1.6.37-3_amd64.deb ... Unpacking libpng16-16:amd64 (1.6.37-3) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../37-libfreetype6_2.10.4+dfsg-1_amd64.deb ... Unpacking libfreetype6:amd64 (2.10.4+dfsg-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../38-sensible-utils_0.0.14_all.deb ... Unpacking sensible-utils (0.0.14) ... Selecting previously unselected package ucf. Preparing to unpack .../39-ucf_3.0043_all.deb ... Moving old data out of the way Unpacking ucf (3.0043) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../40-fonts-dejavu-core_2.37-2_all.deb ... Unpacking fonts-dejavu-core (2.37-2) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../41-fontconfig-config_2.13.1-4.2_all.deb ... Unpacking fontconfig-config (2.13.1-4.2) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../42-libfontconfig1_2.13.1-4.2_amd64.deb ... Unpacking libfontconfig1:amd64 (2.13.1-4.2) ... Selecting previously unselected package fontconfig. Preparing to unpack .../43-fontconfig_2.13.1-4.2_amd64.deb ... Unpacking fontconfig (2.13.1-4.2) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../44-libdrm-common_2.4.104-1_all.deb ... Unpacking libdrm-common (2.4.104-1) ... Selecting previously unselected package libdrm2:armhf. Preparing to unpack .../45-libdrm2_2.4.104-1_armhf.deb ... Unpacking libdrm2:armhf (2.4.104-1) ... Selecting previously unselected package libglvnd0:armhf. Preparing to unpack .../46-libglvnd0_1.3.2-1_armhf.deb ... Unpacking libglvnd0:armhf (1.3.2-1) ... Selecting previously unselected package libexpat1:armhf. Preparing to unpack .../47-libexpat1_2.2.10-1_armhf.deb ... Unpacking libexpat1:armhf (2.2.10-1) ... Selecting previously unselected package libwayland-server0:armhf. Preparing to unpack .../48-libwayland-server0_1.18.0-2~exp1.1_armhf.deb ... Unpacking libwayland-server0:armhf (1.18.0-2~exp1.1) ... Selecting previously unselected package libgbm1:armhf. Preparing to unpack .../49-libgbm1_20.3.4-1_armhf.deb ... Unpacking libgbm1:armhf (20.3.4-1) ... Selecting previously unselected package libglapi-mesa:armhf. Preparing to unpack .../50-libglapi-mesa_20.3.4-1_armhf.deb ... Unpacking libglapi-mesa:armhf (20.3.4-1) ... Selecting previously unselected package libwayland-client0:armhf. Preparing to unpack .../51-libwayland-client0_1.18.0-2~exp1.1_armhf.deb ... Unpacking libwayland-client0:armhf (1.18.0-2~exp1.1) ... Selecting previously unselected package libxau6:armhf. Preparing to unpack .../52-libxau6_1%3a1.0.9-1_armhf.deb ... Unpacking libxau6:armhf (1:1.0.9-1) ... Selecting previously unselected package libmd0:armhf. Preparing to unpack .../53-libmd0_1.0.3-3_armhf.deb ... Unpacking libmd0:armhf (1.0.3-3) ... Selecting previously unselected package libbsd0:armhf. Preparing to unpack .../54-libbsd0_0.11.3-1_armhf.deb ... Unpacking libbsd0:armhf (0.11.3-1) ... Selecting previously unselected package libxdmcp6:armhf. Preparing to unpack .../55-libxdmcp6_1%3a1.1.2-3_armhf.deb ... Unpacking libxdmcp6:armhf (1:1.1.2-3) ... Selecting previously unselected package libxcb1:armhf. Preparing to unpack .../56-libxcb1_1.14-3_armhf.deb ... Unpacking libxcb1:armhf (1.14-3) ... Selecting previously unselected package libx11-data. Preparing to unpack .../57-libx11-data_2%3a1.7.0-2_all.deb ... Unpacking libx11-data (2:1.7.0-2) ... Selecting previously unselected package libx11-6:armhf. Preparing to unpack .../58-libx11-6_2%3a1.7.0-2_armhf.deb ... Unpacking libx11-6:armhf (2:1.7.0-2) ... Selecting previously unselected package libx11-xcb1:armhf. Preparing to unpack .../59-libx11-xcb1_2%3a1.7.0-2_armhf.deb ... Unpacking libx11-xcb1:armhf (2:1.7.0-2) ... Selecting previously unselected package libxcb-dri2-0:armhf. Preparing to unpack .../60-libxcb-dri2-0_1.14-3_armhf.deb ... Unpacking libxcb-dri2-0:armhf (1.14-3) ... Selecting previously unselected package libxcb-dri3-0:armhf. Preparing to unpack .../61-libxcb-dri3-0_1.14-3_armhf.deb ... Unpacking libxcb-dri3-0:armhf (1.14-3) ... Selecting previously unselected package libxcb-present0:armhf. Preparing to unpack .../62-libxcb-present0_1.14-3_armhf.deb ... Unpacking libxcb-present0:armhf (1.14-3) ... Selecting previously unselected package libxcb-sync1:armhf. Preparing to unpack .../63-libxcb-sync1_1.14-3_armhf.deb ... Unpacking libxcb-sync1:armhf (1.14-3) ... Selecting previously unselected package libxcb-xfixes0:armhf. Preparing to unpack .../64-libxcb-xfixes0_1.14-3_armhf.deb ... Unpacking libxcb-xfixes0:armhf (1.14-3) ... Selecting previously unselected package libxshmfence1:armhf. Preparing to unpack .../65-libxshmfence1_1.3-1_armhf.deb ... Unpacking libxshmfence1:armhf (1.3-1) ... Selecting previously unselected package libegl-mesa0:armhf. Preparing to unpack .../66-libegl-mesa0_20.3.4-1_armhf.deb ... Unpacking libegl-mesa0:armhf (20.3.4-1) ... Selecting previously unselected package libegl1:armhf. Preparing to unpack .../67-libegl1_1.3.2-1_armhf.deb ... Unpacking libegl1:armhf (1.3.2-1) ... Selecting previously unselected package libbrotli1:armhf. Preparing to unpack .../68-libbrotli1_1.0.9-2+b2_armhf.deb ... Unpacking libbrotli1:armhf (1.0.9-2+b2) ... Selecting previously unselected package libpng16-16:armhf. Preparing to unpack .../69-libpng16-16_1.6.37-3_armhf.deb ... Unpacking libpng16-16:armhf (1.6.37-3) ... Selecting previously unselected package libfreetype6:armhf. Preparing to unpack .../70-libfreetype6_2.10.4+dfsg-1_armhf.deb ... Unpacking libfreetype6:armhf (2.10.4+dfsg-1) ... Selecting previously unselected package libuuid1:armhf. Preparing to unpack .../71-libuuid1_2.36.1-7_armhf.deb ... Unpacking libuuid1:armhf (2.36.1-7) ... Selecting previously unselected package libfontconfig1:armhf. Preparing to unpack .../72-libfontconfig1_2.13.1-4.2_armhf.deb ... Unpacking libfontconfig1:armhf (2.13.1-4.2) ... Selecting previously unselected package libgles2:armhf. Preparing to unpack .../73-libgles2_1.3.2-1_armhf.deb ... Unpacking libgles2:armhf (1.3.2-1) ... Selecting previously unselected package libgraphite2-3:armhf. Preparing to unpack .../74-libgraphite2-3_1.3.14-1_armhf.deb ... Unpacking libgraphite2-3:armhf (1.3.14-1) ... Selecting previously unselected package libharfbuzz0b:armhf. Preparing to unpack .../75-libharfbuzz0b_2.7.4-1_armhf.deb ... Unpacking libharfbuzz0b:armhf (2.7.4-1) ... Selecting previously unselected package x11-common. Preparing to unpack .../76-x11-common_1%3a7.7+21_all.deb ... Unpacking x11-common (1:7.7+21) ... Selecting previously unselected package libice6:armhf. Preparing to unpack .../77-libice6_2%3a1.0.10-1_armhf.deb ... Unpacking libice6:armhf (2:1.0.10-1) ... Selecting previously unselected package libevdev2:armhf. Preparing to unpack .../78-libevdev2_1.11.0+dfsg-1_armhf.deb ... Unpacking libevdev2:armhf (1.11.0+dfsg-1) ... Selecting previously unselected package libmtdev1:armhf. Preparing to unpack .../79-libmtdev1_1.1.6-1_armhf.deb ... Unpacking libmtdev1:armhf (1.1.6-1) ... Selecting previously unselected package libudev1:armhf. Preparing to unpack .../80-libudev1_247.3-1_armhf.deb ... Unpacking libudev1:armhf (247.3-1) ... Selecting previously unselected package libgudev-1.0-0:armhf. Preparing to unpack .../81-libgudev-1.0-0_234-1_armhf.deb ... Unpacking libgudev-1.0-0:armhf (234-1) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../82-libwacom-common_1.8-2_all.deb ... Unpacking libwacom-common (1.8-2) ... Selecting previously unselected package libwacom2:armhf. Preparing to unpack .../83-libwacom2_1.8-2_armhf.deb ... Unpacking libwacom2:armhf (1.8-2) ... Selecting previously unselected package libevdev2:amd64. Preparing to unpack .../84-libevdev2_1.11.0+dfsg-1_amd64.deb ... Unpacking libevdev2:amd64 (1.11.0+dfsg-1) ... Selecting previously unselected package libgudev-1.0-0:amd64. Preparing to unpack .../85-libgudev-1.0-0_234-1_amd64.deb ... Unpacking libgudev-1.0-0:amd64 (234-1) ... Selecting previously unselected package libwacom2:amd64. Preparing to unpack .../86-libwacom2_1.8-2_amd64.deb ... Unpacking libwacom2:amd64 (1.8-2) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../87-libinput-bin_1.16.4-3_amd64.deb ... Unpacking libinput-bin (1.16.4-3) ... Selecting previously unselected package libinput10:armhf. Preparing to unpack .../88-libinput10_1.16.4-3_armhf.deb ... Unpacking libinput10:armhf (1.16.4-3) ... Selecting previously unselected package libjpeg62-turbo:armhf. Preparing to unpack .../89-libjpeg62-turbo_1%3a2.0.5-2_armhf.deb ... Unpacking libjpeg62-turbo:armhf (1:2.0.5-2) ... Selecting previously unselected package libmd4c0:armhf. Preparing to unpack .../90-libmd4c0_0.4.7-1_armhf.deb ... Unpacking libmd4c0:armhf (0.4.7-1) ... Selecting previously unselected package libgpg-error0:armhf. Preparing to unpack .../91-libgpg-error0_1.38-2_armhf.deb ... Unpacking libgpg-error0:armhf (1.38-2) ... Selecting previously unselected package libgcrypt20:armhf. Preparing to unpack .../92-libgcrypt20_1.8.7-2_armhf.deb ... Unpacking libgcrypt20:armhf (1.8.7-2) ... Selecting previously unselected package liblz4-1:armhf. Preparing to unpack .../93-liblz4-1_1.9.3-1_armhf.deb ... Unpacking liblz4-1:armhf (1.9.3-1) ... Selecting previously unselected package liblzma5:armhf. Preparing to unpack .../94-liblzma5_5.2.5-1.0_armhf.deb ... Unpacking liblzma5:armhf (5.2.5-1.0) ... Setting up gcc-10-base:armhf (10.2.1-6) ... Setting up libgcc-s1:armhf (10.2.1-6) ... Setting up libcrypt1:armhf (1:4.4.17-1) ... Setting up libc6:armhf (2.31-9) ... Setting up libgpg-error0:armhf (1.38-2) ... Setting up libgcrypt20:armhf (1.8.7-2) ... Setting up liblz4-1:armhf (1.9.3-1) ... Setting up liblzma5:armhf (5.2.5-1.0) ... Setting up libzstd1:armhf (1.4.8+dfsg-1) ... Selecting previously unselected package libsystemd0:armhf. (Reading database ... 15716 files and directories currently installed.) Preparing to unpack .../000-libsystemd0_247.3-1_armhf.deb ... Unpacking libsystemd0:armhf (247.3-1) ... Selecting previously unselected package libdbus-1-3:armhf. Preparing to unpack .../001-libdbus-1-3_1.12.20-1_armhf.deb ... Unpacking libdbus-1-3:armhf (1.12.20-1) ... Selecting previously unselected package libqt5dbus5:armhf. Preparing to unpack .../002-libqt5dbus5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5dbus5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libssl1.1:armhf. Preparing to unpack .../003-libssl1.1_1.1.1i-3_armhf.deb ... Unpacking libssl1.1:armhf (1.1.1i-3) ... Selecting previously unselected package libcom-err2:armhf. Preparing to unpack .../004-libcom-err2_1.46.1-1_armhf.deb ... Unpacking libcom-err2:armhf (1.46.1-1) ... Selecting previously unselected package libkrb5support0:armhf. Preparing to unpack .../005-libkrb5support0_1.18.3-4_armhf.deb ... Unpacking libkrb5support0:armhf (1.18.3-4) ... Selecting previously unselected package libk5crypto3:armhf. Preparing to unpack .../006-libk5crypto3_1.18.3-4_armhf.deb ... Unpacking libk5crypto3:armhf (1.18.3-4) ... Selecting previously unselected package libkeyutils1:armhf. Preparing to unpack .../007-libkeyutils1_1.6.1-2_armhf.deb ... Unpacking libkeyutils1:armhf (1.6.1-2) ... Selecting previously unselected package libkrb5-3:armhf. Preparing to unpack .../008-libkrb5-3_1.18.3-4_armhf.deb ... Unpacking libkrb5-3:armhf (1.18.3-4) ... Selecting previously unselected package libgssapi-krb5-2:armhf. Preparing to unpack .../009-libgssapi-krb5-2_1.18.3-4_armhf.deb ... Unpacking libgssapi-krb5-2:armhf (1.18.3-4) ... Selecting previously unselected package libqt5network5:armhf. Preparing to unpack .../010-libqt5network5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5network5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libsm6:armhf. Preparing to unpack .../011-libsm6_2%3a1.2.3-1_armhf.deb ... Unpacking libsm6:armhf (2:1.2.3-1) ... Selecting previously unselected package libxcb-icccm4:armhf. Preparing to unpack .../012-libxcb-icccm4_0.4.1-1.1_armhf.deb ... Unpacking libxcb-icccm4:armhf (0.4.1-1.1) ... Selecting previously unselected package libxcb-shm0:armhf. Preparing to unpack .../013-libxcb-shm0_1.14-3_armhf.deb ... Unpacking libxcb-shm0:armhf (1.14-3) ... Selecting previously unselected package libxcb-util1:armhf. Preparing to unpack .../014-libxcb-util1_0.4.0-1+b1_armhf.deb ... Unpacking libxcb-util1:armhf (0.4.0-1+b1) ... Selecting previously unselected package libxcb-image0:armhf. Preparing to unpack .../015-libxcb-image0_0.4.0-1+b3_armhf.deb ... Unpacking libxcb-image0:armhf (0.4.0-1+b3) ... Selecting previously unselected package libxcb-keysyms1:armhf. Preparing to unpack .../016-libxcb-keysyms1_0.4.0-1+b2_armhf.deb ... Unpacking libxcb-keysyms1:armhf (0.4.0-1+b2) ... Selecting previously unselected package libxcb-randr0:armhf. Preparing to unpack .../017-libxcb-randr0_1.14-3_armhf.deb ... Unpacking libxcb-randr0:armhf (1.14-3) ... Selecting previously unselected package libxcb-render0:armhf. Preparing to unpack .../018-libxcb-render0_1.14-3_armhf.deb ... Unpacking libxcb-render0:armhf (1.14-3) ... Selecting previously unselected package libxcb-render-util0:armhf. Preparing to unpack .../019-libxcb-render-util0_0.3.9-1+b1_armhf.deb ... Unpacking libxcb-render-util0:armhf (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:armhf. Preparing to unpack .../020-libxcb-shape0_1.14-3_armhf.deb ... Unpacking libxcb-shape0:armhf (1.14-3) ... Selecting previously unselected package libxcb-xinerama0:armhf. Preparing to unpack .../021-libxcb-xinerama0_1.14-3_armhf.deb ... Unpacking libxcb-xinerama0:armhf (1.14-3) ... Selecting previously unselected package libxcb-xinput0:armhf. Preparing to unpack .../022-libxcb-xinput0_1.14-3_armhf.deb ... Unpacking libxcb-xinput0:armhf (1.14-3) ... Selecting previously unselected package libxcb-xkb1:armhf. Preparing to unpack .../023-libxcb-xkb1_1.14-3_armhf.deb ... Unpacking libxcb-xkb1:armhf (1.14-3) ... Selecting previously unselected package xkb-data. Preparing to unpack .../024-xkb-data_2.29-2_all.deb ... Unpacking xkb-data (2.29-2) ... Selecting previously unselected package libxkbcommon0:armhf. Preparing to unpack .../025-libxkbcommon0_1.0.3-2_armhf.deb ... Unpacking libxkbcommon0:armhf (1.0.3-2) ... Selecting previously unselected package libxkbcommon-x11-0:armhf. Preparing to unpack .../026-libxkbcommon-x11-0_1.0.3-2_armhf.deb ... Unpacking libxkbcommon-x11-0:armhf (1.0.3-2) ... Selecting previously unselected package libxrender1:armhf. Preparing to unpack .../027-libxrender1_1%3a0.9.10-1_armhf.deb ... Unpacking libxrender1:armhf (1:0.9.10-1) ... Selecting previously unselected package libqt5gui5:armhf. Preparing to unpack .../028-libqt5gui5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5gui5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5widgets5:armhf. Preparing to unpack .../029-libqt5widgets5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5widgets5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5svg5:armhf. Preparing to unpack .../030-libqt5svg5_5.15.2-2_armhf.deb ... Unpacking libqt5svg5:armhf (5.15.2-2) ... Selecting previously unselected package libqt5svg5-dev:armhf. Preparing to unpack .../031-libqt5svg5-dev_5.15.2-2_armhf.deb ... Unpacking libqt5svg5-dev:armhf (5.15.2-2) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../032-libelf1_0.183-1_amd64.deb ... Unpacking libelf1:amd64 (0.183-1) ... Selecting previously unselected package libdw1:amd64. Preparing to unpack .../033-libdw1_0.183-1_amd64.deb ... Unpacking libdw1:amd64 (0.183-1) ... Selecting previously unselected package libunwind8:amd64. Preparing to unpack .../034-libunwind8_1.3.2-2_amd64.deb ... Unpacking libunwind8:amd64 (1.3.2-2) ... Selecting previously unselected package libcap2-bin. Preparing to unpack .../035-libcap2-bin_1%3a2.44-1_amd64.deb ... Unpacking libcap2-bin (1:2.44-1) ... Selecting previously unselected package libgstreamer1.0-0:amd64. Preparing to unpack .../036-libgstreamer1.0-0_1.18.3-1_amd64.deb ... Unpacking libgstreamer1.0-0:amd64 (1.18.3-1) ... Selecting previously unselected package liborc-0.4-0:amd64. Preparing to unpack .../037-liborc-0.4-0_1%3a0.4.32-1_amd64.deb ... Unpacking liborc-0.4-0:amd64 (1:0.4.32-1) ... Selecting previously unselected package iso-codes. Preparing to unpack .../038-iso-codes_4.5.0-1_all.deb ... Unpacking iso-codes (4.5.0-1) ... Selecting previously unselected package libgstreamer-plugins-base1.0-0:amd64. Preparing to unpack .../039-libgstreamer-plugins-base1.0-0_1.18.3-1_amd64.deb ... Unpacking libgstreamer-plugins-base1.0-0:amd64 (1.18.3-1) ... Selecting previously unselected package libhyphen0:amd64. Preparing to unpack .../040-libhyphen0_2.8.8-7_amd64.deb ... Unpacking libhyphen0:amd64 (2.8.8-7) ... Selecting previously unselected package libjpeg62-turbo:amd64. Preparing to unpack .../041-libjpeg62-turbo_1%3a2.0.5-2_amd64.deb ... Unpacking libjpeg62-turbo:amd64 (1:2.0.5-2) ... Selecting previously unselected package libdouble-conversion3:amd64. Preparing to unpack .../042-libdouble-conversion3_3.1.5-6.1_amd64.deb ... Unpacking libdouble-conversion3:amd64 (3.1.5-6.1) ... Selecting previously unselected package libpcre2-16-0:amd64. Preparing to unpack .../043-libpcre2-16-0_10.36-2_amd64.deb ... Unpacking libpcre2-16-0:amd64 (10.36-2) ... Selecting previously unselected package libqt5core5a:amd64. Preparing to unpack .../044-libqt5core5a_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5core5a:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libdrm2:amd64. Preparing to unpack .../045-libdrm2_2.4.104-1_amd64.deb ... Unpacking libdrm2:amd64 (2.4.104-1) ... Selecting previously unselected package libglvnd0:amd64. Preparing to unpack .../046-libglvnd0_1.3.2-1_amd64.deb ... Unpacking libglvnd0:amd64 (1.3.2-1) ... Selecting previously unselected package libwayland-server0:amd64. Preparing to unpack .../047-libwayland-server0_1.18.0-2~exp1.1_amd64.deb ... Unpacking libwayland-server0:amd64 (1.18.0-2~exp1.1) ... Selecting previously unselected package libgbm1:amd64. Preparing to unpack .../048-libgbm1_20.3.4-1_amd64.deb ... Unpacking libgbm1:amd64 (20.3.4-1) ... Selecting previously unselected package libglapi-mesa:amd64. Preparing to unpack .../049-libglapi-mesa_20.3.4-1_amd64.deb ... Unpacking libglapi-mesa:amd64 (20.3.4-1) ... Selecting previously unselected package libwayland-client0:amd64. Preparing to unpack .../050-libwayland-client0_1.18.0-2~exp1.1_amd64.deb ... Unpacking libwayland-client0:amd64 (1.18.0-2~exp1.1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../051-libxau6_1%3a1.0.9-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.9-1) ... Selecting previously unselected package libmd0:amd64. Preparing to unpack .../052-libmd0_1.0.3-3_amd64.deb ... Unpacking libmd0:amd64 (1.0.3-3) ... Selecting previously unselected package libbsd0:amd64. Preparing to unpack .../053-libbsd0_0.11.3-1_amd64.deb ... Unpacking libbsd0:amd64 (0.11.3-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../054-libxdmcp6_1%3a1.1.2-3_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../055-libxcb1_1.14-3_amd64.deb ... Unpacking libxcb1:amd64 (1.14-3) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../056-libx11-6_2%3a1.7.0-2_amd64.deb ... Unpacking libx11-6:amd64 (2:1.7.0-2) ... Selecting previously unselected package libx11-xcb1:amd64. Preparing to unpack .../057-libx11-xcb1_2%3a1.7.0-2_amd64.deb ... Unpacking libx11-xcb1:amd64 (2:1.7.0-2) ... Selecting previously unselected package libxcb-dri2-0:amd64. Preparing to unpack .../058-libxcb-dri2-0_1.14-3_amd64.deb ... Unpacking libxcb-dri2-0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-dri3-0:amd64. Preparing to unpack .../059-libxcb-dri3-0_1.14-3_amd64.deb ... Unpacking libxcb-dri3-0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-present0:amd64. Preparing to unpack .../060-libxcb-present0_1.14-3_amd64.deb ... Unpacking libxcb-present0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-sync1:amd64. Preparing to unpack .../061-libxcb-sync1_1.14-3_amd64.deb ... Unpacking libxcb-sync1:amd64 (1.14-3) ... Selecting previously unselected package libxcb-xfixes0:amd64. Preparing to unpack .../062-libxcb-xfixes0_1.14-3_amd64.deb ... Unpacking libxcb-xfixes0:amd64 (1.14-3) ... Selecting previously unselected package libxshmfence1:amd64. Preparing to unpack .../063-libxshmfence1_1.3-1_amd64.deb ... Unpacking libxshmfence1:amd64 (1.3-1) ... Selecting previously unselected package libegl-mesa0:amd64. Preparing to unpack .../064-libegl-mesa0_20.3.4-1_amd64.deb ... Unpacking libegl-mesa0:amd64 (20.3.4-1) ... Selecting previously unselected package libegl1:amd64. Preparing to unpack .../065-libegl1_1.3.2-1_amd64.deb ... Unpacking libegl1:amd64 (1.3.2-1) ... Selecting previously unselected package libxcb-glx0:amd64. Preparing to unpack .../066-libxcb-glx0_1.14-3_amd64.deb ... Unpacking libxcb-glx0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-shm0:amd64. Preparing to unpack .../067-libxcb-shm0_1.14-3_amd64.deb ... Unpacking libxcb-shm0:amd64 (1.14-3) ... Selecting previously unselected package libxdamage1:amd64. Preparing to unpack .../068-libxdamage1_1%3a1.1.5-2_amd64.deb ... Unpacking libxdamage1:amd64 (1:1.1.5-2) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../069-libxext6_2%3a1.3.3-1.1_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.3-1.1) ... Selecting previously unselected package libxfixes3:amd64. Preparing to unpack .../070-libxfixes3_1%3a5.0.3-2_amd64.deb ... Unpacking libxfixes3:amd64 (1:5.0.3-2) ... Selecting previously unselected package libxxf86vm1:amd64. Preparing to unpack .../071-libxxf86vm1_1%3a1.1.4-1+b2_amd64.deb ... Unpacking libxxf86vm1:amd64 (1:1.1.4-1+b2) ... Selecting previously unselected package libdrm-amdgpu1:amd64. Preparing to unpack .../072-libdrm-amdgpu1_2.4.104-1_amd64.deb ... Unpacking libdrm-amdgpu1:amd64 (2.4.104-1) ... Selecting previously unselected package libpciaccess0:amd64. Preparing to unpack .../073-libpciaccess0_0.16-1_amd64.deb ... Unpacking libpciaccess0:amd64 (0.16-1) ... Selecting previously unselected package libdrm-intel1:amd64. Preparing to unpack .../074-libdrm-intel1_2.4.104-1_amd64.deb ... Unpacking libdrm-intel1:amd64 (2.4.104-1) ... Selecting previously unselected package libdrm-nouveau2:amd64. Preparing to unpack .../075-libdrm-nouveau2_2.4.104-1_amd64.deb ... Unpacking libdrm-nouveau2:amd64 (2.4.104-1) ... Selecting previously unselected package libdrm-radeon1:amd64. Preparing to unpack .../076-libdrm-radeon1_2.4.104-1_amd64.deb ... Unpacking libdrm-radeon1:amd64 (2.4.104-1) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../077-libedit2_3.1-20191231-2+b1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20191231-2+b1) ... Selecting previously unselected package libz3-4:amd64. Preparing to unpack .../078-libz3-4_4.8.10-1_amd64.deb ... Unpacking libz3-4:amd64 (4.8.10-1) ... Selecting previously unselected package libllvm11:amd64. Preparing to unpack .../079-libllvm11_1%3a11.0.1-2_amd64.deb ... Unpacking libllvm11:amd64 (1:11.0.1-2) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../080-libsensors-config_1%3a3.6.0-7_all.deb ... Unpacking libsensors-config (1:3.6.0-7) ... Selecting previously unselected package libsensors5:amd64. Preparing to unpack .../081-libsensors5_1%3a3.6.0-7_amd64.deb ... Unpacking libsensors5:amd64 (1:3.6.0-7) ... Selecting previously unselected package libvulkan1:amd64. Preparing to unpack .../082-libvulkan1_1.2.162.0-1_amd64.deb ... Unpacking libvulkan1:amd64 (1.2.162.0-1) ... Selecting previously unselected package libgl1-mesa-dri:amd64. Preparing to unpack .../083-libgl1-mesa-dri_20.3.4-1_amd64.deb ... Unpacking libgl1-mesa-dri:amd64 (20.3.4-1) ... Selecting previously unselected package libglx-mesa0:amd64. Preparing to unpack .../084-libglx-mesa0_20.3.4-1_amd64.deb ... Unpacking libglx-mesa0:amd64 (20.3.4-1) ... Selecting previously unselected package libglx0:amd64. Preparing to unpack .../085-libglx0_1.3.2-1_amd64.deb ... Unpacking libglx0:amd64 (1.3.2-1) ... Selecting previously unselected package libgl1:amd64. Preparing to unpack .../086-libgl1_1.3.2-1_amd64.deb ... Unpacking libgl1:amd64 (1.3.2-1) ... Selecting previously unselected package libgraphite2-3:amd64. Preparing to unpack .../087-libgraphite2-3_1.3.14-1_amd64.deb ... Unpacking libgraphite2-3:amd64 (1.3.14-1) ... Selecting previously unselected package libharfbuzz0b:amd64. Preparing to unpack .../088-libharfbuzz0b_2.7.4-1_amd64.deb ... Unpacking libharfbuzz0b:amd64 (2.7.4-1) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../089-libice6_2%3a1.0.10-1_amd64.deb ... Unpacking libice6:amd64 (2:1.0.10-1) ... Selecting previously unselected package libmtdev1:amd64. Preparing to unpack .../090-libmtdev1_1.1.6-1_amd64.deb ... Unpacking libmtdev1:amd64 (1.1.6-1) ... Selecting previously unselected package libinput10:amd64. Preparing to unpack .../091-libinput10_1.16.4-3_amd64.deb ... Unpacking libinput10:amd64 (1.16.4-3) ... Selecting previously unselected package libmd4c0:amd64. Preparing to unpack .../092-libmd4c0_0.4.7-1_amd64.deb ... Unpacking libmd4c0:amd64 (0.4.7-1) ... Selecting previously unselected package libqt5dbus5:amd64. Preparing to unpack .../093-libqt5dbus5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5dbus5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5network5:amd64. Preparing to unpack .../094-libqt5network5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5network5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../095-libsm6_2%3a1.2.3-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.3-1) ... Selecting previously unselected package libxcb-icccm4:amd64. Preparing to unpack .../096-libxcb-icccm4_0.4.1-1.1_amd64.deb ... Unpacking libxcb-icccm4:amd64 (0.4.1-1.1) ... Selecting previously unselected package libxcb-util1:amd64. Preparing to unpack .../097-libxcb-util1_0.4.0-1+b1_amd64.deb ... Unpacking libxcb-util1:amd64 (0.4.0-1+b1) ... Selecting previously unselected package libxcb-image0:amd64. Preparing to unpack .../098-libxcb-image0_0.4.0-1+b3_amd64.deb ... Unpacking libxcb-image0:amd64 (0.4.0-1+b3) ... Selecting previously unselected package libxcb-keysyms1:amd64. Preparing to unpack .../099-libxcb-keysyms1_0.4.0-1+b2_amd64.deb ... Unpacking libxcb-keysyms1:amd64 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-randr0:amd64. Preparing to unpack .../100-libxcb-randr0_1.14-3_amd64.deb ... Unpacking libxcb-randr0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-render0:amd64. Preparing to unpack .../101-libxcb-render0_1.14-3_amd64.deb ... Unpacking libxcb-render0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-render-util0:amd64. Preparing to unpack .../102-libxcb-render-util0_0.3.9-1+b1_amd64.deb ... Unpacking libxcb-render-util0:amd64 (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:amd64. Preparing to unpack .../103-libxcb-shape0_1.14-3_amd64.deb ... Unpacking libxcb-shape0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-xinerama0:amd64. Preparing to unpack .../104-libxcb-xinerama0_1.14-3_amd64.deb ... Unpacking libxcb-xinerama0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-xinput0:amd64. Preparing to unpack .../105-libxcb-xinput0_1.14-3_amd64.deb ... Unpacking libxcb-xinput0:amd64 (1.14-3) ... Selecting previously unselected package libxcb-xkb1:amd64. Preparing to unpack .../106-libxcb-xkb1_1.14-3_amd64.deb ... Unpacking libxcb-xkb1:amd64 (1.14-3) ... Selecting previously unselected package libxkbcommon0:amd64. Preparing to unpack .../107-libxkbcommon0_1.0.3-2_amd64.deb ... Unpacking libxkbcommon0:amd64 (1.0.3-2) ... Selecting previously unselected package libxkbcommon-x11-0:amd64. Preparing to unpack .../108-libxkbcommon-x11-0_1.0.3-2_amd64.deb ... Unpacking libxkbcommon-x11-0:amd64 (1.0.3-2) ... Selecting previously unselected package libxrender1:amd64. Preparing to unpack .../109-libxrender1_1%3a0.9.10-1_amd64.deb ... Unpacking libxrender1:amd64 (1:0.9.10-1) ... Selecting previously unselected package libqt5gui5:amd64. Preparing to unpack .../110-libqt5gui5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5gui5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5positioning5:amd64. Preparing to unpack .../111-libqt5positioning5_5.15.2+dfsg-2_amd64.deb ... Unpacking libqt5positioning5:amd64 (5.15.2+dfsg-2) ... Selecting previously unselected package libavahi-common-data:amd64. Preparing to unpack .../112-libavahi-common-data_0.8-5_amd64.deb ... Unpacking libavahi-common-data:amd64 (0.8-5) ... Selecting previously unselected package libavahi-common3:amd64. Preparing to unpack .../113-libavahi-common3_0.8-5_amd64.deb ... Unpacking libavahi-common3:amd64 (0.8-5) ... Selecting previously unselected package libavahi-client3:amd64. Preparing to unpack .../114-libavahi-client3_0.8-5_amd64.deb ... Unpacking libavahi-client3:amd64 (0.8-5) ... Selecting previously unselected package libcups2:amd64. Preparing to unpack .../115-libcups2_2.3.3op2-3_amd64.deb ... Unpacking libcups2:amd64 (2.3.3op2-3) ... Selecting previously unselected package libqt5widgets5:amd64. Preparing to unpack .../116-libqt5widgets5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5widgets5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5printsupport5:amd64. Preparing to unpack .../117-libqt5printsupport5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5printsupport5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5qml5:amd64. Preparing to unpack .../118-libqt5qml5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5qml5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5qmlmodels5:amd64. Preparing to unpack .../119-libqt5qmlmodels5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5qmlmodels5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quick5:amd64. Preparing to unpack .../120-libqt5quick5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5quick5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5sensors5:amd64. Preparing to unpack .../121-libqt5sensors5_5.15.2-2_amd64.deb ... Unpacking libqt5sensors5:amd64 (5.15.2-2) ... Selecting previously unselected package libqt5webchannel5:amd64. Preparing to unpack .../122-libqt5webchannel5_5.15.2-2_amd64.deb ... Unpacking libqt5webchannel5:amd64 (5.15.2-2) ... Selecting previously unselected package libsqlite3-0:amd64. Preparing to unpack .../123-libsqlite3-0_3.34.1-2_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.34.1-2) ... Selecting previously unselected package libwebp6:amd64. Preparing to unpack .../124-libwebp6_0.6.1-2+b1_amd64.deb ... Unpacking libwebp6:amd64 (0.6.1-2+b1) ... Selecting previously unselected package libwoff1:amd64. Preparing to unpack .../125-libwoff1_1.0.2-1+b1_amd64.deb ... Unpacking libwoff1:amd64 (1.0.2-1+b1) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../126-libxslt1.1_1.1.34-4_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.34-4) ... Selecting previously unselected package libqt5webkit5:amd64. Preparing to unpack .../127-libqt5webkit5_5.212.0~alpha4-11_amd64.deb ... Unpacking libqt5webkit5:amd64 (5.212.0~alpha4-11) ... Selecting previously unselected package libpython3.9-minimal:amd64. Preparing to unpack .../128-libpython3.9-minimal_3.9.1-4_amd64.deb ... Unpacking libpython3.9-minimal:amd64 (3.9.1-4) ... Selecting previously unselected package python3.9-minimal. Preparing to unpack .../129-python3.9-minimal_3.9.1-4_amd64.deb ... Unpacking python3.9-minimal (3.9.1-4) ... Setting up libpython3.9-minimal:amd64 (3.9.1-4) ... Setting up libexpat1:amd64 (2.2.10-1) ... Setting up libexpat1:armhf (2.2.10-1) ... Setting up python3.9-minimal (3.9.1-4) ... Selecting previously unselected package python3-minimal. (Reading database ... 18515 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.9.1-1_amd64.deb ... Unpacking python3-minimal (3.9.1-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_4.0.0_all.deb ... Unpacking media-types (4.0.0) ... Selecting previously unselected package libmpdec3:amd64. Preparing to unpack .../2-libmpdec3_2.5.1-1_amd64.deb ... Unpacking libmpdec3:amd64 (2.5.1-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../3-readline-common_8.1-1_all.deb ... Unpacking readline-common (8.1-1) ... Selecting previously unselected package libreadline8:amd64. Preparing to unpack .../4-libreadline8_8.1-1_amd64.deb ... Unpacking libreadline8:amd64 (8.1-1) ... Selecting previously unselected package libpython3.9-stdlib:amd64. Preparing to unpack .../5-libpython3.9-stdlib_3.9.1-4_amd64.deb ... Unpacking libpython3.9-stdlib:amd64 (3.9.1-4) ... Selecting previously unselected package python3.9. Preparing to unpack .../6-python3.9_3.9.1-4_amd64.deb ... Unpacking python3.9 (3.9.1-4) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../7-libpython3-stdlib_3.9.1-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.9.1-1) ... Setting up python3-minimal (3.9.1-1) ... Selecting previously unselected package python3. (Reading database ... 18936 files and directories currently installed.) Preparing to unpack .../000-python3_3.9.1-1_amd64.deb ... Unpacking python3 (3.9.1-1) ... Selecting previously unselected package gcc-9-base:armhf. Preparing to unpack .../001-gcc-9-base_9.3.0-22_armhf.deb ... Unpacking gcc-9-base:armhf (9.3.0-22) ... Selecting previously unselected package libncurses6:amd64. Preparing to unpack .../002-libncurses6_6.2+20201114-2_amd64.deb ... Unpacking libncurses6:amd64 (6.2+20201114-2) ... Selecting previously unselected package libprocps8:amd64. Preparing to unpack .../003-libprocps8_2%3a3.3.17-3_amd64.deb ... Unpacking libprocps8:amd64 (2:3.3.17-3) ... Selecting previously unselected package procps. Preparing to unpack .../004-procps_2%3a3.3.17-3_amd64.deb ... Unpacking procps (2:3.3.17-3) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../005-libmagic-mgc_1%3a5.39-3_amd64.deb ... Unpacking libmagic-mgc (1:5.39-3) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../006-libmagic1_1%3a5.39-3_amd64.deb ... Unpacking libmagic1:amd64 (1:5.39-3) ... Selecting previously unselected package file. Preparing to unpack .../007-file_1%3a5.39-3_amd64.deb ... Unpacking file (1:5.39-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../008-gettext-base_0.21-4_amd64.deb ... Unpacking gettext-base (0.21-4) ... Selecting previously unselected package libpam-systemd:amd64. Preparing to unpack .../009-libpam-systemd_247.3-1_amd64.deb ... Unpacking libpam-systemd:amd64 (247.3-1) ... Selecting previously unselected package hicolor-icon-theme. Preparing to unpack .../010-hicolor-icon-theme_0.17-2_all.deb ... Unpacking hicolor-icon-theme (0.17-2) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../011-libgdk-pixbuf2.0-common_2.42.2+dfsg-1_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.42.2+dfsg-1) ... Selecting previously unselected package libdeflate0:amd64. Preparing to unpack .../012-libdeflate0_1.7-1_amd64.deb ... Unpacking libdeflate0:amd64 (1.7-1) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../013-libjbig0_2.1-3.1+b2_amd64.deb ... Unpacking libjbig0:amd64 (2.1-3.1+b2) ... Selecting previously unselected package libtiff5:amd64. Preparing to unpack .../014-libtiff5_4.2.0-1_amd64.deb ... Unpacking libtiff5:amd64 (4.2.0-1) ... Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. Preparing to unpack .../015-libgdk-pixbuf-2.0-0_2.42.2+dfsg-1_amd64.deb ... Unpacking libgdk-pixbuf-2.0-0:amd64 (2.42.2+dfsg-1) ... Selecting previously unselected package gtk-update-icon-cache. Preparing to unpack .../016-gtk-update-icon-cache_3.24.24-1_amd64.deb ... Unpacking gtk-update-icon-cache (3.24.24-1) ... Selecting previously unselected package adwaita-icon-theme. Preparing to unpack .../017-adwaita-icon-theme_3.38.0-1_all.deb ... Unpacking adwaita-icon-theme (3.38.0-1) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../018-libsigsegv2_2.13-1_amd64.deb ... Unpacking libsigsegv2:amd64 (2.13-1) ... Selecting previously unselected package m4. Preparing to unpack .../019-m4_1.4.18-5_amd64.deb ... Unpacking m4 (1.4.18-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../020-autoconf_2.69-14_all.deb ... Unpacking autoconf (2.69-14) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../021-autotools-dev_20180224.1+nmu1_all.deb ... Unpacking autotools-dev (20180224.1+nmu1) ... Selecting previously unselected package automake. Preparing to unpack .../022-automake_1%3a1.16.3-2_all.deb ... Unpacking automake (1:1.16.3-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../023-autopoint_0.21-4_all.deb ... Unpacking autopoint (0.21-4) ... Selecting previously unselected package binutils-arm-linux-gnueabihf. Preparing to unpack .../024-binutils-arm-linux-gnueabihf_2.35.1-7_amd64.deb ... Unpacking binutils-arm-linux-gnueabihf (2.35.1-7) ... Selecting previously unselected package libcrypt-dev:amd64. Preparing to unpack .../025-libcrypt-dev_1%3a4.4.17-1_amd64.deb ... Unpacking libcrypt-dev:amd64 (1:4.4.17-1) ... Selecting previously unselected package libtirpc-dev:amd64. Preparing to unpack .../026-libtirpc-dev_1.3.1-1_amd64.deb ... Unpacking libtirpc-dev:amd64 (1.3.1-1) ... Selecting previously unselected package libnsl-dev:amd64. Preparing to unpack .../027-libnsl-dev_1.3.0-2_amd64.deb ... Unpacking libnsl-dev:amd64 (1.3.0-2) ... Selecting previously unselected package libc6-dev:amd64. Preparing to unpack .../028-libc6-dev_2.31-9_amd64.deb ... Unpacking libc6-dev:amd64 (2.31-9) ... Selecting previously unselected package libstdc++-10-dev:amd64. Preparing to unpack .../029-libstdc++-10-dev_10.2.1-6_amd64.deb ... Unpacking libstdc++-10-dev:amd64 (10.2.1-6) ... Selecting previously unselected package g++-10. Preparing to unpack .../030-g++-10_10.2.1-6_amd64.deb ... Unpacking g++-10 (10.2.1-6) ... Selecting previously unselected package g++. Preparing to unpack .../031-g++_4%3a10.2.1-1_amd64.deb ... Unpacking g++ (4:10.2.1-1) ... Selecting previously unselected package libdpkg-perl. Preparing to unpack .../032-libdpkg-perl_1.20.7.1_all.deb ... Unpacking libdpkg-perl (1.20.7.1) ... Selecting previously unselected package dpkg-dev. Preparing to unpack .../033-dpkg-dev_1.20.7.1_all.deb ... Unpacking dpkg-dev (1.20.7.1) ... Selecting previously unselected package build-essential. Preparing to unpack .../034-build-essential_12.9_amd64.deb ... Unpacking build-essential (12.9) ... Selecting previously unselected package cmake-data. Preparing to unpack .../035-cmake-data_3.18.4-2_all.deb ... Unpacking cmake-data (3.18.4-2) ... Selecting previously unselected package libarchive13:amd64. Preparing to unpack .../036-libarchive13_3.4.3-2_amd64.deb ... Unpacking libarchive13:amd64 (3.4.3-2) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../037-libsasl2-modules-db_2.1.27+dfsg-2.1_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../038-libsasl2-2_2.1.27+dfsg-2.1_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.27+dfsg-2.1) ... Selecting previously unselected package libldap-2.4-2:amd64. Preparing to unpack .../039-libldap-2.4-2_2.4.57+dfsg-1_amd64.deb ... Unpacking libldap-2.4-2:amd64 (2.4.57+dfsg-1) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../040-libnghttp2-14_1.43.0-1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.43.0-1) ... Selecting previously unselected package libpsl5:amd64. Preparing to unpack .../041-libpsl5_0.21.0-1.2_amd64.deb ... Unpacking libpsl5:amd64 (0.21.0-1.2) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../042-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ... Selecting previously unselected package libssh2-1:amd64. Preparing to unpack .../043-libssh2-1_1.9.0-2_amd64.deb ... Unpacking libssh2-1:amd64 (1.9.0-2) ... Selecting previously unselected package libcurl4:amd64. Preparing to unpack .../044-libcurl4_7.74.0-1.1_amd64.deb ... Unpacking libcurl4:amd64 (7.74.0-1.1) ... Selecting previously unselected package libjsoncpp24:amd64. Preparing to unpack .../045-libjsoncpp24_1.9.4-4_amd64.deb ... Unpacking libjsoncpp24:amd64 (1.9.4-4) ... Selecting previously unselected package librhash0:amd64. Preparing to unpack .../046-librhash0_1.4.1-1_amd64.deb ... Unpacking librhash0:amd64 (1.4.1-1) ... Selecting previously unselected package libuv1:amd64. Preparing to unpack .../047-libuv1_1.40.0-1_amd64.deb ... Unpacking libuv1:amd64 (1.40.0-1) ... Selecting previously unselected package cmake. Preparing to unpack .../048-cmake_3.18.4-2_amd64.deb ... Unpacking cmake (3.18.4-2) ... Selecting previously unselected package gcc-10-arm-linux-gnueabihf-base:amd64. Preparing to unpack .../049-gcc-10-arm-linux-gnueabihf-base_10.2.1-6cross1_amd64.deb ... Unpacking gcc-10-arm-linux-gnueabihf-base:amd64 (10.2.1-6cross1) ... Selecting previously unselected package cpp-10-arm-linux-gnueabihf. Preparing to unpack .../050-cpp-10-arm-linux-gnueabihf_10.2.1-6cross1_amd64.deb ... Unpacking cpp-10-arm-linux-gnueabihf (10.2.1-6cross1) ... Selecting previously unselected package cpp-arm-linux-gnueabihf. Preparing to unpack .../051-cpp-arm-linux-gnueabihf_4%3a10.2.1-1_amd64.deb ... Unpacking cpp-arm-linux-gnueabihf (4:10.2.1-1) ... Selecting previously unselected package cross-config. Preparing to unpack .../052-cross-config_2.6.15-3.1_all.deb ... Unpacking cross-config (2.6.15-3.1) ... Selecting previously unselected package gcc-10-cross-base. Preparing to unpack .../053-gcc-10-cross-base_10.2.1-6cross1_all.deb ... Unpacking gcc-10-cross-base (10.2.1-6cross1) ... Selecting previously unselected package libc6-armhf-cross. Preparing to unpack .../054-libc6-armhf-cross_2.31-9cross2_all.deb ... Unpacking libc6-armhf-cross (2.31-9cross2) ... Selecting previously unselected package libgcc-s1-armhf-cross. Preparing to unpack .../055-libgcc-s1-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libgcc-s1-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package libgomp1-armhf-cross. Preparing to unpack .../056-libgomp1-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libgomp1-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package libatomic1-armhf-cross. Preparing to unpack .../057-libatomic1-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libatomic1-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package libasan6-armhf-cross. Preparing to unpack .../058-libasan6-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libasan6-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package libstdc++6-armhf-cross. Preparing to unpack .../059-libstdc++6-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libstdc++6-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package libubsan1-armhf-cross. Preparing to unpack .../060-libubsan1-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libubsan1-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package libgcc-10-dev-armhf-cross. Preparing to unpack .../061-libgcc-10-dev-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libgcc-10-dev-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package gcc-10-arm-linux-gnueabihf. Preparing to unpack .../062-gcc-10-arm-linux-gnueabihf_10.2.1-6cross1_amd64.deb ... Unpacking gcc-10-arm-linux-gnueabihf (10.2.1-6cross1) ... Selecting previously unselected package gcc-arm-linux-gnueabihf. Preparing to unpack .../063-gcc-arm-linux-gnueabihf_4%3a10.2.1-1_amd64.deb ... Unpacking gcc-arm-linux-gnueabihf (4:10.2.1-1) ... Selecting previously unselected package linux-libc-dev-armhf-cross. Preparing to unpack .../064-linux-libc-dev-armhf-cross_5.10.5-1cross2_all.deb ... Unpacking linux-libc-dev-armhf-cross (5.10.5-1cross2) ... Selecting previously unselected package libc6-dev-armhf-cross. Preparing to unpack .../065-libc6-dev-armhf-cross_2.31-9cross2_all.deb ... Unpacking libc6-dev-armhf-cross (2.31-9cross2) ... Selecting previously unselected package libstdc++-10-dev-armhf-cross. Preparing to unpack .../066-libstdc++-10-dev-armhf-cross_10.2.1-6cross1_all.deb ... Unpacking libstdc++-10-dev-armhf-cross (10.2.1-6cross1) ... Selecting previously unselected package g++-10-arm-linux-gnueabihf. Preparing to unpack .../067-g++-10-arm-linux-gnueabihf_10.2.1-6cross1_amd64.deb ... Unpacking g++-10-arm-linux-gnueabihf (10.2.1-6cross1) ... Selecting previously unselected package g++-arm-linux-gnueabihf. Preparing to unpack .../068-g++-arm-linux-gnueabihf_4%3a10.2.1-1_amd64.deb ... Unpacking g++-arm-linux-gnueabihf (4:10.2.1-1) ... Selecting previously unselected package libconfig-inifiles-perl. Preparing to unpack .../069-libconfig-inifiles-perl_3.000003-1_all.deb ... Unpacking libconfig-inifiles-perl (3.000003-1) ... Selecting previously unselected package libio-string-perl. Preparing to unpack .../070-libio-string-perl_1.08-3.1_all.deb ... Unpacking libio-string-perl (1.08-3.1) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../071-libxml-namespacesupport-perl_1.12-1.1_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-1.1) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../072-libxml-sax-base-perl_1.09-1.1_all.deb ... Unpacking libxml-sax-base-perl (1.09-1.1) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../073-libxml-sax-perl_1.02+dfsg-1_all.deb ... Unpacking libxml-sax-perl (1.02+dfsg-1) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../074-libxml-libxml-perl_2.0134+dfsg-2+b1_amd64.deb ... Unpacking libxml-libxml-perl (2.0134+dfsg-2+b1) ... Selecting previously unselected package libxml-simple-perl. Preparing to unpack .../075-libxml-simple-perl_2.25-1_all.deb ... Unpacking libxml-simple-perl (2.25-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../076-libyaml-perl_1.30-1_all.deb ... Unpacking libyaml-perl (1.30-1) ... Selecting previously unselected package libconfig-auto-perl. Preparing to unpack .../077-libconfig-auto-perl_0.44-1.1_all.deb ... Unpacking libconfig-auto-perl (0.44-1.1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../078-libfile-which-perl_1.23-1_all.deb ... Unpacking libfile-which-perl (1.23-1) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../079-libfile-homedir-perl_1.006-1_all.deb ... Unpacking libfile-homedir-perl (1.006-1) ... Selecting previously unselected package libdebian-dpkgcross-perl. Preparing to unpack .../080-libdebian-dpkgcross-perl_2.6.15-3.1_all.deb ... Unpacking libdebian-dpkgcross-perl (2.6.15-3.1) ... Selecting previously unselected package dpkg-cross. Preparing to unpack .../081-dpkg-cross_2.6.15-3.1_all.deb ... Unpacking dpkg-cross (2.6.15-3.1) ... Selecting previously unselected package crossbuild-essential-armhf. Preparing to unpack .../082-crossbuild-essential-armhf_12.9_all.deb ... Unpacking crossbuild-essential-armhf (12.9) ... Selecting previously unselected package dbus-user-session. Preparing to unpack .../083-dbus-user-session_1.12.20-1_amd64.deb ... Unpacking dbus-user-session (1.12.20-1) ... Selecting previously unselected package libdconf1:amd64. Preparing to unpack .../084-libdconf1_0.38.0-2_amd64.deb ... Unpacking libdconf1:amd64 (0.38.0-2) ... Selecting previously unselected package dconf-service. Preparing to unpack .../085-dconf-service_0.38.0-2_amd64.deb ... Unpacking dconf-service (0.38.0-2) ... Selecting previously unselected package dconf-gsettings-backend:amd64. Preparing to unpack .../086-dconf-gsettings-backend_0.38.0-2_amd64.deb ... Unpacking dconf-gsettings-backend:amd64 (0.38.0-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../087-libdebhelper-perl_13.3.3_all.deb ... Unpacking libdebhelper-perl (13.3.3) ... Selecting previously unselected package libtool. Preparing to unpack .../088-libtool_2.4.6-15_all.deb ... Unpacking libtool (2.4.6-15) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../089-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../090-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../091-libsub-override-perl_0.09-2_all.deb ... Unpacking libsub-override-perl (0.09-2) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../092-libfile-stripnondeterminism-perl_1.11.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.11.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../093-dh-strip-nondeterminism_1.11.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.11.0-1) ... Selecting previously unselected package dwz. Preparing to unpack .../094-dwz_0.13+20210201-1_amd64.deb ... Unpacking dwz (0.13+20210201-1) ... Selecting previously unselected package gettext. Preparing to unpack .../095-gettext_0.21-4_amd64.deb ... Unpacking gettext (0.21-4) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../096-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../097-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../098-debhelper_13.3.3_all.deb ... Unpacking debhelper (13.3.3) ... Selecting previously unselected package dh-exec. Preparing to unpack .../099-dh-exec_0.23.2_amd64.deb ... Unpacking dh-exec (0.23.2) ... Selecting previously unselected package gdal-data. Preparing to unpack .../100-gdal-data_3.2.1+dfsg-1_all.deb ... Unpacking gdal-data (3.2.1+dfsg-1) ... Selecting previously unselected package libgirepository-1.0-1:armhf. Preparing to unpack .../101-libgirepository-1.0-1_1.66.1-1+b1_armhf.deb ... Unpacking libgirepository-1.0-1:armhf (1.66.1-1+b1) ... Selecting previously unselected package gir1.2-glib-2.0:armhf. Preparing to unpack .../102-gir1.2-glib-2.0_1.66.1-1+b1_armhf.deb ... Unpacking gir1.2-glib-2.0:armhf (1.66.1-1+b1) ... Selecting previously unselected package libcap2:armhf. Preparing to unpack .../103-libcap2_1%3a2.44-1_armhf.deb ... Unpacking libcap2:armhf (1:2.44-1) ... Selecting previously unselected package libbz2-1.0:armhf. Preparing to unpack .../104-libbz2-1.0_1.0.8-4_armhf.deb ... Unpacking libbz2-1.0:armhf (1.0.8-4) ... Selecting previously unselected package libelf1:armhf. Preparing to unpack .../105-libelf1_0.183-1_armhf.deb ... Unpacking libelf1:armhf (0.183-1) ... Selecting previously unselected package libdw1:armhf. Preparing to unpack .../106-libdw1_0.183-1_armhf.deb ... Unpacking libdw1:armhf (0.183-1) ... Selecting previously unselected package libunwind8:armhf. Preparing to unpack .../107-libunwind8_1.3.2-2_armhf.deb ... Unpacking libunwind8:armhf (1.3.2-2) ... Selecting previously unselected package libgstreamer1.0-0:armhf. Preparing to unpack .../108-libgstreamer1.0-0_1.18.3-1_armhf.deb ... Unpacking libgstreamer1.0-0:armhf (1.18.3-1) ... Selecting previously unselected package gir1.2-gstreamer-1.0:armhf. Preparing to unpack .../109-gir1.2-gstreamer-1.0_1.18.3-1_armhf.deb ... Unpacking gir1.2-gstreamer-1.0:armhf (1.18.3-1) ... Selecting previously unselected package libxcb-glx0:armhf. Preparing to unpack .../110-libxcb-glx0_1.14-3_armhf.deb ... Unpacking libxcb-glx0:armhf (1.14-3) ... Selecting previously unselected package libxdamage1:armhf. Preparing to unpack .../111-libxdamage1_1%3a1.1.5-2_armhf.deb ... Unpacking libxdamage1:armhf (1:1.1.5-2) ... Selecting previously unselected package libxext6:armhf. Preparing to unpack .../112-libxext6_2%3a1.3.3-1.1_armhf.deb ... Unpacking libxext6:armhf (2:1.3.3-1.1) ... Selecting previously unselected package libxfixes3:armhf. Preparing to unpack .../113-libxfixes3_1%3a5.0.3-2_armhf.deb ... Unpacking libxfixes3:armhf (1:5.0.3-2) ... Selecting previously unselected package libxxf86vm1:armhf. Preparing to unpack .../114-libxxf86vm1_1%3a1.1.4-1+b2_armhf.deb ... Unpacking libxxf86vm1:armhf (1:1.1.4-1+b2) ... Selecting previously unselected package libdrm-amdgpu1:armhf. Preparing to unpack .../115-libdrm-amdgpu1_2.4.104-1_armhf.deb ... Unpacking libdrm-amdgpu1:armhf (2.4.104-1) ... Selecting previously unselected package libdrm-nouveau2:armhf. Preparing to unpack .../116-libdrm-nouveau2_2.4.104-1_armhf.deb ... Unpacking libdrm-nouveau2:armhf (2.4.104-1) ... Selecting previously unselected package libdrm-radeon1:armhf. Preparing to unpack .../117-libdrm-radeon1_2.4.104-1_armhf.deb ... Unpacking libdrm-radeon1:armhf (2.4.104-1) ... Selecting previously unselected package libtinfo6:armhf. Preparing to unpack .../118-libtinfo6_6.2+20201114-2_armhf.deb ... Unpacking libtinfo6:armhf (6.2+20201114-2) ... Selecting previously unselected package libedit2:armhf. Preparing to unpack .../119-libedit2_3.1-20191231-2+b1_armhf.deb ... Unpacking libedit2:armhf (3.1-20191231-2+b1) ... Selecting previously unselected package libz3-4:armhf. Preparing to unpack .../120-libz3-4_4.8.10-1_armhf.deb ... Unpacking libz3-4:armhf (4.8.10-1) ... Selecting previously unselected package libllvm11:armhf. Preparing to unpack .../121-libllvm11_1%3a11.0.1-2_armhf.deb ... Unpacking libllvm11:armhf (1:11.0.1-2) ... Selecting previously unselected package libsensors5:armhf. Preparing to unpack .../122-libsensors5_1%3a3.6.0-7_armhf.deb ... Unpacking libsensors5:armhf (1:3.6.0-7) ... Selecting previously unselected package libvulkan1:armhf. Preparing to unpack .../123-libvulkan1_1.2.162.0-1_armhf.deb ... Unpacking libvulkan1:armhf (1.2.162.0-1) ... Selecting previously unselected package libgl1-mesa-dri:armhf. Preparing to unpack .../124-libgl1-mesa-dri_20.3.4-1_armhf.deb ... Unpacking libgl1-mesa-dri:armhf (20.3.4-1) ... Selecting previously unselected package libglx-mesa0:armhf. Preparing to unpack .../125-libglx-mesa0_20.3.4-1_armhf.deb ... Unpacking libglx-mesa0:armhf (20.3.4-1) ... Selecting previously unselected package libglx0:armhf. Preparing to unpack .../126-libglx0_1.3.2-1_armhf.deb ... Unpacking libglx0:armhf (1.3.2-1) ... Selecting previously unselected package libgl1:armhf. Preparing to unpack .../127-libgl1_1.3.2-1_armhf.deb ... Unpacking libgl1:armhf (1.3.2-1) ... Selecting previously unselected package liborc-0.4-0:armhf. Preparing to unpack .../128-liborc-0.4-0_1%3a0.4.32-1_armhf.deb ... Unpacking liborc-0.4-0:armhf (1:0.4.32-1) ... Selecting previously unselected package libgstreamer-plugins-base1.0-0:armhf. Preparing to unpack .../129-libgstreamer-plugins-base1.0-0_1.18.3-1_armhf.deb ... Unpacking libgstreamer-plugins-base1.0-0:armhf (1.18.3-1) ... Selecting previously unselected package libwayland-cursor0:armhf. Preparing to unpack .../130-libwayland-cursor0_1.18.0-2~exp1.1_armhf.deb ... Unpacking libwayland-cursor0:armhf (1.18.0-2~exp1.1) ... Selecting previously unselected package libwayland-egl1:armhf. Preparing to unpack .../131-libwayland-egl1_1.18.0-2~exp1.1_armhf.deb ... Unpacking libwayland-egl1:armhf (1.18.0-2~exp1.1) ... Selecting previously unselected package libgstreamer-gl1.0-0:armhf. Preparing to unpack .../132-libgstreamer-gl1.0-0_1.18.3-1_armhf.deb ... Unpacking libgstreamer-gl1.0-0:armhf (1.18.3-1) ... Selecting previously unselected package gir1.2-gst-plugins-base-1.0:armhf. Preparing to unpack .../133-gir1.2-gst-plugins-base-1.0_1.18.3-1_armhf.deb ... Unpacking gir1.2-gst-plugins-base-1.0:armhf (1.18.3-1) ... Selecting previously unselected package libgstreamer-plugins-bad1.0-0:armhf. Preparing to unpack .../134-libgstreamer-plugins-bad1.0-0_1.18.3-1+b1_armhf.deb ... Unpacking libgstreamer-plugins-bad1.0-0:armhf (1.18.3-1+b1) ... Selecting previously unselected package gir1.2-gst-plugins-bad-1.0:armhf. Preparing to unpack .../135-gir1.2-gst-plugins-bad-1.0_1.18.3-1+b1_armhf.deb ... Unpacking gir1.2-gst-plugins-bad-1.0:armhf (1.18.3-1+b1) ... Selecting previously unselected package libgmp10:armhf. Preparing to unpack .../136-libgmp10_2%3a6.2.1+dfsg-1_armhf.deb ... Unpacking libgmp10:armhf (2:6.2.1+dfsg-1) ... Selecting previously unselected package libnettle8:armhf. Preparing to unpack .../137-libnettle8_3.7-2_armhf.deb ... Unpacking libnettle8:armhf (3.7-2) ... Selecting previously unselected package libhogweed6:armhf. Preparing to unpack .../138-libhogweed6_3.7-2_armhf.deb ... Unpacking libhogweed6:armhf (3.7-2) ... Selecting previously unselected package libunistring2:armhf. Preparing to unpack .../139-libunistring2_0.9.10-4_armhf.deb ... Unpacking libunistring2:armhf (0.9.10-4) ... Selecting previously unselected package libidn2-0:armhf. Preparing to unpack .../140-libidn2-0_2.3.0-5_armhf.deb ... Unpacking libidn2-0:armhf (2.3.0-5) ... Selecting previously unselected package libp11-kit0:armhf. Preparing to unpack .../141-libp11-kit0_0.23.22-1_armhf.deb ... Unpacking libp11-kit0:armhf (0.23.22-1) ... Selecting previously unselected package libtasn1-6:armhf. Preparing to unpack .../142-libtasn1-6_4.16.0-2_armhf.deb ... Unpacking libtasn1-6:armhf (4.16.0-2) ... Selecting previously unselected package libgnutls30:armhf. Preparing to unpack .../143-libgnutls30_3.7.0-7_armhf.deb ... Unpacking libgnutls30:armhf (3.7.0-7) ... Selecting previously unselected package libproxy1v5:armhf. Preparing to unpack .../144-libproxy1v5_0.4.17-1_armhf.deb ... Unpacking libproxy1v5:armhf (0.4.17-1) ... Selecting previously unselected package libproxy1v5:amd64. Preparing to unpack .../145-libproxy1v5_0.4.17-1_amd64.deb ... Unpacking libproxy1v5:amd64 (0.4.17-1) ... Selecting previously unselected package glib-networking-common. Preparing to unpack .../146-glib-networking-common_2.66.0-2_all.deb ... Unpacking glib-networking-common (2.66.0-2) ... Selecting previously unselected package glib-networking-services. Preparing to unpack .../147-glib-networking-services_2.66.0-2_amd64.deb ... Unpacking glib-networking-services (2.66.0-2) ... Selecting previously unselected package gsettings-desktop-schemas. Preparing to unpack .../148-gsettings-desktop-schemas_3.38.0-2_all.deb ... Unpacking gsettings-desktop-schemas (3.38.0-2) ... Selecting previously unselected package glib-networking:armhf. Preparing to unpack .../149-glib-networking_2.66.0-2_armhf.deb ... Unpacking glib-networking:armhf (2.66.0-2) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../150-icu-devtools_67.1-6_amd64.deb ... Unpacking icu-devtools (67.1-6) ... Selecting previously unselected package libacl1:armhf. Preparing to unpack .../151-libacl1_2.2.53-10_armhf.deb ... Unpacking libacl1:armhf (2.2.53-10) ... Selecting previously unselected package libaec0:armhf. Preparing to unpack .../152-libaec0_1.0.4-1_armhf.deb ... Unpacking libaec0:armhf (1.0.4-1) ... Selecting previously unselected package libaom0:armhf. Preparing to unpack .../153-libaom0_1.0.0.errata1-3_armhf.deb ... Unpacking libaom0:armhf (1.0.0.errata1-3) ... Selecting previously unselected package libxml2:armhf. Preparing to unpack .../154-libxml2_2.9.10+dfsg-6.3+b1_armhf.deb ... Unpacking libxml2:armhf (2.9.10+dfsg-6.3+b1) ... Selecting previously unselected package libarchive13:armhf. Preparing to unpack .../155-libarchive13_3.4.3-2_armhf.deb ... Unpacking libarchive13:armhf (3.4.3-2) ... Selecting previously unselected package libblas3:armhf. Preparing to unpack .../156-libblas3_3.9.0-3_armhf.deb ... Unpacking libblas3:armhf (3.9.0-3) ... Selecting previously unselected package libgfortran5:armhf. Preparing to unpack .../157-libgfortran5_10.2.1-6_armhf.deb ... Unpacking libgfortran5:armhf (10.2.1-6) ... Selecting previously unselected package liblapack3:armhf. Preparing to unpack .../158-liblapack3_3.9.0-3_armhf.deb ... Unpacking liblapack3:armhf (3.9.0-3) ... Selecting previously unselected package libarpack2:armhf. Preparing to unpack .../159-libarpack2_3.8.0-1_armhf.deb ... Unpacking libarpack2:armhf (3.8.0-1) ... Selecting previously unselected package libsuperlu5:armhf. Preparing to unpack .../160-libsuperlu5_5.2.2+dfsg1-2_armhf.deb ... Unpacking libsuperlu5:armhf (5.2.2+dfsg1-2) ... Selecting previously unselected package libarmadillo10:armhf. Preparing to unpack .../161-libarmadillo10_1%3a10.1.2+dfsg-3_armhf.deb ... Unpacking libarmadillo10:armhf (1:10.1.2+dfsg-3) ... Selecting previously unselected package libasan5:armhf. Preparing to unpack .../162-libasan5_9.3.0-22_armhf.deb ... Unpacking libasan5:armhf (9.3.0-22) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../163-libasound2-data_1.2.4-1.1_all.deb ... Unpacking libasound2-data (1.2.4-1.1) ... Selecting previously unselected package libasound2:armhf. Preparing to unpack .../164-libasound2_1.2.4-1.1_armhf.deb ... Unpacking libasound2:armhf (1.2.4-1.1) ... Selecting previously unselected package libasyncns0:armhf. Preparing to unpack .../165-libasyncns0_0.8-6+b2_armhf.deb ... Unpacking libasyncns0:armhf (0.8-6+b2) ... Selecting previously unselected package libatk1.0-data. Preparing to unpack .../166-libatk1.0-data_2.36.0-2_all.deb ... Unpacking libatk1.0-data (2.36.0-2) ... Selecting previously unselected package libatk1.0-0:armhf. Preparing to unpack .../167-libatk1.0-0_2.36.0-2_armhf.deb ... Unpacking libatk1.0-0:armhf (2.36.0-2) ... Selecting previously unselected package libatspi2.0-0:armhf. Preparing to unpack .../168-libatspi2.0-0_2.38.0-2_armhf.deb ... Unpacking libatspi2.0-0:armhf (2.38.0-2) ... Selecting previously unselected package libatk-bridge2.0-0:armhf. Preparing to unpack .../169-libatk-bridge2.0-0_2.38.0-1_armhf.deb ... Unpacking libatk-bridge2.0-0:armhf (2.38.0-1) ... Selecting previously unselected package libatomic1:armhf. Preparing to unpack .../170-libatomic1_10.2.1-6_armhf.deb ... Unpacking libatomic1:armhf (10.2.1-6) ... Selecting previously unselected package libavahi-common-data:armhf. Preparing to unpack .../171-libavahi-common-data_0.8-5_armhf.deb ... Unpacking libavahi-common-data:armhf (0.8-5) ... Selecting previously unselected package libavahi-common3:armhf. Preparing to unpack .../172-libavahi-common3_0.8-5_armhf.deb ... Unpacking libavahi-common3:armhf (0.8-5) ... Selecting previously unselected package libavahi-client3:armhf. Preparing to unpack .../173-libavahi-client3_0.8-5_armhf.deb ... Unpacking libavahi-client3:armhf (0.8-5) ... Selecting previously unselected package libva2:armhf. Preparing to unpack .../174-libva2_2.10.0-1_armhf.deb ... Unpacking libva2:armhf (2.10.0-1) ... Selecting previously unselected package libva-drm2:armhf. Preparing to unpack .../175-libva-drm2_2.10.0-1_armhf.deb ... Unpacking libva-drm2:armhf (2.10.0-1) ... Selecting previously unselected package libva-x11-2:armhf. Preparing to unpack .../176-libva-x11-2_2.10.0-1_armhf.deb ... Unpacking libva-x11-2:armhf (2.10.0-1) ... Selecting previously unselected package libvdpau1:armhf. Preparing to unpack .../177-libvdpau1_1.4-3_armhf.deb ... Unpacking libvdpau1:armhf (1.4-3) ... Selecting previously unselected package ocl-icd-libopencl1:armhf. Preparing to unpack .../178-ocl-icd-libopencl1_2.2.14-2_armhf.deb ... Unpacking ocl-icd-libopencl1:armhf (2.2.14-2) ... Selecting previously unselected package libavutil56:armhf. Preparing to unpack .../179-libavutil56_7%3a4.3.1-8_armhf.deb ... Unpacking libavutil56:armhf (7:4.3.1-8) ... Selecting previously unselected package libpixman-1-0:armhf. Preparing to unpack .../180-libpixman-1-0_0.40.0-1_armhf.deb ... Unpacking libpixman-1-0:armhf (0.40.0-1) ... Selecting previously unselected package libcairo2:armhf. Preparing to unpack .../181-libcairo2_1.16.0-5_armhf.deb ... Unpacking libcairo2:armhf (1.16.0-5) ... Selecting previously unselected package libcodec2-0.9:armhf. Preparing to unpack .../182-libcodec2-0.9_0.9.2-4_armhf.deb ... Unpacking libcodec2-0.9:armhf (0.9.2-4) ... Selecting previously unselected package libdav1d4:armhf. Preparing to unpack .../183-libdav1d4_0.7.1-3_armhf.deb ... Unpacking libdav1d4:armhf (0.7.1-3) ... Selecting previously unselected package libgsm1:armhf. Preparing to unpack .../184-libgsm1_1.0.18-2_armhf.deb ... Unpacking libgsm1:armhf (1.0.18-2) ... Selecting previously unselected package libmp3lame0:armhf. Preparing to unpack .../185-libmp3lame0_3.100-3_armhf.deb ... Unpacking libmp3lame0:armhf (3.100-3) ... Selecting previously unselected package libopenjp2-7:armhf. Preparing to unpack .../186-libopenjp2-7_2.4.0-3_armhf.deb ... Unpacking libopenjp2-7:armhf (2.4.0-3) ... Selecting previously unselected package libopus0:armhf. Preparing to unpack .../187-libopus0_1.3.1-0.1_armhf.deb ... Unpacking libopus0:armhf (1.3.1-0.1) ... Selecting previously unselected package libcairo-gobject2:armhf. Preparing to unpack .../188-libcairo-gobject2_1.16.0-5_armhf.deb ... Unpacking libcairo-gobject2:armhf (1.16.0-5) ... Selecting previously unselected package libdeflate0:armhf. Preparing to unpack .../189-libdeflate0_1.7-1_armhf.deb ... Unpacking libdeflate0:armhf (1.7-1) ... Selecting previously unselected package libjbig0:armhf. Preparing to unpack .../190-libjbig0_2.1-3.1+b2_armhf.deb ... Unpacking libjbig0:armhf (2.1-3.1+b2) ... Selecting previously unselected package libwebp6:armhf. Preparing to unpack .../191-libwebp6_0.6.1-2+b1_armhf.deb ... Unpacking libwebp6:armhf (0.6.1-2+b1) ... Selecting previously unselected package libtiff5:armhf. Preparing to unpack .../192-libtiff5_4.2.0-1_armhf.deb ... Unpacking libtiff5:armhf (4.2.0-1) ... Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. Preparing to unpack .../193-libgdk-pixbuf-2.0-0_2.42.2+dfsg-1_armhf.deb ... Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.2+dfsg-1) ... Selecting previously unselected package libfribidi0:armhf. Preparing to unpack .../194-libfribidi0_1.0.8-2_armhf.deb ... Unpacking libfribidi0:armhf (1.0.8-2) ... Selecting previously unselected package libthai-data. Preparing to unpack .../195-libthai-data_0.1.28-3_all.deb ... Unpacking libthai-data (0.1.28-3) ... Selecting previously unselected package libdatrie1:armhf. Preparing to unpack .../196-libdatrie1_0.2.13-1_armhf.deb ... Unpacking libdatrie1:armhf (0.2.13-1) ... Selecting previously unselected package libthai0:armhf. Preparing to unpack .../197-libthai0_0.1.28-3_armhf.deb ... Unpacking libthai0:armhf (0.1.28-3) ... Selecting previously unselected package libpango-1.0-0:armhf. Preparing to unpack .../198-libpango-1.0-0_1.46.2-3_armhf.deb ... Unpacking libpango-1.0-0:armhf (1.46.2-3) ... Selecting previously unselected package libpangoft2-1.0-0:armhf. Preparing to unpack .../199-libpangoft2-1.0-0_1.46.2-3_armhf.deb ... Unpacking libpangoft2-1.0-0:armhf (1.46.2-3) ... Selecting previously unselected package libpangocairo-1.0-0:armhf. Preparing to unpack .../200-libpangocairo-1.0-0_1.46.2-3_armhf.deb ... Unpacking libpangocairo-1.0-0:armhf (1.46.2-3) ... Selecting previously unselected package librsvg2-2:armhf. Preparing to unpack .../201-librsvg2-2_2.50.3+dfsg-1_armhf.deb ... Unpacking librsvg2-2:armhf (2.50.3+dfsg-1) ... Selecting previously unselected package libshine3:armhf. Preparing to unpack .../202-libshine3_3.1.1-2_armhf.deb ... Unpacking libshine3:armhf (3.1.1-2) ... Selecting previously unselected package libsnappy1v5:armhf. Preparing to unpack .../203-libsnappy1v5_1.1.8-1_armhf.deb ... Unpacking libsnappy1v5:armhf (1.1.8-1) ... Selecting previously unselected package libspeex1:armhf. Preparing to unpack .../204-libspeex1_1.2~rc1.2-1.1_armhf.deb ... Unpacking libspeex1:armhf (1.2~rc1.2-1.1) ... Selecting previously unselected package libgomp1:armhf. Preparing to unpack .../205-libgomp1_10.2.1-6_armhf.deb ... Unpacking libgomp1:armhf (10.2.1-6) ... Selecting previously unselected package libsoxr0:armhf. Preparing to unpack .../206-libsoxr0_0.1.3-4_armhf.deb ... Unpacking libsoxr0:armhf (0.1.3-4) ... Selecting previously unselected package libswresample3:armhf. Preparing to unpack .../207-libswresample3_7%3a4.3.1-8_armhf.deb ... Unpacking libswresample3:armhf (7:4.3.1-8) ... Selecting previously unselected package libogg0:armhf. Preparing to unpack .../208-libogg0_1.3.4-0.1_armhf.deb ... Unpacking libogg0:armhf (1.3.4-0.1) ... Selecting previously unselected package libtheora0:armhf. Preparing to unpack .../209-libtheora0_1.1.1+dfsg.1-15_armhf.deb ... Unpacking libtheora0:armhf (1.1.1+dfsg.1-15) ... Selecting previously unselected package libtwolame0:armhf. Preparing to unpack .../210-libtwolame0_0.4.0-2_armhf.deb ... Unpacking libtwolame0:armhf (0.4.0-2) ... Selecting previously unselected package libvorbis0a:armhf. Preparing to unpack .../211-libvorbis0a_1.3.7-1_armhf.deb ... Unpacking libvorbis0a:armhf (1.3.7-1) ... Selecting previously unselected package libvorbisenc2:armhf. Preparing to unpack .../212-libvorbisenc2_1.3.7-1_armhf.deb ... Unpacking libvorbisenc2:armhf (1.3.7-1) ... Selecting previously unselected package libvpx6:armhf. Preparing to unpack .../213-libvpx6_1.9.0-1_armhf.deb ... Unpacking libvpx6:armhf (1.9.0-1) ... Selecting previously unselected package libwavpack1:armhf. Preparing to unpack .../214-libwavpack1_5.4.0-1_armhf.deb ... Unpacking libwavpack1:armhf (5.4.0-1) ... Selecting previously unselected package libwebpmux3:armhf. Preparing to unpack .../215-libwebpmux3_0.6.1-2+b1_armhf.deb ... Unpacking libwebpmux3:armhf (0.6.1-2+b1) ... Selecting previously unselected package libx264-160:armhf. Preparing to unpack .../216-libx264-160_2%3a0.160.3011+gitcde9a93-2+b2_armhf.deb ... Unpacking libx264-160:armhf (2:0.160.3011+gitcde9a93-2+b2) ... Selecting previously unselected package libx265-192:armhf. Preparing to unpack .../217-libx265-192_3.4-2_armhf.deb ... Unpacking libx265-192:armhf (3.4-2) ... Selecting previously unselected package libxvidcore4:armhf. Preparing to unpack .../218-libxvidcore4_2%3a1.3.7-1_armhf.deb ... Unpacking libxvidcore4:armhf (2:1.3.7-1) ... Selecting previously unselected package libzvbi-common. Preparing to unpack .../219-libzvbi-common_0.2.35-18_all.deb ... Unpacking libzvbi-common (0.2.35-18) ... Selecting previously unselected package libzvbi0:armhf. Preparing to unpack .../220-libzvbi0_0.2.35-18_armhf.deb ... Unpacking libzvbi0:armhf (0.2.35-18) ... Selecting previously unselected package libavcodec58:armhf. Preparing to unpack .../221-libavcodec58_7%3a4.3.1-8_armhf.deb ... Unpacking libavcodec58:armhf (7:4.3.1-8) ... Selecting previously unselected package libavutil-dev:armhf. Preparing to unpack .../222-libavutil-dev_7%3a4.3.1-8_armhf.deb ... Unpacking libavutil-dev:armhf (7:4.3.1-8) ... Selecting previously unselected package libswresample-dev:armhf. Preparing to unpack .../223-libswresample-dev_7%3a4.3.1-8_armhf.deb ... Unpacking libswresample-dev:armhf (7:4.3.1-8) ... Selecting previously unselected package libavcodec-dev:armhf. Preparing to unpack .../224-libavcodec-dev_7%3a4.3.1-8_armhf.deb ... Unpacking libavcodec-dev:armhf (7:4.3.1-8) ... Selecting previously unselected package libudfread0:armhf. Preparing to unpack .../225-libudfread0_1.1.1-1_armhf.deb ... Unpacking libudfread0:armhf (1.1.1-1) ... Selecting previously unselected package libbluray2:armhf. Preparing to unpack .../226-libbluray2_1%3a1.2.1-4_armhf.deb ... Unpacking libbluray2:armhf (1:1.2.1-4) ... Selecting previously unselected package libchromaprint1:armhf. Preparing to unpack .../227-libchromaprint1_1.5.0-2_armhf.deb ... Unpacking libchromaprint1:armhf (1.5.0-2) ... Selecting previously unselected package libgme0:armhf. Preparing to unpack .../228-libgme0_0.6.3-2_armhf.deb ... Unpacking libgme0:armhf (0.6.3-2) ... Selecting previously unselected package libmpg123-0:armhf. Preparing to unpack .../229-libmpg123-0_1.26.4-1_armhf.deb ... Unpacking libmpg123-0:armhf (1.26.4-1) ... Selecting previously unselected package libvorbisfile3:armhf. Preparing to unpack .../230-libvorbisfile3_1.3.7-1_armhf.deb ... Unpacking libvorbisfile3:armhf (1.3.7-1) ... Selecting previously unselected package libopenmpt0:armhf. Preparing to unpack .../231-libopenmpt0_0.4.11-1_armhf.deb ... Unpacking libopenmpt0:armhf (0.4.11-1) ... Selecting previously unselected package librabbitmq4:armhf. Preparing to unpack .../232-librabbitmq4_0.10.0-1_armhf.deb ... Unpacking librabbitmq4:armhf (0.10.0-1) ... Selecting previously unselected package libsrt1.4-gnutls:armhf. Preparing to unpack .../233-libsrt1.4-gnutls_1.4.2-1.3_armhf.deb ... Unpacking libsrt1.4-gnutls:armhf (1.4.2-1.3) ... Selecting previously unselected package libssh-gcrypt-4:armhf. Preparing to unpack .../234-libssh-gcrypt-4_0.9.5-1_armhf.deb ... Unpacking libssh-gcrypt-4:armhf (0.9.5-1) ... Selecting previously unselected package libnorm1:armhf. Preparing to unpack .../235-libnorm1_1.5.9+dfsg-1_armhf.deb ... Unpacking libnorm1:armhf (1.5.9+dfsg-1) ... Selecting previously unselected package libpgm-5.3-0:armhf. Preparing to unpack .../236-libpgm-5.3-0_5.3.128~dfsg-2_armhf.deb ... Unpacking libpgm-5.3-0:armhf (5.3.128~dfsg-2) ... Selecting previously unselected package libsodium23:armhf. Preparing to unpack .../237-libsodium23_1.0.18-1_armhf.deb ... Unpacking libsodium23:armhf (1.0.18-1) ... Selecting previously unselected package libzmq5:armhf. Preparing to unpack .../238-libzmq5_4.3.4-1_armhf.deb ... Unpacking libzmq5:armhf (4.3.4-1) ... Selecting previously unselected package libavformat58:armhf. Preparing to unpack .../239-libavformat58_7%3a4.3.1-8_armhf.deb ... Unpacking libavformat58:armhf (7:4.3.1-8) ... Selecting previously unselected package libavformat-dev:armhf. Preparing to unpack .../240-libavformat-dev_7%3a4.3.1-8_armhf.deb ... Unpacking libavformat-dev:armhf (7:4.3.1-8) ... Selecting previously unselected package linux-libc-dev:armhf. Preparing to unpack .../241-linux-libc-dev_5.10.13-1_armhf.deb ... Unpacking linux-libc-dev:armhf (5.10.13-1) ... Selecting previously unselected package libcrypt-dev:armhf. Preparing to unpack .../242-libcrypt-dev_1%3a4.4.17-1_armhf.deb ... Unpacking libcrypt-dev:armhf (1:4.4.17-1) ... Selecting previously unselected package libtirpc3:armhf. Preparing to unpack .../243-libtirpc3_1.3.1-1_armhf.deb ... Unpacking libtirpc3:armhf (1.3.1-1) ... Selecting previously unselected package libnsl2:armhf. Preparing to unpack .../244-libnsl2_1.3.0-2_armhf.deb ... Unpacking libnsl2:armhf (1.3.0-2) ... Selecting previously unselected package libtirpc-dev:armhf. Preparing to unpack .../245-libtirpc-dev_1.3.1-1_armhf.deb ... Unpacking libtirpc-dev:armhf (1.3.1-1) ... Selecting previously unselected package libnsl-dev:armhf. Preparing to unpack .../246-libnsl-dev_1.3.0-2_armhf.deb ... Unpacking libnsl-dev:armhf (1.3.0-2) ... Selecting previously unselected package libc6-dev:armhf. Preparing to unpack .../247-libc6-dev_2.31-9_armhf.deb ... Unpacking libc6-dev:armhf (2.31-9) ... Selecting previously unselected package uuid-dev:armhf. Preparing to unpack .../248-uuid-dev_2.36.1-7_armhf.deb ... Unpacking uuid-dev:armhf (2.36.1-7) ... Selecting previously unselected package libblkid-dev:armhf. Preparing to unpack .../249-libblkid-dev_2.36.1-7_armhf.deb ... Unpacking libblkid-dev:armhf (2.36.1-7) ... Selecting previously unselected package libubsan1:armhf. Preparing to unpack .../250-libubsan1_10.2.1-6_armhf.deb ... Unpacking libubsan1:armhf (10.2.1-6) ... Selecting previously unselected package libgcc-9-dev:armhf. Preparing to unpack .../251-libgcc-9-dev_9.3.0-22_armhf.deb ... Unpacking libgcc-9-dev:armhf (9.3.0-22) ... Selecting previously unselected package libstdc++-9-dev:armhf. Preparing to unpack .../252-libstdc++-9-dev_9.3.0-22_armhf.deb ... Unpacking libstdc++-9-dev:armhf (9.3.0-22) ... Selecting previously unselected package libboost1.74-dev:armhf. Preparing to unpack .../253-libboost1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-atomic1.74.0:armhf. Preparing to unpack .../254-libboost-atomic1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-atomic1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-atomic1.74-dev:armhf. Preparing to unpack .../255-libboost-atomic1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-atomic1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-atomic-dev:armhf. Preparing to unpack .../256-libboost-atomic-dev_1.74.0.3_armhf.deb ... Unpacking libboost-atomic-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-chrono1.74.0:armhf. Preparing to unpack .../257-libboost-chrono1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-chrono1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-chrono1.74-dev:armhf. Preparing to unpack .../258-libboost-chrono1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-chrono1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-chrono-dev:armhf. Preparing to unpack .../259-libboost-chrono-dev_1.74.0.3_armhf.deb ... Unpacking libboost-chrono-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-date-time1.74.0:armhf. Preparing to unpack .../260-libboost-date-time1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-date-time1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-serialization1.74.0:armhf. Preparing to unpack .../261-libboost-serialization1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-serialization1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-serialization1.74-dev:armhf. Preparing to unpack .../262-libboost-serialization1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-serialization1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-date-time1.74-dev:armhf. Preparing to unpack .../263-libboost-date-time1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-date-time1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-date-time-dev:armhf. Preparing to unpack .../264-libboost-date-time-dev_1.74.0.3_armhf.deb ... Unpacking libboost-date-time-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-dev:armhf. Preparing to unpack .../265-libboost-dev_1.74.0.3_armhf.deb ... Unpacking libboost-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-regex1.74.0:armhf. Preparing to unpack .../266-libboost-regex1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-regex1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libicu-dev:armhf. Preparing to unpack .../267-libicu-dev_67.1-6_armhf.deb ... Unpacking libicu-dev:armhf (67.1-6) ... Selecting previously unselected package libboost-regex1.74-dev:armhf. Preparing to unpack .../268-libboost-regex1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-regex1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-iostreams1.74.0:armhf. Preparing to unpack .../269-libboost-iostreams1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-iostreams1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-iostreams1.74-dev:armhf. Preparing to unpack .../270-libboost-iostreams1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-iostreams1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-iostreams-dev:armhf. Preparing to unpack .../271-libboost-iostreams-dev_1.74.0.3_armhf.deb ... Unpacking libboost-iostreams-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-system1.74.0:armhf. Preparing to unpack .../272-libboost-system1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-system1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-system1.74-dev:armhf. Preparing to unpack .../273-libboost-system1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-system1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-random1.74.0:armhf. Preparing to unpack .../274-libboost-random1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-random1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-random1.74-dev:armhf. Preparing to unpack .../275-libboost-random1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-random1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-random-dev:armhf. Preparing to unpack .../276-libboost-random-dev_1.74.0.3_armhf.deb ... Unpacking libboost-random-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-regex-dev:armhf. Preparing to unpack .../277-libboost-regex-dev_1.74.0.3_armhf.deb ... Unpacking libboost-regex-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-system-dev:armhf. Preparing to unpack .../278-libboost-system-dev_1.74.0.3_armhf.deb ... Unpacking libboost-system-dev:armhf (1.74.0.3) ... Selecting previously unselected package libboost-thread1.74.0:armhf. Preparing to unpack .../279-libboost-thread1.74.0_1.74.0-8_armhf.deb ... Unpacking libboost-thread1.74.0:armhf (1.74.0-8) ... Selecting previously unselected package libboost-thread1.74-dev:armhf. Preparing to unpack .../280-libboost-thread1.74-dev_1.74.0-8_armhf.deb ... Unpacking libboost-thread1.74-dev:armhf (1.74.0-8) ... Selecting previously unselected package libboost-thread-dev:armhf. Preparing to unpack .../281-libboost-thread-dev_1.74.0.3_armhf.deb ... Unpacking libboost-thread-dev:armhf (1.74.0.3) ... Selecting previously unselected package libdb5.3:armhf. Preparing to unpack .../282-libdb5.3_5.3.28+dfsg1-0.8_armhf.deb ... Unpacking libdb5.3:armhf (5.3.28+dfsg1-0.8) ... Selecting previously unselected package libsasl2-modules-db:armhf. Preparing to unpack .../283-libsasl2-modules-db_2.1.27+dfsg-2.1_armhf.deb ... Unpacking libsasl2-modules-db:armhf (2.1.27+dfsg-2.1) ... Selecting previously unselected package libsasl2-2:armhf. Preparing to unpack .../284-libsasl2-2_2.1.27+dfsg-2.1_armhf.deb ... Unpacking libsasl2-2:armhf (2.1.27+dfsg-2.1) ... Selecting previously unselected package libldap-2.4-2:armhf. Preparing to unpack .../285-libldap-2.4-2_2.4.57+dfsg-1_armhf.deb ... Unpacking libldap-2.4-2:armhf (2.4.57+dfsg-1) ... Selecting previously unselected package libnghttp2-14:armhf. Preparing to unpack .../286-libnghttp2-14_1.43.0-1_armhf.deb ... Unpacking libnghttp2-14:armhf (1.43.0-1) ... Selecting previously unselected package libpsl5:armhf. Preparing to unpack .../287-libpsl5_0.21.0-1.2_armhf.deb ... Unpacking libpsl5:armhf (0.21.0-1.2) ... Selecting previously unselected package librtmp1:armhf. Preparing to unpack .../288-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_armhf.deb ... Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b2) ... Selecting previously unselected package libssh2-1:armhf. Preparing to unpack .../289-libssh2-1_1.9.0-2_armhf.deb ... Unpacking libssh2-1:armhf (1.9.0-2) ... Selecting previously unselected package libcurl3-gnutls:armhf. Preparing to unpack .../290-libcurl3-gnutls_7.74.0-1.1_armhf.deb ... Unpacking libcurl3-gnutls:armhf (7.74.0-1.1) ... Selecting previously unselected package libcfitsio9:armhf. Preparing to unpack .../291-libcfitsio9_3.490-3_armhf.deb ... Unpacking libcfitsio9:armhf (3.490-3) ... Selecting previously unselected package libcharls2:armhf. Preparing to unpack .../292-libcharls2_2.2.0+dfsg-2_armhf.deb ... Unpacking libcharls2:armhf (2.2.0+dfsg-2) ... Selecting previously unselected package libclang1-11. Preparing to unpack .../293-libclang1-11_1%3a11.0.1-2_amd64.deb ... Unpacking libclang1-11 (1:11.0.1-2) ... Selecting previously unselected package libcmark0.29.0:armhf. Preparing to unpack .../294-libcmark0.29.0_0.29.0-4_armhf.deb ... Unpacking libcmark0.29.0:armhf (0.29.0-4) ... Selecting previously unselected package libcmark-dev:armhf. Preparing to unpack .../295-libcmark-dev_0.29.0-4_armhf.deb ... Unpacking libcmark-dev:armhf (0.29.0-4) ... Selecting previously unselected package liblcms2-2:armhf. Preparing to unpack .../296-liblcms2-2_2.12~rc1-2_armhf.deb ... Unpacking liblcms2-2:armhf (2.12~rc1-2) ... Selecting previously unselected package libcolord2:armhf. Preparing to unpack .../297-libcolord2_1.4.5-3_armhf.deb ... Unpacking libcolord2:armhf (1.4.5-3) ... Selecting previously unselected package libcups2:armhf. Preparing to unpack .../298-libcups2_2.3.3op2-3_armhf.deb ... Unpacking libcups2:armhf (2.3.3op2-3) ... Selecting previously unselected package libcurl4:armhf. Preparing to unpack .../299-libcurl4_7.74.0-1.1_armhf.deb ... Unpacking libcurl4:armhf (7.74.0-1.1) ... Selecting previously unselected package libdap27:armhf. Preparing to unpack .../300-libdap27_3.20.7-6_armhf.deb ... Unpacking libdap27:armhf (3.20.7-6) ... Selecting previously unselected package libdapclient6v5:armhf. Preparing to unpack .../301-libdapclient6v5_3.20.7-6_armhf.deb ... Unpacking libdapclient6v5:armhf (3.20.7-6) ... Selecting previously unselected package libraw1394-11:armhf. Preparing to unpack .../302-libraw1394-11_2.1.2-2_armhf.deb ... Unpacking libraw1394-11:armhf (2.1.2-2) ... Selecting previously unselected package libusb-1.0-0:armhf. Preparing to unpack .../303-libusb-1.0-0_2%3a1.0.24-2_armhf.deb ... Unpacking libusb-1.0-0:armhf (2:1.0.24-2) ... Selecting previously unselected package libdc1394-25:armhf. Preparing to unpack .../304-libdc1394-25_2.2.6-3_armhf.deb ... Unpacking libdc1394-25:armhf (2.2.6-3) ... Selecting previously unselected package libraw1394-dev:armhf. Preparing to unpack .../305-libraw1394-dev_2.1.2-2_armhf.deb ... Unpacking libraw1394-dev:armhf (2.1.2-2) ... Selecting previously unselected package libdc1394-dev:armhf. Preparing to unpack .../306-libdc1394-dev_2.2.6-3_armhf.deb ... Unpacking libdc1394-dev:armhf (2.2.6-3) ... Selecting previously unselected package libde265-0:armhf. Preparing to unpack .../307-libde265-0_1.0.8-1_armhf.deb ... Unpacking libde265-0:armhf (1.0.8-1) ... Selecting previously unselected package libdeflate-dev:armhf. Preparing to unpack .../308-libdeflate-dev_1.7-1_armhf.deb ... Unpacking libdeflate-dev:armhf (1.7-1) ... Selecting previously unselected package zlib1g-dev:armhf. Preparing to unpack .../309-zlib1g-dev_1%3a1.2.11.dfsg-2_armhf.deb ... Unpacking zlib1g-dev:armhf (1:1.2.11.dfsg-2) ... Selecting previously unselected package libelf-dev:armhf. Preparing to unpack .../310-libelf-dev_0.183-1_armhf.deb ... Unpacking libelf-dev:armhf (0.183-1) ... Selecting previously unselected package liblzma-dev:armhf. Preparing to unpack .../311-liblzma-dev_5.2.5-1.0_armhf.deb ... Unpacking liblzma-dev:armhf (5.2.5-1.0) ... Selecting previously unselected package libdw-dev:armhf. Preparing to unpack .../312-libdw-dev_0.183-1_armhf.deb ... Unpacking libdw-dev:armhf (0.183-1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../313-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1.1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../314-x11proto-dev_2020.1-1_all.deb ... Unpacking x11proto-dev (2020.1-1) ... Selecting previously unselected package libxau-dev:armhf. Preparing to unpack .../315-libxau-dev_1%3a1.0.9-1_armhf.deb ... Unpacking libxau-dev:armhf (1:1.0.9-1) ... Selecting previously unselected package libxdmcp-dev:armhf. Preparing to unpack .../316-libxdmcp-dev_1%3a1.1.2-3_armhf.deb ... Unpacking libxdmcp-dev:armhf (1:1.1.2-3) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../317-xtrans-dev_1.4.0-1_all.deb ... Unpacking xtrans-dev (1.4.0-1) ... Selecting previously unselected package libpthread-stubs0-dev:armhf. Preparing to unpack .../318-libpthread-stubs0-dev_0.4-1_armhf.deb ... Unpacking libpthread-stubs0-dev:armhf (0.4-1) ... Selecting previously unselected package libxcb1-dev:armhf. Preparing to unpack .../319-libxcb1-dev_1.14-3_armhf.deb ... Unpacking libxcb1-dev:armhf (1.14-3) ... Selecting previously unselected package libx11-dev:armhf. Preparing to unpack .../320-libx11-dev_2%3a1.7.0-2_armhf.deb ... Unpacking libx11-dev:armhf (2:1.7.0-2) ... Selecting previously unselected package libglx-dev:armhf. Preparing to unpack .../321-libglx-dev_1.3.2-1_armhf.deb ... Unpacking libglx-dev:armhf (1.3.2-1) ... Selecting previously unselected package libgl-dev:armhf. Preparing to unpack .../322-libgl-dev_1.3.2-1_armhf.deb ... Unpacking libgl-dev:armhf (1.3.2-1) ... Selecting previously unselected package libegl-dev:armhf. Preparing to unpack .../323-libegl-dev_1.3.2-1_armhf.deb ... Unpacking libegl-dev:armhf (1.3.2-1) ... Selecting previously unselected package libepoxy0:armhf. Preparing to unpack .../324-libepoxy0_1.5.5-1_armhf.deb ... Unpacking libepoxy0:armhf (1.5.5-1) ... Selecting previously unselected package libepsilon1:armhf. Preparing to unpack .../325-libepsilon1_0.9.2+dfsg-5_armhf.deb ... Unpacking libepsilon1:armhf (0.9.2+dfsg-5) ... Selecting previously unselected package libexif12:armhf. Preparing to unpack .../326-libexif12_0.6.22-3_armhf.deb ... Unpacking libexif12:armhf (0.6.22-3) ... Selecting previously unselected package libexif-dev:armhf. Preparing to unpack .../327-libexif-dev_0.6.22-3_armhf.deb ... Unpacking libexif-dev:armhf (0.6.22-3) ... Selecting previously unselected package libffi-dev:armhf. Preparing to unpack .../328-libffi-dev_3.3-5_armhf.deb ... Unpacking libffi-dev:armhf (3.3-5) ... Selecting previously unselected package libflac8:armhf. Preparing to unpack .../329-libflac8_1.3.3-2_armhf.deb ... Unpacking libflac8:armhf (1.3.3-2) ... Selecting previously unselected package libfmt7:armhf. Preparing to unpack .../330-libfmt7_7.1.3+ds1-5_armhf.deb ... Unpacking libfmt7:armhf (7.1.3+ds1-5) ... Selecting previously unselected package libfmt-dev:armhf. Preparing to unpack .../331-libfmt-dev_7.1.3+ds1-5_armhf.deb ... Unpacking libfmt-dev:armhf (7.1.3+ds1-5) ... Selecting previously unselected package libfreexl1:armhf. Preparing to unpack .../332-libfreexl1_1.0.6-1_armhf.deb ... Unpacking libfreexl1:armhf (1.0.6-1) ... Selecting previously unselected package libfyba0:armhf. Preparing to unpack .../333-libfyba0_4.1.1-7_armhf.deb ... Unpacking libfyba0:armhf (4.1.1-7) ... Selecting previously unselected package libxpm4:armhf. Preparing to unpack .../334-libxpm4_1%3a3.5.12-1_armhf.deb ... Unpacking libxpm4:armhf (1:3.5.12-1) ... Selecting previously unselected package libgd3:armhf. Preparing to unpack .../335-libgd3_2.3.0-2_armhf.deb ... Unpacking libgd3:armhf (2.3.0-2) ... Selecting previously unselected package libgeos-3.9.0:armhf. Preparing to unpack .../336-libgeos-3.9.0_3.9.0-1_armhf.deb ... Unpacking libgeos-3.9.0:armhf (3.9.0-1) ... Selecting previously unselected package libgeos-c1v5:armhf. Preparing to unpack .../337-libgeos-c1v5_3.9.0-1_armhf.deb ... Unpacking libgeos-c1v5:armhf (3.9.0-1) ... Selecting previously unselected package proj-data. Preparing to unpack .../338-proj-data_7.2.1-1_all.deb ... Unpacking proj-data (7.2.1-1) ... Selecting previously unselected package libsqlite3-0:armhf. Preparing to unpack .../339-libsqlite3-0_3.34.1-2_armhf.deb ... Unpacking libsqlite3-0:armhf (3.34.1-2) ... Selecting previously unselected package libproj19:armhf. Preparing to unpack .../340-libproj19_7.2.1-1_armhf.deb ... Unpacking libproj19:armhf (7.2.1-1) ... Selecting previously unselected package libgeotiff5:armhf. Preparing to unpack .../341-libgeotiff5_1.6.0-1_armhf.deb ... Unpacking libgeotiff5:armhf (1.6.0-1) ... Selecting previously unselected package libgif7:armhf. Preparing to unpack .../342-libgif7_5.1.9-2_armhf.deb ... Unpacking libgif7:armhf (5.1.9-2) ... Selecting previously unselected package libhdf4-0-alt:armhf. Preparing to unpack .../343-libhdf4-0-alt_4.2.15-3_armhf.deb ... Unpacking libhdf4-0-alt:armhf (4.2.15-3) ... Selecting previously unselected package libsz2:armhf. Preparing to unpack .../344-libsz2_1.0.4-1_armhf.deb ... Unpacking libsz2:armhf (1.0.4-1) ... Selecting previously unselected package libhdf5-103-1:armhf. Preparing to unpack .../345-libhdf5-103-1_1.10.6+repack-2_armhf.deb ... Unpacking libhdf5-103-1:armhf (1.10.6+repack-2) ... Selecting previously unselected package libheif1:armhf. Preparing to unpack .../346-libheif1_1.11.0-1_armhf.deb ... Unpacking libheif1:armhf (1.11.0-1) ... Selecting previously unselected package libjson-c5:armhf. Preparing to unpack .../347-libjson-c5_0.15-2_armhf.deb ... Unpacking libjson-c5:armhf (0.15-2) ... Selecting previously unselected package libminizip1:armhf. Preparing to unpack .../348-libminizip1_1.1-8+b1_armhf.deb ... Unpacking libminizip1:armhf (1.1-8+b1) ... Selecting previously unselected package liburiparser1:armhf. Preparing to unpack .../349-liburiparser1_0.9.4+dfsg-1_armhf.deb ... Unpacking liburiparser1:armhf (0.9.4+dfsg-1) ... Selecting previously unselected package libkmlbase1:armhf. Preparing to unpack .../350-libkmlbase1_1.3.0-9_armhf.deb ... Unpacking libkmlbase1:armhf (1.3.0-9) ... Selecting previously unselected package libkmldom1:armhf. Preparing to unpack .../351-libkmldom1_1.3.0-9_armhf.deb ... Unpacking libkmldom1:armhf (1.3.0-9) ... Selecting previously unselected package libkmlengine1:armhf. Preparing to unpack .../352-libkmlengine1_1.3.0-9_armhf.deb ... Unpacking libkmlengine1:armhf (1.3.0-9) ... Selecting previously unselected package mysql-common. Preparing to unpack .../353-mysql-common_5.8+1.0.7_all.deb ... Unpacking mysql-common (5.8+1.0.7) ... Selecting previously unselected package mariadb-common. Preparing to unpack .../354-mariadb-common_1%3a10.5.8-3_all.deb ... Unpacking mariadb-common (1:10.5.8-3) ... Selecting previously unselected package libmariadb3:armhf. Preparing to unpack .../355-libmariadb3_1%3a10.5.8-3_armhf.deb ... Unpacking libmariadb3:armhf (1:10.5.8-3) ... Selecting previously unselected package libhdf5-hl-100:armhf. Preparing to unpack .../356-libhdf5-hl-100_1.10.6+repack-2_armhf.deb ... Unpacking libhdf5-hl-100:armhf (1.10.6+repack-2) ... Selecting previously unselected package libnetcdf18:armhf. Preparing to unpack .../357-libnetcdf18_1%3a4.7.4-1_armhf.deb ... Unpacking libnetcdf18:armhf (1:4.7.4-1) ... Selecting previously unselected package libltdl7:armhf. Preparing to unpack .../358-libltdl7_2.4.6-15_armhf.deb ... Unpacking libltdl7:armhf (2.4.6-15) ... Selecting previously unselected package libodbc1:armhf. Preparing to unpack .../359-libodbc1_2.3.6-0.1+b1_armhf.deb ... Unpacking libodbc1:armhf (2.3.6-0.1+b1) ... Selecting previously unselected package libogdi4.1:armhf. Preparing to unpack .../360-libogdi4.1_4.1.0+ds-3_armhf.deb ... Unpacking libogdi4.1:armhf (4.1.0+ds-3) ... Selecting previously unselected package libnspr4:armhf. Preparing to unpack .../361-libnspr4_2%3a4.29-1_armhf.deb ... Unpacking libnspr4:armhf (2:4.29-1) ... Selecting previously unselected package libnss3:armhf. Preparing to unpack .../362-libnss3_2%3a3.61-1_armhf.deb ... Unpacking libnss3:armhf (2:3.61-1) ... Selecting previously unselected package libpoppler102:armhf. Preparing to unpack .../363-libpoppler102_20.09.0-3.1_armhf.deb ... Unpacking libpoppler102:armhf (20.09.0-3.1) ... Selecting previously unselected package libpq5:armhf. Preparing to unpack .../364-libpq5_13.2-1_armhf.deb ... Unpacking libpq5:armhf (13.2-1) ... Selecting previously unselected package libqhull8.0:armhf. Preparing to unpack .../365-libqhull8.0_2020.2-3_armhf.deb ... Unpacking libqhull8.0:armhf (2020.2-3) ... Selecting previously unselected package librttopo1:armhf. Preparing to unpack .../366-librttopo1_1.1.0-2_armhf.deb ... Unpacking librttopo1:armhf (1.1.0-2) ... Selecting previously unselected package libspatialite7:armhf. Preparing to unpack .../367-libspatialite7_5.0.1-2_armhf.deb ... Unpacking libspatialite7:armhf (5.0.1-2) ... Selecting previously unselected package libxerces-c3.2:armhf. Preparing to unpack .../368-libxerces-c3.2_3.2.3+debian-3_armhf.deb ... Unpacking libxerces-c3.2:armhf (3.2.3+debian-3) ... Selecting previously unselected package libltdl7:amd64. Preparing to unpack .../369-libltdl7_2.4.6-15_amd64.deb ... Unpacking libltdl7:amd64 (2.4.6-15) ... Selecting previously unselected package odbcinst1debian2:amd64. Preparing to unpack .../370-odbcinst1debian2_2.3.6-0.1+b1_amd64.deb ... Unpacking odbcinst1debian2:amd64 (2.3.6-0.1+b1) ... Selecting previously unselected package odbcinst. Preparing to unpack .../371-odbcinst_2.3.6-0.1+b1_amd64.deb ... Unpacking odbcinst (2.3.6-0.1+b1) ... Selecting previously unselected package odbcinst1debian2:armhf. Preparing to unpack .../372-odbcinst1debian2_2.3.6-0.1+b1_armhf.deb ... Unpacking odbcinst1debian2:armhf (2.3.6-0.1+b1) ... Selecting previously unselected package libgdal28:armhf. Preparing to unpack .../373-libgdal28_3.2.1+dfsg-1+b1_armhf.deb ... Unpacking libgdal28:armhf (3.2.1+dfsg-1+b1) ... Selecting previously unselected package libsocket++1:armhf. Preparing to unpack .../374-libsocket++1_1.12.13-11_armhf.deb ... Unpacking libsocket++1:armhf (1.12.13-11) ... Selecting previously unselected package libgdcm3.0:armhf. Preparing to unpack .../375-libgdcm3.0_3.0.8-1_armhf.deb ... Unpacking libgdcm3.0:armhf (3.0.8-1) ... Selecting previously unselected package libgdcm-dev:armhf. Preparing to unpack .../376-libgdcm-dev_3.0.8-1_armhf.deb ... Unpacking libgdcm-dev:armhf (3.0.8-1) ... Selecting previously unselected package libgl2ps1.4:armhf. Preparing to unpack .../377-libgl2ps1.4_1.4.2+dfsg1-1_armhf.deb ... Unpacking libgl2ps1.4:armhf (1.4.2+dfsg1-1) ... Selecting previously unselected package libgles1:armhf. Preparing to unpack .../378-libgles1_1.3.2-1_armhf.deb ... Unpacking libgles1:armhf (1.3.2-1) ... Selecting previously unselected package libgles-dev:armhf. Preparing to unpack .../379-libgles-dev_1.3.2-1_armhf.deb ... Unpacking libgles-dev:armhf (1.3.2-1) ... Selecting previously unselected package libglew2.1:armhf. Preparing to unpack .../380-libglew2.1_2.1.0-4+b1_armhf.deb ... Unpacking libglew2.1:armhf (2.1.0-4+b1) ... Selecting previously unselected package libglib2.0-data. Preparing to unpack .../381-libglib2.0-data_2.66.7-1_all.deb ... Unpacking libglib2.0-data (2.66.7-1) ... Selecting previously unselected package libglib2.0-bin. Preparing to unpack .../382-libglib2.0-bin_2.66.7-1_amd64.deb ... Unpacking libglib2.0-bin (2.66.7-1) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../383-python3-lib2to3_3.9.1-2_all.deb ... Unpacking python3-lib2to3 (3.9.1-2) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../384-python3-distutils_3.9.1-2_all.deb ... Unpacking python3-distutils (3.9.1-2) ... Selecting previously unselected package libglib2.0-dev-bin. Preparing to unpack .../385-libglib2.0-dev-bin_2.66.7-1_amd64.deb ... Unpacking libglib2.0-dev-bin (2.66.7-1) ... Selecting previously unselected package libsepol1:armhf. Preparing to unpack .../386-libsepol1_3.1-1_armhf.deb ... Unpacking libsepol1:armhf (3.1-1) ... Selecting previously unselected package libsepol1-dev:armhf. Preparing to unpack .../387-libsepol1-dev_3.1-1_armhf.deb ... Unpacking libsepol1-dev:armhf (3.1-1) ... Selecting previously unselected package libpcre2-32-0:armhf. Preparing to unpack .../388-libpcre2-32-0_10.36-2_armhf.deb ... Unpacking libpcre2-32-0:armhf (10.36-2) ... Selecting previously unselected package libpcre2-posix2:armhf. Preparing to unpack .../389-libpcre2-posix2_10.36-2_armhf.deb ... Unpacking libpcre2-posix2:armhf (10.36-2) ... Selecting previously unselected package libpcre2-dev:armhf. Preparing to unpack .../390-libpcre2-dev_10.36-2_armhf.deb ... Unpacking libpcre2-dev:armhf (10.36-2) ... Selecting previously unselected package libselinux1-dev:armhf. Preparing to unpack .../391-libselinux1-dev_3.1-3_armhf.deb ... Unpacking libselinux1-dev:armhf (3.1-3) ... Selecting previously unselected package libmount-dev:armhf. Preparing to unpack .../392-libmount-dev_2.36.1-7_armhf.deb ... Unpacking libmount-dev:armhf (2.36.1-7) ... Selecting previously unselected package libpcre16-3:armhf. Preparing to unpack .../393-libpcre16-3_2%3a8.39-13_armhf.deb ... Unpacking libpcre16-3:armhf (2:8.39-13) ... Selecting previously unselected package libpcre32-3:armhf. Preparing to unpack .../394-libpcre32-3_2%3a8.39-13_armhf.deb ... Unpacking libpcre32-3:armhf (2:8.39-13) ... Selecting previously unselected package libpcrecpp0v5:armhf. Preparing to unpack .../395-libpcrecpp0v5_2%3a8.39-13_armhf.deb ... Unpacking libpcrecpp0v5:armhf (2:8.39-13) ... Selecting previously unselected package libpcre3-dev:armhf. Preparing to unpack .../396-libpcre3-dev_2%3a8.39-13_armhf.deb ... Unpacking libpcre3-dev:armhf (2:8.39-13) ... Selecting previously unselected package pkg-config. Preparing to unpack .../397-pkg-config_0.29.2-1_amd64.deb ... Unpacking pkg-config (0.29.2-1) ... Selecting previously unselected package libglib2.0-dev:armhf. Preparing to unpack .../398-libglib2.0-dev_2.66.7-1_armhf.deb ... Unpacking libglib2.0-dev:armhf (2.66.7-1) ... Selecting previously unselected package libgphoto2-port12:armhf. Preparing to unpack .../399-libgphoto2-port12_2.5.26-2_armhf.deb ... Unpacking libgphoto2-port12:armhf (2.5.26-2) ... Selecting previously unselected package libgphoto2-6:armhf. Preparing to unpack .../400-libgphoto2-6_2.5.26-2_armhf.deb ... Unpacking libgphoto2-6:armhf (2.5.26-2) ... Selecting previously unselected package libgphoto2-dev:armhf. Preparing to unpack .../401-libgphoto2-dev_2.5.26-2_armhf.deb ... Unpacking libgphoto2-dev:armhf (2.5.26-2) ... Selecting previously unselected package libtbb2:armhf. Preparing to unpack .../402-libtbb2_2020.3-1_armhf.deb ... Unpacking libtbb2:armhf (2020.3-1) ... Selecting previously unselected package libopencv-core4.5:armhf. Preparing to unpack .../403-libopencv-core4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-core4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libgstreamer-opencv1.0-0:armhf. Preparing to unpack .../404-libgstreamer-opencv1.0-0_1.18.3-1+b1_armhf.deb ... Unpacking libgstreamer-opencv1.0-0:armhf (1.18.3-1+b1) ... Selecting previously unselected package libunwind-dev:armhf. Preparing to unpack .../405-libunwind-dev_1.3.2-2_armhf.deb ... Unpacking libunwind-dev:armhf (1.3.2-2) ... Selecting previously unselected package libgstreamer1.0-dev:armhf. Preparing to unpack .../406-libgstreamer1.0-dev_1.18.3-1_armhf.deb ... Unpacking libgstreamer1.0-dev:armhf (1.18.3-1) ... Selecting previously unselected package liborc-0.4-dev-bin. Preparing to unpack .../407-liborc-0.4-dev-bin_1%3a0.4.32-1_amd64.deb ... Unpacking liborc-0.4-dev-bin (1:0.4.32-1) ... Selecting previously unselected package liborc-0.4-dev:armhf. Preparing to unpack .../408-liborc-0.4-dev_1%3a0.4.32-1_armhf.deb ... Unpacking liborc-0.4-dev:armhf (1:0.4.32-1) ... Selecting previously unselected package libx11-xcb-dev:armhf. Preparing to unpack .../409-libx11-xcb-dev_2%3a1.7.0-2_armhf.deb ... Unpacking libx11-xcb-dev:armhf (2:1.7.0-2) ... Selecting previously unselected package libwayland-bin. Preparing to unpack .../410-libwayland-bin_1.18.0-2~exp1.1_amd64.deb ... Unpacking libwayland-bin (1.18.0-2~exp1.1) ... Selecting previously unselected package libwayland-dev:armhf. Preparing to unpack .../411-libwayland-dev_1.18.0-2~exp1.1_armhf.deb ... Unpacking libwayland-dev:armhf (1.18.0-2~exp1.1) ... Selecting previously unselected package libgstreamer-plugins-base1.0-dev:armhf. Preparing to unpack .../412-libgstreamer-plugins-base1.0-dev_1.18.3-1_armhf.deb ... Unpacking libgstreamer-plugins-base1.0-dev:armhf (1.18.3-1) ... Selecting previously unselected package libopencv-flann4.5:armhf. Preparing to unpack .../413-libopencv-flann4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-flann4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-imgproc4.5:armhf. Preparing to unpack .../414-libopencv-imgproc4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-imgproc4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libilmbase25:armhf. Preparing to unpack .../415-libilmbase25_2.5.4-1_armhf.deb ... Unpacking libilmbase25:armhf (2.5.4-1) ... Selecting previously unselected package libopenexr25:armhf. Preparing to unpack .../416-libopenexr25_2.5.4-1_armhf.deb ... Unpacking libopenexr25:armhf (2.5.4-1) ... Selecting previously unselected package libopencv-imgcodecs4.5:armhf. Preparing to unpack .../417-libopencv-imgcodecs4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-imgcodecs4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libswscale5:armhf. Preparing to unpack .../418-libswscale5_7%3a4.3.1-8_armhf.deb ... Unpacking libswscale5:armhf (7:4.3.1-8) ... Selecting previously unselected package libopencv-videoio4.5:armhf. Preparing to unpack .../419-libopencv-videoio4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-videoio4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libjson-glib-1.0-common. Preparing to unpack .../420-libjson-glib-1.0-common_1.6.0-3_all.deb ... Unpacking libjson-glib-1.0-common (1.6.0-3) ... Selecting previously unselected package libjson-glib-1.0-0:armhf. Preparing to unpack .../421-libjson-glib-1.0-0_1.6.0-3_armhf.deb ... Unpacking libjson-glib-1.0-0:armhf (1.6.0-3) ... Selecting previously unselected package libsoup2.4-1:armhf. Preparing to unpack .../422-libsoup2.4-1_2.72.0-2_armhf.deb ... Unpacking libsoup2.4-1:armhf (2.72.0-2) ... Selecting previously unselected package libsoup-gnome2.4-1:armhf. Preparing to unpack .../423-libsoup-gnome2.4-1_2.72.0-2_armhf.deb ... Unpacking libsoup-gnome2.4-1:armhf (2.72.0-2) ... Selecting previously unselected package librest-0.7-0:armhf. Preparing to unpack .../424-librest-0.7-0_0.8.1-1.1_armhf.deb ... Unpacking librest-0.7-0:armhf (0.8.1-1.1) ... Selecting previously unselected package libxcomposite1:armhf. Preparing to unpack .../425-libxcomposite1_1%3a0.4.5-1_armhf.deb ... Unpacking libxcomposite1:armhf (1:0.4.5-1) ... Selecting previously unselected package libxcursor1:armhf. Preparing to unpack .../426-libxcursor1_1%3a1.2.0-2_armhf.deb ... Unpacking libxcursor1:armhf (1:1.2.0-2) ... Selecting previously unselected package libxi6:armhf. Preparing to unpack .../427-libxi6_2%3a1.7.10-1_armhf.deb ... Unpacking libxi6:armhf (2:1.7.10-1) ... Selecting previously unselected package libxinerama1:armhf. Preparing to unpack .../428-libxinerama1_2%3a1.1.4-2_armhf.deb ... Unpacking libxinerama1:armhf (2:1.1.4-2) ... Selecting previously unselected package libxrandr2:armhf. Preparing to unpack .../429-libxrandr2_2%3a1.5.1-1_armhf.deb ... Unpacking libxrandr2:armhf (2:1.5.1-1) ... Selecting previously unselected package libgtk-3-common. Preparing to unpack .../430-libgtk-3-common_3.24.24-1_all.deb ... Unpacking libgtk-3-common (3.24.24-1) ... Selecting previously unselected package libgtk-3-0:armhf. Preparing to unpack .../431-libgtk-3-0_3.24.24-1_armhf.deb ... Unpacking libgtk-3-0:armhf (3.24.24-1) ... Selecting previously unselected package libopencv-highgui4.5:armhf. Preparing to unpack .../432-libopencv-highgui4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-highgui4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-ml4.5:armhf. Preparing to unpack .../433-libopencv-ml4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-ml4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-features2d4.5:armhf. Preparing to unpack .../434-libopencv-features2d4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-features2d4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-calib3d4.5:armhf. Preparing to unpack .../435-libopencv-calib3d4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-calib3d4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libtbb-dev:armhf. Preparing to unpack .../436-libtbb-dev_2020.3-1_armhf.deb ... Unpacking libtbb-dev:armhf (2020.3-1) ... Selecting previously unselected package libopencv-core-dev:armhf. Preparing to unpack .../437-libopencv-core-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-core-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-flann-dev:armhf. Preparing to unpack .../438-libopencv-flann-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-flann-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libjpeg62-turbo-dev:armhf. Preparing to unpack .../439-libjpeg62-turbo-dev_1%3a2.0.5-2_armhf.deb ... Unpacking libjpeg62-turbo-dev:armhf (1:2.0.5-2) ... Selecting previously unselected package libjpeg-dev:armhf. Preparing to unpack .../440-libjpeg-dev_1%3a2.0.5-2_armhf.deb ... Unpacking libjpeg-dev:armhf (1:2.0.5-2) ... Selecting previously unselected package libopencv-imgproc-dev:armhf. Preparing to unpack .../441-libopencv-imgproc-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-imgproc-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-imgcodecs-dev:armhf. Preparing to unpack .../442-libopencv-imgcodecs-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-imgcodecs-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-videoio-dev:armhf. Preparing to unpack .../443-libopencv-videoio-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-videoio-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libilmbase-dev:armhf. Preparing to unpack .../444-libilmbase-dev_2.5.4-1_armhf.deb ... Unpacking libilmbase-dev:armhf (2.5.4-1) ... Selecting previously unselected package libopenexr-dev:armhf. Preparing to unpack .../445-libopenexr-dev_2.5.4-1_armhf.deb ... Unpacking libopenexr-dev:armhf (2.5.4-1) ... Selecting previously unselected package libpng-dev:armhf. Preparing to unpack .../446-libpng-dev_1.6.37-3_armhf.deb ... Unpacking libpng-dev:armhf (1.6.37-3) ... Selecting previously unselected package libswscale-dev:armhf. Preparing to unpack .../447-libswscale-dev_7%3a4.3.1-8_armhf.deb ... Unpacking libswscale-dev:armhf (7:4.3.1-8) ... Selecting previously unselected package libjbig-dev:armhf. Preparing to unpack .../448-libjbig-dev_2.1-3.1+b2_armhf.deb ... Unpacking libjbig-dev:armhf (2.1-3.1+b2) ... Selecting previously unselected package libtiffxx5:armhf. Preparing to unpack .../449-libtiffxx5_4.2.0-1_armhf.deb ... Unpacking libtiffxx5:armhf (4.2.0-1) ... Selecting previously unselected package libtiff-dev:armhf. Preparing to unpack .../450-libtiff-dev_4.2.0-1_armhf.deb ... Unpacking libtiff-dev:armhf (4.2.0-1) ... Selecting previously unselected package libopencv-highgui-dev:armhf. Preparing to unpack .../451-libopencv-highgui-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-highgui-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-ml-dev:armhf. Preparing to unpack .../452-libopencv-ml-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-ml-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-features2d-dev:armhf. Preparing to unpack .../453-libopencv-features2d-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-features2d-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-calib3d-dev:armhf. Preparing to unpack .../454-libopencv-calib3d-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-calib3d-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libprotobuf23:armhf. Preparing to unpack .../455-libprotobuf23_3.12.4-1_armhf.deb ... Unpacking libprotobuf23:armhf (3.12.4-1) ... Selecting previously unselected package libopencv-dnn4.5:armhf. Preparing to unpack .../456-libopencv-dnn4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-dnn4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-objdetect4.5:armhf. Preparing to unpack .../457-libopencv-objdetect4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-objdetect4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-photo4.5:armhf. Preparing to unpack .../458-libopencv-photo4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-photo4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-video4.5:armhf. Preparing to unpack .../459-libopencv-video4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-video4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-shape4.5:armhf. Preparing to unpack .../460-libopencv-shape4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-shape4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-stitching4.5:armhf. Preparing to unpack .../461-libopencv-stitching4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-stitching4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-superres4.5:armhf. Preparing to unpack .../462-libopencv-superres4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-superres4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-videostab4.5:armhf. Preparing to unpack .../463-libopencv-videostab4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-videostab4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libjsoncpp24:armhf. Preparing to unpack .../464-libjsoncpp24_1.9.4-4_armhf.deb ... Unpacking libjsoncpp24:armhf (1.9.4-4) ... Selecting previously unselected package libopengl0:armhf. Preparing to unpack .../465-libopengl0_1.3.2-1_armhf.deb ... Unpacking libopengl0:armhf (1.3.2-1) ... Selecting previously unselected package libtcl8.6:armhf. Preparing to unpack .../466-libtcl8.6_8.6.11+dfsg-1_armhf.deb ... Unpacking libtcl8.6:armhf (8.6.11+dfsg-1) ... Selecting previously unselected package libxft2:armhf. Preparing to unpack .../467-libxft2_2.3.2-2_armhf.deb ... Unpacking libxft2:armhf (2.3.2-2) ... Selecting previously unselected package libxss1:armhf. Preparing to unpack .../468-libxss1_1%3a1.2.3-1_armhf.deb ... Unpacking libxss1:armhf (1:1.2.3-1) ... Selecting previously unselected package libtk8.6:armhf. Preparing to unpack .../469-libtk8.6_8.6.11-2_armhf.deb ... Unpacking libtk8.6:armhf (8.6.11-2) ... Selecting previously unselected package libvtk9:armhf. Preparing to unpack .../470-libvtk9_9.0.1+dfsg1-8_armhf.deb ... Unpacking libvtk9:armhf (9.0.1+dfsg1-8) ... Selecting previously unselected package libopencv-viz4.5:armhf. Preparing to unpack .../471-libopencv-viz4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-viz4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package liblept5:armhf. Preparing to unpack .../472-liblept5_1.79.0-1_armhf.deb ... Unpacking liblept5:armhf (1.79.0-1) ... Selecting previously unselected package libtesseract4:armhf. Preparing to unpack .../473-libtesseract4_4.1.1-2.1_armhf.deb ... Unpacking libtesseract4:armhf (4.1.1-2.1) ... Selecting previously unselected package libopencv-contrib4.5:armhf. Preparing to unpack .../474-libopencv-contrib4.5_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-contrib4.5:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-dnn-dev:armhf. Preparing to unpack .../475-libopencv-dnn-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-dnn-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-objdetect-dev:armhf. Preparing to unpack .../476-libopencv-objdetect-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-objdetect-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-photo-dev:armhf. Preparing to unpack .../477-libopencv-photo-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-photo-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-video-dev:armhf. Preparing to unpack .../478-libopencv-video-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-video-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-shape-dev:armhf. Preparing to unpack .../479-libopencv-shape-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-shape-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-stitching-dev:armhf. Preparing to unpack .../480-libopencv-stitching-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-stitching-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-superres-dev:armhf. Preparing to unpack .../481-libopencv-superres-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-superres-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-videostab-dev:armhf. Preparing to unpack .../482-libopencv-videostab-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-videostab-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-viz-dev:armhf. Preparing to unpack .../483-libopencv-viz-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-viz-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-contrib-dev:armhf. Preparing to unpack .../484-libopencv-contrib-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-contrib-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libopencv-dev:armhf. Preparing to unpack .../485-libopencv-dev_4.5.1+dfsg-4_armhf.deb ... Unpacking libopencv-dev:armhf (4.5.1+dfsg-4) ... Selecting previously unselected package libgstreamer-plugins-bad1.0-dev:armhf. Preparing to unpack .../486-libgstreamer-plugins-bad1.0-dev_1.18.3-1+b1_armhf.deb ... Unpacking libgstreamer-plugins-bad1.0-dev:armhf (1.18.3-1+b1) ... Selecting previously unselected package liblmdb0:armhf. Preparing to unpack .../487-liblmdb0_0.9.24-1_armhf.deb ... Unpacking liblmdb0:armhf (0.9.24-1) ... Selecting previously unselected package liblmdb-dev:armhf. Preparing to unpack .../488-liblmdb-dev_0.9.24-1_armhf.deb ... Unpacking liblmdb-dev:armhf (0.9.24-1) ... Selecting previously unselected package liblmdb++-dev:armhf. Preparing to unpack .../489-liblmdb++-dev_0.9.14.1+git20160228.0b43ca8-1_armhf.deb ... Unpacking liblmdb++-dev:armhf (0.9.14.1+git20160228.0b43ca8-1) ... Selecting previously unselected package libolm3:armhf. Preparing to unpack .../490-libolm3_3.2.1~dfsg-7_armhf.deb ... Unpacking libolm3:armhf (3.2.1~dfsg-7) ... Selecting previously unselected package libolm-dev:armhf. Preparing to unpack .../491-libolm-dev_3.2.1~dfsg-7_armhf.deb ... Unpacking libolm-dev:armhf (3.2.1~dfsg-7) ... Selecting previously unselected package libsndfile1:armhf. Preparing to unpack .../492-libsndfile1_1.0.31-1_armhf.deb ... Unpacking libsndfile1:armhf (1.0.31-1) ... Selecting previously unselected package libwrap0:armhf. Preparing to unpack .../493-libwrap0_7.6.q-31_armhf.deb ... Unpacking libwrap0:armhf (7.6.q-31) ... Selecting previously unselected package libpulse0:armhf. Preparing to unpack .../494-libpulse0_14.2-1_armhf.deb ... Unpacking libpulse0:armhf (14.2-1) ... Selecting previously unselected package libqt5concurrent5:armhf. Preparing to unpack .../495-libqt5concurrent5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5concurrent5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5xml5:amd64. Preparing to unpack .../496-libqt5xml5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5xml5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5designer5:amd64. Preparing to unpack .../497-libqt5designer5_5.15.2-3_amd64.deb ... Unpacking libqt5designer5:amd64 (5.15.2-3) ... Selecting previously unselected package libqt5xml5:armhf. Preparing to unpack .../498-libqt5xml5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5xml5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5designer5:armhf. Preparing to unpack .../499-libqt5designer5_5.15.2-3_armhf.deb ... Unpacking libqt5designer5:armhf (5.15.2-3) ... Selecting previously unselected package libqt5designercomponents5:amd64. Preparing to unpack .../500-libqt5designercomponents5_5.15.2-3_amd64.deb ... Unpacking libqt5designercomponents5:amd64 (5.15.2-3) ... Selecting previously unselected package libqt5designercomponents5:armhf. Preparing to unpack .../501-libqt5designercomponents5_5.15.2-3_armhf.deb ... Unpacking libqt5designercomponents5:armhf (5.15.2-3) ... Selecting previously unselected package libqt5sql5:amd64. Preparing to unpack .../502-libqt5sql5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5sql5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5help5:amd64. Preparing to unpack .../503-libqt5help5_5.15.2-3_amd64.deb ... Unpacking libqt5help5:amd64 (5.15.2-3) ... Selecting previously unselected package libqt5sql5:armhf. Preparing to unpack .../504-libqt5sql5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5sql5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5help5:armhf. Preparing to unpack .../505-libqt5help5_5.15.2-3_armhf.deb ... Unpacking libqt5help5:armhf (5.15.2-3) ... Selecting previously unselected package libqt5keychain1:armhf. Preparing to unpack .../506-libqt5keychain1_0.10.0-1_armhf.deb ... Unpacking libqt5keychain1:armhf (0.10.0-1) ... Selecting previously unselected package libqt5multimedia5:armhf. Preparing to unpack .../507-libqt5multimedia5_5.15.2-2_armhf.deb ... Unpacking libqt5multimedia5:armhf (5.15.2-2) ... Selecting previously unselected package libqt5multimediawidgets5:armhf. Preparing to unpack .../508-libqt5multimediawidgets5_5.15.2-2_armhf.deb ... Unpacking libqt5multimediawidgets5:armhf (5.15.2-2) ... Selecting previously unselected package libqt5multimediagsttools5:armhf. Preparing to unpack .../509-libqt5multimediagsttools5_5.15.2-2_armhf.deb ... Unpacking libqt5multimediagsttools5:armhf (5.15.2-2) ... Selecting previously unselected package libqt5qml5:armhf. Preparing to unpack .../510-libqt5qml5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5qml5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5qmlmodels5:armhf. Preparing to unpack .../511-libqt5qmlmodels5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5qmlmodels5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quick5:armhf. Preparing to unpack .../512-libqt5quick5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5quick5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5multimediaquick5:armhf. Preparing to unpack .../513-libqt5multimediaquick5_5.15.2-2_armhf.deb ... Unpacking libqt5multimediaquick5:armhf (5.15.2-2) ... Selecting previously unselected package libqt5printsupport5:armhf. Preparing to unpack .../514-libqt5printsupport5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5printsupport5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quicktemplates2-5:armhf. Preparing to unpack .../515-libqt5quicktemplates2-5_5.15.2+dfsg-2_armhf.deb ... Unpacking libqt5quicktemplates2-5:armhf (5.15.2+dfsg-2) ... Selecting previously unselected package libqt5quickcontrols2-5:armhf. Preparing to unpack .../516-libqt5quickcontrols2-5_5.15.2+dfsg-2_armhf.deb ... Unpacking libqt5quickcontrols2-5:armhf (5.15.2+dfsg-2) ... Selecting previously unselected package libqt5quickparticles5:armhf. Preparing to unpack .../517-libqt5quickparticles5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5quickparticles5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quickshapes5:armhf. Preparing to unpack .../518-libqt5quickshapes5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5quickshapes5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5test5:amd64. Preparing to unpack .../519-libqt5test5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5test5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quicktest5:amd64. Preparing to unpack .../520-libqt5quicktest5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5quicktest5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5test5:armhf. Preparing to unpack .../521-libqt5test5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5test5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quicktest5:armhf. Preparing to unpack .../522-libqt5quicktest5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5quicktest5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quickwidgets5:armhf. Preparing to unpack .../523-libqt5quickwidgets5_5.15.2+dfsg-4_armhf.deb ... Unpacking libqt5quickwidgets5:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5quickwidgets5:amd64. Preparing to unpack .../524-libqt5quickwidgets5_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5quickwidgets5:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libqt5sql5-sqlite:amd64. Preparing to unpack .../525-libqt5sql5-sqlite_5.15.2+dfsg-4_amd64.deb ... Unpacking libqt5sql5-sqlite:amd64 (5.15.2+dfsg-4) ... Selecting previously unselected package libsodium-dev:armhf. Preparing to unpack .../526-libsodium-dev_1.0.18-1_armhf.deb ... Unpacking libsodium-dev:armhf (1.0.18-1) ... Selecting previously unselected package libspdlog1:armhf. Preparing to unpack .../527-libspdlog1_1%3a1.8.1+ds-2.1_armhf.deb ... Unpacking libspdlog1:armhf (1:1.8.1+ds-2.1) ... Selecting previously unselected package libspdlog-dev:armhf. Preparing to unpack .../528-libspdlog-dev_1%3a1.8.1+ds-2.1_armhf.deb ... Unpacking libspdlog-dev:armhf (1:1.8.1+ds-2.1) ... Selecting previously unselected package libssl-dev:armhf. Preparing to unpack .../529-libssl-dev_1.1.1i-3_armhf.deb ... Unpacking libssl-dev:armhf (1.1.1i-3) ... Selecting previously unselected package libtweeny-dev. Preparing to unpack .../530-libtweeny-dev_3-2_all.deb ... Unpacking libtweeny-dev (3-2) ... Selecting previously unselected package libvulkan-dev:armhf. Preparing to unpack .../531-libvulkan-dev_1.2.162.0-1_armhf.deb ... Unpacking libvulkan-dev:armhf (1.2.162.0-1) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../532-x11proto-xext-dev_2020.1-1_all.deb ... Unpacking x11proto-xext-dev (2020.1-1) ... Selecting previously unselected package libxext-dev:armhf. Preparing to unpack .../533-libxext-dev_2%3a1.3.3-1.1_armhf.deb ... Unpacking libxext-dev:armhf (2:1.3.3-1.1) ... Selecting previously unselected package nlohmann-json3-dev. Preparing to unpack .../534-nlohmann-json3-dev_3.9.1-1_all.deb ... Unpacking nlohmann-json3-dev (3.9.1-1) ... Selecting previously unselected package qtchooser. Preparing to unpack .../535-qtchooser_66-2_amd64.deb ... Unpacking qtchooser (66-2) ... Selecting previously unselected package qdoc-qt5. Preparing to unpack .../536-qdoc-qt5_5.15.2-3_amd64.deb ... Unpacking qdoc-qt5 (5.15.2-3) ... Selecting previously unselected package qhelpgenerator-qt5. Preparing to unpack .../537-qhelpgenerator-qt5_5.15.2-3_amd64.deb ... Unpacking qhelpgenerator-qt5 (5.15.2-3) ... Selecting previously unselected package qt5-assistant. Preparing to unpack .../538-qt5-assistant_5.15.2-3_amd64.deb ... Unpacking qt5-assistant (5.15.2-3) ... Selecting previously unselected package qt5-qmake-bin. Preparing to unpack .../539-qt5-qmake-bin_5.15.2+dfsg-4_amd64.deb ... Unpacking qt5-qmake-bin (5.15.2+dfsg-4) ... Selecting previously unselected package qt5-qmake:armhf. Preparing to unpack .../540-qt5-qmake_5.15.2+dfsg-4_armhf.deb ... Unpacking qt5-qmake:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package qt5-qmltooling-plugins:armhf. Preparing to unpack .../541-qt5-qmltooling-plugins_5.15.2+dfsg-4_armhf.deb ... Unpacking qt5-qmltooling-plugins:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package qt5keychain-dev:armhf. Preparing to unpack .../542-qt5keychain-dev_0.10.0-1_armhf.deb ... Unpacking qt5keychain-dev:armhf (0.10.0-1) ... Selecting previously unselected package qtattributionsscanner-qt5. Preparing to unpack .../543-qtattributionsscanner-qt5_5.15.2-3_amd64.deb ... Unpacking qtattributionsscanner-qt5 (5.15.2-3) ... Selecting previously unselected package qtbase5-dev-tools. Preparing to unpack .../544-qtbase5-dev-tools_5.15.2+dfsg-4_amd64.deb ... Unpacking qtbase5-dev-tools (5.15.2+dfsg-4) ... Selecting previously unselected package qtbase5-dev:armhf. Preparing to unpack .../545-qtbase5-dev_5.15.2+dfsg-4_armhf.deb ... Unpacking qtbase5-dev:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package qtdeclarative5-dev-tools. Preparing to unpack .../546-qtdeclarative5-dev-tools_5.15.2+dfsg-4_amd64.deb ... Unpacking qtdeclarative5-dev-tools (5.15.2+dfsg-4) ... Selecting previously unselected package qtdeclarative5-dev:armhf. Preparing to unpack .../547-qtdeclarative5-dev_5.15.2+dfsg-4_armhf.deb ... Unpacking qtdeclarative5-dev:armhf (5.15.2+dfsg-4) ... Selecting previously unselected package qtmultimedia5-dev:armhf. Preparing to unpack .../548-qtmultimedia5-dev_5.15.2-2_armhf.deb ... Unpacking qtmultimedia5-dev:armhf (5.15.2-2) ... Selecting previously unselected package qtquickcontrols2-5-dev:armhf. Preparing to unpack .../549-qtquickcontrols2-5-dev_5.15.2+dfsg-2_armhf.deb ... Unpacking qtquickcontrols2-5-dev:armhf (5.15.2+dfsg-2) ... Selecting previously unselected package qttools5-dev-tools. Preparing to unpack .../550-qttools5-dev-tools_5.15.2-3_amd64.deb ... Unpacking qttools5-dev-tools (5.15.2-3) ... Selecting previously unselected package qttools5-dev:armhf. Preparing to unpack .../551-qttools5-dev_5.15.2-3_armhf.deb ... Unpacking qttools5-dev:armhf (5.15.2-3) ... Selecting previously unselected package sbuild-build-depends-main-dummy:armhf. Preparing to unpack .../552-sbuild-build-depends-main-dummy_0.invalid.0_armhf.deb ... Unpacking sbuild-build-depends-main-dummy:armhf (0.invalid.0) ... Setting up libconfig-inifiles-perl (3.000003-1) ... Setting up media-types (4.0.0) ... Setting up libpipeline1:amd64 (1.5.3-1) ... Setting up libboost-system1.74.0:armhf (1.74.0-8) ... Setting up liblmdb0:armhf (0.9.24-1) ... Setting up libgraphite2-3:amd64 (1.3.14-1) ... Setting up libgraphite2-3:armhf (1.3.14-1) ... Setting up liblcms2-2:armhf (2.12~rc1-2) ... Setting up libpixman-1-0:armhf (0.40.0-1) ... Setting up libudfread0:armhf (1.1.1-1) ... Setting up libwayland-server0:amd64 (1.18.0-2~exp1.1) ... Setting up libpciaccess0:amd64 (0.16-1) ... Setting up mysql-common (5.8+1.0.7) ... update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up systemd-sysv (247.3-1) ... Setting up libxau6:amd64 (1:1.0.9-1) ... Setting up libxau6:armhf (1:1.0.9-1) ... Setting up libdouble-conversion3:amd64 (3.1.5-6.1) ... Setting up libraw1394-11:armhf (2.1.2-2) ... Setting up libkeyutils1:armhf (1.6.1-2) ... Setting up libproxy1v5:amd64 (0.4.17-1) ... Setting up libpsl5:amd64 (0.21.0-1.2) ... Setting up libsodium23:armhf (1.0.18-1) ... Setting up libc6-armhf-cross (2.31-9cross2) ... Setting up libmpg123-0:armhf (1.26.4-1) ... Setting up libogg0:armhf (1.3.4-0.1) ... Setting up libspeex1:armhf (1.2~rc1.2-1.1) ... Setting up proj-data (7.2.1-1) ... Setting up libshine3:armhf (3.1.1-2) ... Setting up bsdextrautils (2.36.1-7) ... update-alternatives: using /usr/bin/write.ul to provide /usr/bin/write (write) in auto mode Setting up libpcre16-3:armhf (2:8.39-13) ... Setting up hicolor-icon-theme (0.17-2) ... Setting up libtwolame0:armhf (0.4.0-2) ... Setting up libicu67:amd64 (67.1-6) ... Setting up libhyphen0:amd64 (2.8.8-7) ... Setting up libdatrie1:armhf (0.2.13-1) ... Setting up libmagic-mgc (1:5.39-3) ... Setting up libqhull8.0:armhf (2020.2-3) ... Setting up libgsm1:armhf (1.0.18-2) ... Setting up libglib2.0-0:amd64 (2.66.7-1) ... Setting up libglvnd0:amd64 (1.3.2-1) ... Setting up libglvnd0:armhf (1.3.2-1) ... Setting up libssl1.1:armhf (1.1.1i-3) ... Setting up libpgm-5.3-0:armhf (5.3.128~dfsg-2) ... Setting up perl-modules-5.32 (5.32.1-2) ... Setting up libaom0:armhf (1.0.0.errata1-3) ... Setting up libraw1394-dev:armhf (2.1.2-2) ... Setting up libbrotli1:amd64 (1.0.9-2+b2) ... Setting up libbrotli1:armhf (1.0.9-2+b2) ... Setting up libsqlite3-0:amd64 (3.34.1-2) ... Setting up libsqlite3-0:armhf (3.34.1-2) ... Setting up libgdk-pixbuf2.0-common (2.42.2+dfsg-1) ... Setting up libffi7:armhf (3.3-5) ... Setting up libacl1:armhf (2.2.53-10) ... Setting up x11-common (1:7.7+21) ... Running in chroot, ignoring request. All runlevel operations denied by policy invoke-rc.d: policy-rc.d denied execution of start. Setting up libsensors-config (1:3.6.0-7) ... Setting up libnghttp2-14:amd64 (1.43.0-1) ... Setting up libnghttp2-14:armhf (1.43.0-1) ... Setting up libmagic1:amd64 (1:5.39-3) ... Setting up libunistring2:armhf (0.9.10-4) ... Setting up libdeflate0:amd64 (1.7-1) ... Setting up libdeflate0:armhf (1.7-1) ... Setting up linux-libc-dev:armhf (5.10.13-1) ... Setting up gettext-base (0.21-4) ... Setting up liborc-0.4-dev-bin (1:0.4.32-1) ... Setting up xkb-data (2.29-2) ... Setting up zlib1g:armhf (1:1.2.11.dfsg-2) ... Setting up libidn2-0:armhf (2.3.0-5) ... Setting up libcom-err2:armhf (1.46.1-1) ... Setting up file (1:5.39-3) ... Setting up libgomp1:armhf (10.2.1-6) ... Setting up libxvidcore4:armhf (2:1.3.7-1) ... Setting up libepsilon1:armhf (0.9.2+dfsg-5) ... Setting up libffi-dev:armhf (3.3-5) ... Setting up libunwind8:amd64 (1.3.2-2) ... Setting up libunwind8:armhf (1.3.2-2) ... Setting up libx264-160:armhf (2:0.160.3011+gitcde9a93-2+b2) ... Setting up libpthread-stubs0-dev:armhf (0.4-1) ... Setting up libjbig0:amd64 (2.1-3.1+b2) ... Setting up libjbig0:armhf (2.1-3.1+b2) ... Setting up libpcre2-16-0:amd64 (10.36-2) ... Setting up libpcre2-16-0:armhf (10.36-2) ... Setting up libaec0:armhf (1.0.4-1) ... Setting up gdal-data (3.2.1+dfsg-1) ... Setting up libsystemd0:armhf (247.3-1) ... Setting up libcap2:armhf (1:2.44-1) ... Setting up libopengl0:armhf (1.3.2-1) ... Setting up libflac8:armhf (1.3.3-2) ... Setting up libkrb5support0:armhf (1.18.3-4) ... Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1) ... Setting up libcap2-bin (1:2.44-1) ... Setting up libdconf1:amd64 (0.38.0-2) ... Setting up mariadb-common (1:10.5.8-3) ... update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up libasound2-data (1.2.4-1.1) ... Setting up xtrans-dev (1.4.0-1) ... Setting up libpcre3:armhf (2:8.39-13) ... Setting up autotools-dev (20180224.1+nmu1) ... Setting up libz3-4:amd64 (4.8.10-1) ... Setting up libpcre2-32-0:armhf (10.36-2) ... Setting up libblas3:armhf (3.9.0-3) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode Setting up libglib2.0-data (2.66.7-1) ... Setting up cross-config (2.6.15-3.1) ... Setting up libtirpc-dev:amd64 (1.3.1-1) ... Setting up libuv1:amd64 (1.40.0-1) ... Setting up libgles2:armhf (1.3.2-1) ... Setting up libjpeg62-turbo:amd64 (1:2.0.5-2) ... Setting up libjpeg62-turbo:armhf (1:2.0.5-2) ... Setting up qt5-qmake-bin (5.15.2+dfsg-4) ... Setting up libva2:armhf (2.10.0-1) ... Setting up libnettle8:armhf (3.7-2) ... Setting up libx11-data (2:1.7.0-2) ... Setting up libepoxy0:armhf (1.5.5-1) ... Setting up libnspr4:armhf (2:4.29-1) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ... Setting up libgmp10:armhf (2:6.2.1+dfsg-1) ... Setting up libcodec2-0.9:armhf (0.9.2-4) ... Setting up libtweeny-dev (3-2) ... Setting up libavahi-common-data:amd64 (0.8-5) ... Setting up libavahi-common-data:armhf (0.8-5) ... Setting up libncurses6:amd64 (6.2+20201114-2) ... Setting up libgles1:armhf (1.3.2-1) ... Setting up libdbus-1-3:amd64 (1.12.20-1) ... Setting up libdbus-1-3:armhf (1.12.20-1) ... Setting up dbus (1.12.20-1) ... Running in chroot, ignoring request. All runlevel operations denied by policy invoke-rc.d: policy-rc.d denied execution of start. Setting up libsigsegv2:amd64 (2.13-1) ... Setting up libfribidi0:armhf (1.0.8-2) ... Setting up libopus0:armhf (1.3.1-0.1) ... Setting up libp11-kit0:armhf (0.23.22-1) ... Setting up libexif12:armhf (0.6.22-3) ... Setting up libssl-dev:armhf (1.1.1i-3) ... Setting up libpng16-16:amd64 (1.6.37-3) ... Setting up libpng16-16:armhf (1.6.37-3) ... Setting up libpcre32-3:armhf (2:8.39-13) ... Setting up libatomic1:armhf (10.2.1-6) ... Setting up libvorbis0a:armhf (1.3.7-1) ... Setting up libuuid1:armhf (2.36.1-7) ... Setting up liborc-0.4-0:amd64 (1:0.4.32-1) ... Setting up liborc-0.4-0:armhf (1:0.4.32-1) ... Setting up libtcl8.6:armhf (8.6.11+dfsg-1) ... Setting up linux-libc-dev-armhf-cross (5.10.5-1cross2) ... Setting up autopoint (0.21-4) ... Setting up libwebp6:amd64 (0.6.1-2+b1) ... Setting up libwebp6:armhf (0.6.1-2+b1) ... Setting up icu-devtools (67.1-6) ... Setting up libmariadb3:armhf (1:10.5.8-3) ... Setting up fonts-dejavu-core (2.37-2) ... Setting up libsensors5:amd64 (1:3.6.0-7) ... Setting up libsensors5:armhf (1:3.6.0-7) ... Setting up libpcre2-8-0:armhf (10.36-2) ... Setting up libsodium-dev:armhf (1.0.18-1) ... Setting up libk5crypto3:armhf (1.18.3-4) ... Setting up libperl5.32:amd64 (5.32.1-2) ... Setting up libltdl7:amd64 (2.4.6-15) ... Setting up libltdl7:armhf (2.4.6-15) ... Setting up liblmdb-dev:armhf (0.9.24-1) ... Setting up libglapi-mesa:amd64 (20.3.4-1) ... Setting up libglapi-mesa:armhf (20.3.4-1) ... Setting up gcc-10-cross-base (10.2.1-6cross1) ... Setting up libsasl2-2:amd64 (2.1.27+dfsg-2.1) ... Setting up libgfortran5:armhf (10.2.1-6) ... Setting up libmtdev1:amd64 (1.1.6-1) ... Setting up libmtdev1:armhf (1.1.6-1) ... Setting up libvulkan1:amd64 (1.2.162.0-1) ... Setting up libvulkan1:armhf (1.2.162.0-1) ... Setting up libhdf4-0-alt:armhf (4.2.15-3) ... Setting up libjsoncpp24:amd64 (1.9.4-4) ... Setting up libudev1:armhf (247.3-1) ... Setting up liblzma-dev:armhf (5.2.5-1.0) ... Setting up libgif7:armhf (5.1.9-2) ... Setting up libatk1.0-data (2.36.0-2) ... Setting up libsepol1:armhf (3.1-1) ... Setting up liburiparser1:armhf (0.9.4+dfsg-1) ... Setting up libmd0:amd64 (1.0.3-3) ... Setting up libmd0:armhf (1.0.3-3) ... Setting up libfreexl1:armhf (1.0.6-1) ... Setting up libnsl-dev:amd64 (1.3.0-2) ... Setting up sensible-utils (0.0.14) ... Setting up ocl-icd-libopencl1:armhf (2.2.14-2) ... Setting up libasyncns0:armhf (0.8-6+b2) ... Setting up libxshmfence1:amd64 (1.3-1) ... Setting up libxshmfence1:armhf (1.3-1) ... Setting up libvpx6:armhf (1.9.0-1) ... Setting up librhash0:amd64 (1.4.1-1) ... Setting up libcrypt-dev:amd64 (1:4.4.17-1) ... Setting up libcrypt-dev:armhf (1:4.4.17-1) ... Setting up libwavpack1:armhf (5.4.0-1) ... Setting up libcmark0.29.0:armhf (0.29.0-4) ... Setting up libuchardet0:amd64 (0.0.7-1) ... Setting up libasound2:armhf (1.2.4-1.1) ... Setting up libmpdec3:amd64 (2.5.1-1) ... Setting up libtasn1-6:armhf (4.16.0-2) ... Setting up libpam-systemd:amd64 (247.3-1) ... Setting up libmd4c0:amd64 (0.4.7-1) ... Setting up libmd4c0:armhf (0.4.7-1) ... Setting up libdav1d4:armhf (0.7.1-3) ... Setting up libopenjp2-7:armhf (2.4.0-3) ... Setting up libc6-dev:amd64 (2.31-9) ... Setting up libthai-data (0.1.28-3) ... Setting up libssh2-1:amd64 (1.9.0-2) ... Setting up libssh2-1:armhf (1.9.0-2) ... Setting up xorg-sgml-doctools (1:1.11-1.1) ... Setting up libjson-glib-1.0-common (1.6.0-3) ... Setting up cmake-data (3.18.4-2) ... Setting up libkrb5-3:armhf (1.18.3-4) ... Setting up libtiff5:amd64 (4.2.0-1) ... Setting up libtiff5:armhf (4.2.0-1) ... Setting up libwayland-egl1:armhf (1.18.0-2~exp1.1) ... Setting up libusb-1.0-0:armhf (2:1.0.24-2) ... Setting up libgphoto2-port12:armhf (2.5.26-2) ... Setting up nlohmann-json3-dev (3.9.1-1) ... Setting up libboost-date-time1.74.0:armhf (1.74.0-8) ... Setting up glib-networking-common (2.66.0-2) ... Setting up liblmdb++-dev:armhf (0.9.14.1+git20160228.0b43ca8-1) ... Setting up libbz2-1.0:armhf (1.0.8-4) ... Setting up libwebpmux3:armhf (0.6.1-2+b1) ... Setting up libbsd0:amd64 (0.11.3-1) ... Setting up libbsd0:armhf (0.11.3-1) ... Setting up binutils-arm-linux-gnueabihf (2.35.1-7) ... Setting up libdeflate-dev:armhf (1.7-1) ... Setting up libdrm-common (2.4.104-1) ... Setting up libelf1:amd64 (0.183-1) ... Setting up libelf1:armhf (0.183-1) ... Setting up liborc-0.4-dev:armhf (1:0.4.32-1) ... Setting up libjson-c5:armhf (0.15-2) ... Setting up libevdev2:amd64 (1.11.0+dfsg-1) ... Setting up libevdev2:armhf (1.11.0+dfsg-1) ... Setting up readline-common (8.1-1) ... Setting up libdb5.3:armhf (5.3.28+dfsg1-0.8) ... Setting up libxml2:amd64 (2.9.10+dfsg-6.3+b1) ... Setting up libblkid1:armhf (2.36.1-7) ... Setting up iso-codes (4.5.0-1) ... Setting up libstdc++6:armhf (10.2.1-6) ... Setting up liblocale-gettext-perl (1.07-4+b1) ... Setting up libgudev-1.0-0:amd64 (234-1) ... Setting up libzvbi-common (0.2.35-18) ... Setting up libprocps8:amd64 (2:3.3.17-3) ... Setting up qtchooser (66-2) ... Setting up libmp3lame0:armhf (3.100-3) ... Setting up libsz2:armhf (1.0.4-1) ... Setting up libvorbisenc2:armhf (1.3.7-1) ... Setting up gcc-10-arm-linux-gnueabihf-base:amd64 (10.2.1-6cross1) ... Setting up libtiffxx5:armhf (4.2.0-1) ... Setting up libtinfo6:armhf (6.2+20201114-2) ... Setting up libboost-thread1.74.0:armhf (1.74.0-8) ... Setting up gcc-9-base:armhf (9.3.0-22) ... Setting up libwacom-common (1.8-2) ... Setting up libxkbcommon0:amd64 (1.0.3-2) ... Setting up libxkbcommon0:armhf (1.0.3-2) ... Setting up libwayland-client0:amd64 (1.18.0-2~exp1.1) ... Setting up libwayland-client0:armhf (1.18.0-2~exp1.1) ... Setting up libgme0:armhf (0.6.3-2) ... Setting up libboost-chrono1.74.0:armhf (1.74.0-8) ... Setting up libgomp1-armhf-cross (10.2.1-6cross1) ... Setting up x11proto-dev (2020.1-1) ... Setting up libpcrecpp0v5:armhf (2:8.39-13) ... Setting up glib-networking-services (2.66.0-2) ... Setting up libzvbi0:armhf (0.2.35-18) ... Setting up libwayland-server0:armhf (1.18.0-2~exp1.1) ... Setting up libice6:amd64 (2:1.0.10-1) ... Setting up libice6:armhf (2:1.0.10-1) ... Setting up libdw1:amd64 (0.183-1) ... Setting up libdw1:armhf (0.183-1) ... Setting up librabbitmq4:armhf (0.10.0-1) ... Setting up libxdmcp6:amd64 (1:1.1.2-3) ... Setting up libxdmcp6:armhf (1:1.1.2-3) ... Setting up libdouble-conversion3:armhf (3.1.5-6.1) ... Setting up liblapack3:armhf (3.9.0-3) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode Setting up libproxy1v5:armhf (0.4.17-1) ... Setting up libpsl5:armhf (0.21.0-1.2) ... Setting up libvulkan-dev:armhf (1.2.162.0-1) ... Setting up libxcb1:amd64 (1.14-3) ... Setting up libxcb1:armhf (1.14-3) ... Setting up gettext (0.21-4) ... Setting up libstdc++-10-dev:amd64 (10.2.1-6) ... Setting up libhogweed6:armhf (3.7-2) ... Setting up libboost-atomic1.74.0:armhf (1.74.0-8) ... Setting up libxcb-xfixes0:amd64 (1.14-3) ... Setting up libxcb-xfixes0:armhf (1.14-3) ... Setting up g++-10 (10.2.1-6) ... Setting up libxau-dev:armhf (1:1.0.9-1) ... Setting up libunwind-dev:armhf (1.3.2-2) ... Setting up qt5-qmake:armhf (5.15.2+dfsg-4) ... Setting up libxcb-xinput0:amd64 (1.14-3) ... Setting up libxcb-xinput0:armhf (1.14-3) ... Setting up libwoff1:amd64 (1.0.2-1+b1) ... Setting up libicu67:armhf (67.1-6) ... Setting up libtool (2.4.6-15) ... Setting up libogdi4.1:armhf (4.1.0+ds-3) ... Setting up libcharls2:armhf (2.2.0+dfsg-2) ... Setting up libminizip1:armhf (1.1-8+b1) ... Setting up libarchive13:amd64 (3.4.3-2) ... Setting up libxcb-render0:amd64 (1.14-3) ... Setting up libxcb-render0:armhf (1.14-3) ... Setting up libsoxr0:armhf (0.1.3-4) ... Setting up libgcc-s1-armhf-cross (10.2.1-6cross1) ... Setting up libboost-iostreams1.74.0:armhf (1.74.0-8) ... Setting up libxcb-glx0:amd64 (1.14-3) ... Setting up libxcb-glx0:armhf (1.14-3) ... Setting up libedit2:amd64 (3.1-20191231-2+b1) ... Setting up libedit2:armhf (3.1-20191231-2+b1) ... Setting up libreadline8:amd64 (8.1-1) ... Setting up libc6-dev-armhf-cross (2.31-9cross2) ... Setting up libnorm1:armhf (1.5.9+dfsg-1) ... Setting up libtbb2:armhf (2020.3-1) ... Setting up libxcb-keysyms1:amd64 (0.4.0-1+b2) ... Setting up libxcb-keysyms1:armhf (0.4.0-1+b2) ... Setting up libarpack2:armhf (3.8.0-1) ... Setting up libxcb-shape0:amd64 (1.14-3) ... Setting up libxcb-shape0:armhf (1.14-3) ... Setting up libavahi-common3:amd64 (0.8-5) ... Setting up libavahi-common3:armhf (0.8-5) ... Setting up libsepol1-dev:armhf (3.1-1) ... Setting up libx265-192:armhf (3.4-2) ... Setting up libjbig-dev:armhf (2.1-3.1+b2) ... Setting up libsuperlu5:armhf (5.2.2+dfsg1-2) ... Setting up libglib2.0-bin (2.66.7-1) ... Setting up libldap-2.4-2:amd64 (2.4.57+dfsg-1) ... Setting up m4 (1.4.18-5) ... Setting up libxcb-render-util0:amd64 (0.3.9-1+b1) ... Setting up libxcb-render-util0:armhf (0.3.9-1+b1) ... Setting up libilmbase25:armhf (2.5.4-1) ... Setting up libprotobuf23:armhf (3.12.4-1) ... Setting up libnss3:armhf (2:3.61-1) ... Setting up libxcb-shm0:amd64 (1.14-3) ... Setting up libxcb-shm0:armhf (1.14-3) ... Setting up libxcb-icccm4:amd64 (0.4.1-1.1) ... Setting up libxcb-icccm4:armhf (0.4.1-1.1) ... Setting up libatomic1-armhf-cross (10.2.1-6cross1) ... Setting up liblept5:armhf (1.79.0-1) ... Setting up libxcb-util1:amd64 (0.4.0-1+b1) ... Setting up libxcb-util1:armhf (0.4.0-1+b1) ... Setting up libsnappy1v5:armhf (1.1.8-1) ... Setting up libxcb-xkb1:amd64 (1.14-3) ... Setting up libxcb-xkb1:armhf (1.14-3) ... Setting up libxcb-image0:amd64 (0.4.0-1+b3) ... Setting up libxcb-image0:armhf (0.4.0-1+b3) ... Setting up libsasl2-modules-db:armhf (2.1.27+dfsg-2.1) ... Setting up libopenexr25:armhf (2.5.4-1) ... Setting up libxcb-present0:amd64 (1.14-3) ... Setting up libxcb-present0:armhf (1.14-3) ... Setting up libselinux1:armhf (3.1-3) ... Setting up libthai0:armhf (0.1.28-3) ... Setting up libvorbisfile3:armhf (1.3.7-1) ... Setting up dbus-user-session (1.12.20-1) ... Setting up libasan5:armhf (9.3.0-22) ... Setting up libxdmcp-dev:armhf (1:1.1.2-3) ... Setting up libwayland-bin (1.18.0-2~exp1.1) ... Setting up perl (5.32.1-2) ... Setting up libz3-4:armhf (4.8.10-1) ... Setting up libxcb-xinerama0:amd64 (1.14-3) ... Setting up libxcb-xinerama0:armhf (1.14-3) ... Setting up libgnutls30:armhf (3.7.0-7) ... Setting up libstdc++6-armhf-cross (10.2.1-6cross1) ... Setting up libllvm11:amd64 (1:11.0.1-2) ... Setting up libllvm11:armhf (1:11.0.1-2) ... Setting up libfreetype6:amd64 (2.10.4+dfsg-1) ... Setting up libfreetype6:armhf (2.10.4+dfsg-1) ... Setting up libxcb-sync1:amd64 (1.14-3) ... Setting up libxcb-sync1:armhf (1.14-3) ... Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b2) ... Setting up libolm3:armhf (3.2.1~dfsg-7) ... Setting up libcmark-dev:armhf (0.29.0-4) ... Setting up libboost-regex1.74.0:armhf (1.74.0-8) ... Setting up libasan6-armhf-cross (10.2.1-6cross1) ... Setting up shared-mime-info (2.0-1) ... Setting up libxkbcommon-x11-0:amd64 (1.0.3-2) ... Setting up libxkbcommon-x11-0:armhf (1.0.3-2) ... Setting up libdc1394-25:armhf (2.2.6-3) ... Setting up libgssapi-krb5-2:armhf (1.18.3-4) ... Setting up libclang1-11 (1:11.0.1-2) ... Setting up libboost-random1.74.0:armhf (1.74.0-8) ... Setting up cpp-10-arm-linux-gnueabihf (10.2.1-6cross1) ... Setting up libsocket++1:armhf (1.12.13-11) ... Setting up libubsan1-armhf-cross (10.2.1-6cross1) ... Setting up libodbc1:armhf (2.3.6-0.1+b1) ... Setting up ucf (3.0043) ... Setting up libpcre2-posix2:armhf (10.36-2) ... Setting up libqt5core5a:amd64 (5.15.2+dfsg-4) ... Setting up libdpkg-perl (1.20.7.1) ... Setting up libsasl2-2:armhf (2.1.27+dfsg-2.1) ... Setting up autoconf (2.69-14) ... Setting up libjsoncpp24:armhf (1.9.4-4) ... Setting up libubsan1:armhf (10.2.1-6) ... Setting up libxcb-dri2-0:amd64 (1.14-3) ... Setting up libxcb-dri2-0:armhf (1.14-3) ... Setting up libboost-serialization1.74.0:armhf (1.74.0-8) ... Setting up x11proto-xext-dev (2020.1-1) ... Setting up libdrm2:amd64 (2.4.104-1) ... Setting up libdrm2:armhf (2.4.104-1) ... Setting up g++ (4:10.2.1-1) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode Setting up libhdf5-103-1:armhf (1.10.6+repack-2) ... Setting up dwz (0.13+20210201-1) ... Setting up libva-drm2:armhf (2.10.0-1) ... Setting up groff-base (1.22.4-6) ... Setting up libqt5dbus5:amd64 (5.15.2+dfsg-4) ... Setting up libmount1:armhf (2.36.1-7) ... Setting up libwayland-cursor0:armhf (1.18.0-2~exp1.1) ... Setting up libgeos-3.9.0:armhf (3.9.0-1) ... Setting up libxcb-randr0:amd64 (1.14-3) ... Setting up libxcb-randr0:armhf (1.14-3) ... Setting up libfyba0:armhf (4.1.1-7) ... Setting up procps (2:3.3.17-3) ... Setting up libkmlbase1:armhf (1.3.0-9) ... Setting up libxslt1.1:amd64 (1.1.34-4) ... Setting up libfmt7:armhf (7.1.3+ds1-5) ... Setting up libspdlog1:armhf (1:1.8.1+ds-2.1) ... Setting up libcurl4:amd64 (7.74.0-1.1) ... Setting up libsub-override-perl (0.09-2) ... Setting up libx11-6:amd64 (2:1.7.0-2) ... Setting up libx11-6:armhf (2:1.7.0-2) ... Setting up libharfbuzz0b:amd64 (2.7.4-1) ... Setting up libgdk-pixbuf-2.0-0:amd64 (2.42.2+dfsg-1) ... Setting up libsndfile1:armhf (1.0.31-1) ... Setting up libtbb-dev:armhf (2020.3-1) ... Setting up libqt5sensors5:amd64 (5.15.2-2) ... Setting up libgcc-10-dev-armhf-cross (10.2.1-6cross1) ... Setting up libde265-0:armhf (1.0.8-1) ... Setting up libqt5test5:amd64 (5.15.2+dfsg-4) ... Setting up libwacom2:amd64 (1.8-2) ... Setting up libxcomposite1:armhf (1:0.4.5-1) ... Setting up libsm6:amd64 (2:1.2.3-1) ... Setting up libsm6:armhf (2:1.2.3-1) ... Setting up libxml2:armhf (2.9.10+dfsg-6.3+b1) ... Setting up libopenmpt0:armhf (0.4.11-1) ... Setting up libavahi-client3:amd64 (0.8-5) ... Setting up libavahi-client3:armhf (0.8-5) ... Setting up cpp-arm-linux-gnueabihf (4:10.2.1-1) ... Setting up libgstreamer1.0-0:amd64 (1.18.3-1) ... Setcap worked! gst-ptp-helper is not suid! Setting up libilmbase-dev:armhf (2.5.4-1) ... Setting up libpython3.9-stdlib:amd64 (3.9.1-4) ... Setting up libpython3-stdlib:amd64 (3.9.1-1) ... Setting up libdrm-amdgpu1:amd64 (2.4.104-1) ... Setting up libdrm-amdgpu1:armhf (2.4.104-1) ... Setting up libhdf5-hl-100:armhf (1.10.6+repack-2) ... Setting up libkmldom1:armhf (1.3.0-9) ... Setting up libssh-gcrypt-4:armhf (0.9.5-1) ... Setting up automake (1:1.16.3-2) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libsrt1.4-gnutls:armhf (1.4.2-1.3) ... Setting up libtirpc3:armhf (1.3.1-1) ... Setting up libxcb-dri3-0:amd64 (1.14-3) ... Setting up libxcb-dri3-0:armhf (1.14-3) ... Setting up gtk-update-icon-cache (3.24.24-1) ... Setting up libx11-xcb1:amd64 (2:1.7.0-2) ... Setting up libx11-xcb1:armhf (2:1.7.0-2) ... Setting up libfile-which-perl (1.23-1) ... Setting up libarmadillo10:armhf (1:10.1.2+dfsg-3) ... Setting up libdrm-nouveau2:amd64 (2.4.104-1) ... Setting up libdrm-nouveau2:armhf (2.4.104-1) ... Setting up libxdamage1:amd64 (1:1.1.5-2) ... Setting up libxdamage1:armhf (1:1.1.5-2) ... Setting up libxcb1-dev:armhf (1.14-3) ... Setting up libzmq5:armhf (4.3.4-1) ... Setting up libkmlengine1:armhf (1.3.0-9) ... Setting up libxpm4:armhf (1:3.5.12-1) ... Setting up libxrender1:amd64 (1:0.9.10-1) ... Setting up libxrender1:armhf (1:0.9.10-1) ... Setting up libdc1394-dev:armhf (2.2.6-3) ... Setting up libgbm1:amd64 (20.3.4-1) ... Setting up libgbm1:armhf (20.3.4-1) ... Setting up libopencv-core4.5:armhf (4.5.1+dfsg-4) ... Setting up gcc-10-arm-linux-gnueabihf (10.2.1-6cross1) ... Setting up libarchive13:armhf (3.4.3-2) ... Setting up libstdc++-10-dev-armhf-cross (10.2.1-6cross1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libglib2.0-0:armhf (2.66.7-1) ... /var/lib/dpkg/info/libglib2.0-0:armhf.postinst: 62: /usr/lib/arm-linux-gnueabihf/glib-2.0/glib-compile-schemas: Exec format error /var/lib/dpkg/info/libglib2.0-0:armhf.postinst: 65: /usr/lib/arm-linux-gnueabihf/glib-2.0/gio-querymodules: Exec format error Setting up libdrm-radeon1:amd64 (2.4.104-1) ... Setting up libdrm-radeon1:armhf (2.4.104-1) ... Setting up fontconfig-config (2.13.1-4.2) ... Setting up qdoc-qt5 (5.15.2-3) ... Setting up libdebhelper-perl (13.3.3) ... Setting up libqt5positioning5:amd64 (5.15.2+dfsg-2) ... Setting up libdrm-intel1:amd64 (2.4.104-1) ... Setting up libgl1-mesa-dri:amd64 (20.3.4-1) ... Setting up libgl1-mesa-dri:armhf (20.3.4-1) ... Setting up libheif1:armhf (1.11.0-1) ... Setting up libopencv-imgproc4.5:armhf (4.5.1+dfsg-4) ... Setting up libx11-dev:armhf (2:1.7.0-2) ... Setting up libxext6:amd64 (2:1.3.3-1.1) ... Setting up libxext6:armhf (2:1.3.3-1.1) ... Setting up libxml-namespacesupport-perl (1.12-1.1) ... Setting up libldap-2.4-2:armhf (2.4.57+dfsg-1) ... Setting up libgstreamer-plugins-base1.0-0:amd64 (1.18.3-1) ... Setting up libcurl3-gnutls:armhf (7.74.0-1.1) ... Setting up dconf-service (0.38.0-2) ... Setting up libatspi2.0-0:armhf (2.38.0-2) ... Setting up libolm-dev:armhf (3.2.1~dfsg-7) ... Setting up man-db (2.9.4-1) ... Not building database; man-db/auto-update is not 'true'. Created symlink /etc/systemd/system/timers.target.wants/man-db.timer → /lib/systemd/system/man-db.timer. Setting up libyaml-perl (1.30-1) ... Setting up libwayland-dev:armhf (1.18.0-2~exp1.1) ... Setting up libcolord2:armhf (1.4.5-3) ... Setting up libqt5network5:amd64 (5.15.2+dfsg-4) ... Setting up dpkg-dev (1.20.7.1) ... Setting up libjson-glib-1.0-0:armhf (1.6.0-3) ... Setting up libxxf86vm1:amd64 (1:1.1.4-1+b2) ... Setting up libxxf86vm1:armhf (1:1.1.4-1+b2) ... Setting up libinput-bin (1.16.4-3) ... Setting up libdap27:armhf (3.20.7-6) ... Setting up g++-10-arm-linux-gnueabihf (10.2.1-6cross1) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up libcfitsio9:armhf (3.490-3) ... Setting up libqt5sql5:amd64 (5.15.2+dfsg-4) ... Setting up libgcc-9-dev:armhf (9.3.0-22) ... Setting up dh-autoreconf (20) ... Setting up qtbase5-dev-tools (5.15.2+dfsg-4) ... Setting up libxml-sax-base-perl (1.09-1.1) ... Setting up libio-string-perl (1.08-3.1) ... Setting up libqt5xml5:amd64 (5.15.2+dfsg-4) ... Setting up libegl-mesa0:amd64 (20.3.4-1) ... Setting up libegl-mesa0:armhf (20.3.4-1) ... Setting up libopenexr-dev:armhf (2.5.4-1) ... Setting up libtirpc-dev:armhf (1.3.1-1) ... Setting up adwaita-icon-theme (3.38.0-1) ... update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode Setting up libxfixes3:amd64 (1:5.0.3-2) ... Setting up libxfixes3:armhf (1:5.0.3-2) ... Setting up libqt5qml5:amd64 (5.15.2+dfsg-4) ... Setting up libopencv-flann4.5:armhf (4.5.1+dfsg-4) ... Setting up libgdcm3.0:armhf (3.0.8-1) ... Setting up libxinerama1:armhf (2:1.1.4-2) ... Setting up qtattributionsscanner-qt5 (5.15.2-3) ... Setting up libxrandr2:armhf (2:1.5.1-1) ... Setting up libfmt-dev:armhf (7.1.3+ds1-5) ... Setting up libgeos-c1v5:armhf (3.9.0-1) ... Setting up pkg-config (0.29.2-1) ... Setting up libopencv-dnn4.5:armhf (4.5.1+dfsg-4) ... Setting up libqt5webchannel5:amd64 (5.15.2-2) ... Setting up libqt5core5a:armhf (5.15.2+dfsg-4) ... Setting up libtesseract4:armhf (4.1.1-2.1) ... Setting up libxext-dev:armhf (2:1.3.3-1.1) ... Setting up libcups2:amd64 (2.3.3op2-3) ... Setting up libcups2:armhf (2.3.3op2-3) ... Setting up librttopo1:armhf (1.1.0-2) ... Setting up libopencv-ml4.5:armhf (4.5.1+dfsg-4) ... Setting up libvdpau1:armhf (1.4-3) ... Setting up libqt5dbus5:armhf (5.15.2+dfsg-4) ... Setting up libnetcdf18:armhf (1:4.7.4-1) ... Setting up libnsl2:armhf (1.3.0-2) ... Setting up libopencv-photo4.5:armhf (4.5.1+dfsg-4) ... Setting up libdapclient6v5:armhf (3.20.7-6) ... Setting up libegl1:amd64 (1.3.2-1) ... Setting up libegl1:armhf (1.3.2-1) ... Setting up cmake (3.18.4-2) ... Setting up build-essential (12.9) ... Setting up libcurl4:armhf (7.74.0-1.1) ... Setting up libharfbuzz0b:armhf (2.7.4-1) ... Setting up libgirepository-1.0-1:armhf (1.66.1-1+b1) ... Setting up libgdk-pixbuf-2.0-0:armhf (2.42.2+dfsg-1) ... /var/lib/dpkg/info/libgdk-pixbuf-2.0-0:armhf.postinst: 30: /usr/lib/arm-linux-gnueabihf/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: Exec format error Setting up libatk1.0-0:armhf (2.36.0-2) ... Setting up libxss1:armhf (1:1.2.3-1) ... Setting up libfontconfig1:amd64 (2.13.1-4.2) ... Setting up libfontconfig1:armhf (2.13.1-4.2) ... Setting up libbluray2:armhf (1:1.2.1-4) ... Setting up libfile-homedir-perl (1.006-1) ... Setting up libqt5test5:armhf (5.15.2+dfsg-4) ... Setting up libva-x11-2:armhf (2.10.0-1) ... Setting up libproj19:armhf (7.2.1-1) ... Setting up libqt5concurrent5:armhf (5.15.2+dfsg-4) ... Setting up libgudev-1.0-0:armhf (234-1) ... Setting up libgstreamer1.0-0:armhf (1.18.3-1) ... Setcap worked! gst-ptp-helper is not suid! Setting up python3.9 (3.9.1-4) ... Setting up gcc-arm-linux-gnueabihf (4:10.2.1-1) ... Setting up libspatialite7:armhf (5.0.1-2) ... Setting up libfile-stripnondeterminism-perl (1.11.0-1) ... Setting up g++-arm-linux-gnueabihf (4:10.2.1-1) ... Setting up libinput10:amd64 (1.16.4-3) ... Setting up libx11-xcb-dev:armhf (2:1.7.0-2) ... Setting up fontconfig (2.13.1-4.2) ... Regenerating fonts cache... done. Setting up libgdcm-dev:armhf (3.0.8-1) ... Setting up libxft2:armhf (2.3.2-2) ... Setting up libqt5qmlmodels5:amd64 (5.15.2+dfsg-4) ... Setting up libglx-mesa0:amd64 (20.3.4-1) ... Setting up libglx-mesa0:armhf (20.3.4-1) ... Setting up libxerces-c3.2:armhf (3.2.3+debian-3) ... Setting up libqt5sql5-sqlite:amd64 (5.15.2+dfsg-4) ... Setting up libxi6:armhf (2:1.7.10-1) ... Setting up libglx0:amd64 (1.3.2-1) ... Setting up libglx0:armhf (1.3.2-1) ... Setting up libqt5keychain1:armhf (0.10.0-1) ... Setting up dconf-gsettings-backend:amd64 (0.38.0-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libtk8.6:armhf (8.6.11-2) ... Setting up libxcursor1:armhf (1:1.2.0-2) ... Setting up libpango-1.0-0:armhf (1.46.2-3) ... Setting up libpq5:armhf (13.2-1) ... Setting up libgstreamer-plugins-base1.0-0:armhf (1.18.3-1) ... Setting up python3 (3.9.1-1) ... Setting up libspdlog-dev:armhf (1:1.8.1+ds-2.1) ... Setting up libxml-sax-perl (1.02+dfsg-1) ... 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 libcairo2:armhf (1.16.0-5) ... Setting up libqt5network5:armhf (5.15.2+dfsg-4) ... Setting up libavutil56:armhf (7:4.3.1-8) ... Setting up libgeotiff5:armhf (1.6.0-1) ... Setting up libqt5sql5:armhf (5.15.2+dfsg-4) ... Setting up libatk-bridge2.0-0:armhf (2.38.0-1) ... Setting up libgstreamer-plugins-bad1.0-0:armhf (1.18.3-1+b1) ... Setting up libqt5xml5:armhf (5.15.2+dfsg-4) ... Setting up libgl1:amd64 (1.3.2-1) ... Setting up libgl1:armhf (1.3.2-1) ... Setting up libgstreamer-opencv1.0-0:armhf (1.18.3-1+b1) ... Setting up libwrap0:armhf (7.6.q-31) ... Setting up libqt5qml5:armhf (5.15.2+dfsg-4) ... Setting up libgd3:armhf (2.3.0-2) ... Setting up gir1.2-glib-2.0:armhf (1.66.1-1+b1) ... Setting up libxml-libxml-perl (2.0134+dfsg-2+b1) ... 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 dh-strip-nondeterminism (1.11.0-1) ... Setting up libglew2.1:armhf (2.1.0-4+b1) ... Setting up libnsl-dev:armhf (1.3.0-2) ... Setting up libpoppler102:armhf (20.09.0-3.1) ... Setting up libtheora0:armhf (1.1.1+dfsg.1-15) ... Setting up libc6-dev:armhf (2.31-9) ... Setting up libglx-dev:armhf (1.3.2-1) ... Setting up libswscale5:armhf (7:4.3.1-8) ... Setting up libcairo-gobject2:armhf (1.16.0-5) ... Setting up libpangoft2-1.0-0:armhf (1.46.2-3) ... Setting up python3-lib2to3 (3.9.1-2) ... Setting up libwacom2:armhf (1.8-2) ... Setting up libicu-dev:armhf (67.1-6) ... Setting up libgl-dev:armhf (1.3.2-1) ... Setting up qt5keychain-dev:armhf (0.10.0-1) ... Setting up libgtk-3-common (3.24.24-1) ... Setting up libpangocairo-1.0-0:armhf (1.46.2-3) ... Setting up python3-distutils (3.9.1-2) ... Setting up libavutil-dev:armhf (7:4.3.1-8) ... Setting up gsettings-desktop-schemas (3.38.0-2) ... Setting up libglib2.0-dev-bin (2.66.7-1) ... Setting up libinput10:armhf (1.16.4-3) ... Setting up gir1.2-gstreamer-1.0:armhf (1.18.3-1) ... Setting up libexif-dev:armhf (0.6.22-3) ... Setting up libqt5qmlmodels5:armhf (5.15.2+dfsg-4) ... Setting up libstdc++-9-dev:armhf (9.3.0-22) ... Setting up libpcre2-dev:armhf (10.36-2) ... Setting up libegl-dev:armhf (1.3.2-1) ... Setting up libpulse0:armhf (14.2-1) ... Setting up libselinux1-dev:armhf (3.1-3) ... Setting up libpcre3-dev:armhf (2:8.39-13) ... Setting up libqt5gui5:amd64 (5.15.2+dfsg-4) ... Setting up libqt5gui5:armhf (5.15.2+dfsg-4) ... Setting up debhelper (13.3.3) ... Setting up libqt5widgets5:amd64 (5.15.2+dfsg-4) ... Setting up libqt5widgets5:armhf (5.15.2+dfsg-4) ... Setting up dh-exec (0.23.2) ... Setting up libswresample3:armhf (7:4.3.1-8) ... Setting up libqt5help5:amd64 (5.15.2-3) ... Setting up libqt5help5:armhf (5.15.2-3) ... Setting up libgl2ps1.4:armhf (1.4.2+dfsg1-1) ... Setting up libqt5multimedia5:armhf (5.15.2-2) ... Setting up librsvg2-2:armhf (2.50.3+dfsg-1) ... Setting up libqt5printsupport5:amd64 (5.15.2+dfsg-4) ... Setting up libqt5printsupport5:armhf (5.15.2+dfsg-4) ... Setting up libgphoto2-6:armhf (2.5.26-2) ... Setting up libgstreamer-gl1.0-0:armhf (1.18.3-1) ... Setting up libjpeg62-turbo-dev:armhf (1:2.0.5-2) ... Setting up uuid-dev:armhf (2.36.1-7) ... Setting up libswscale-dev:armhf (7:4.3.1-8) ... Setting up libxml-simple-perl (2.25-1) ... Setting up libqt5multimediawidgets5:armhf (5.15.2-2) ... Setting up zlib1g-dev:armhf (1:1.2.11.dfsg-2) ... Setting up libopencv-core-dev:armhf (4.5.1+dfsg-4) ... Setting up libqt5multimediagsttools5:armhf (5.15.2-2) ... Setting up libavcodec58:armhf (7:4.3.1-8) ... Setting up glib-networking:armhf (2.66.0-2) ... Setting up libgles-dev:armhf (1.3.2-1) ... Setting up libqt5quick5:amd64 (5.15.2+dfsg-4) ... Setting up libqt5quick5:armhf (5.15.2+dfsg-4) ... Setting up libvtk9:armhf (9.0.1+dfsg1-8) ... Setting up libchromaprint1:armhf (1.5.0-2) ... Setting up libqt5quickshapes5:armhf (5.15.2+dfsg-4) ... Setting up libblkid-dev:armhf (2.36.1-7) ... Setting up libopencv-flann-dev:armhf (4.5.1+dfsg-4) ... Setting up libqt5quicktest5:amd64 (5.15.2+dfsg-4) ... Setting up libqt5quicktest5:armhf (5.15.2+dfsg-4) ... Setting up libboost1.74-dev:armhf (1.74.0-8) ... Setting up libopencv-ml-dev:armhf (4.5.1+dfsg-4) ... Setting up libsoup2.4-1:armhf (2.72.0-2) ... Setting up libqt5designer5:amd64 (5.15.2-3) ... Setting up libqt5designer5:armhf (5.15.2-3) ... Setting up libgphoto2-dev:armhf (2.5.26-2) ... Setting up libswresample-dev:armhf (7:4.3.1-8) ... Setting up libavformat58:armhf (7:4.3.1-8) ... Setting up qtdeclarative5-dev-tools (5.15.2+dfsg-4) ... Setting up libavcodec-dev:armhf (7:4.3.1-8) ... Setting up gir1.2-gst-plugins-base-1.0:armhf (1.18.3-1) ... Setting up libboost-chrono1.74-dev:armhf (1.74.0-8) ... Setting up libpng-dev:armhf (1.6.37-3) ... Setting up libqt5svg5:armhf (5.15.2-2) ... Setting up libjpeg-dev:armhf (1:2.0.5-2) ... Setting up qhelpgenerator-qt5 (5.15.2-3) ... Setting up libavformat-dev:armhf (7:4.3.1-8) ... Setting up libconfig-auto-perl (0.44-1.1) ... Setting up libqt5webkit5:amd64 (5.212.0~alpha4-11) ... Setting up libqt5designercomponents5:amd64 (5.15.2-3) ... Setting up libqt5designercomponents5:armhf (5.15.2-3) ... Setting up qt5-qmltooling-plugins:armhf (5.15.2+dfsg-4) ... Setting up libqt5quickwidgets5:amd64 (5.15.2+dfsg-4) ... Setting up libqt5quickwidgets5:armhf (5.15.2+dfsg-4) ... Setting up libqt5svg5-dev:armhf (5.15.2-2) ... Setting up libtiff-dev:armhf (4.2.0-1) ... Setting up libopencv-imgproc-dev:armhf (4.5.1+dfsg-4) ... Setting up libboost-system1.74-dev:armhf (1.74.0-8) ... Setting up libopencv-dnn-dev:armhf (4.5.1+dfsg-4) ... Setting up gir1.2-gst-plugins-bad-1.0:armhf (1.18.3-1+b1) ... Setting up libboost-random1.74-dev:armhf (1.74.0-8) ... Setting up libelf-dev:armhf (0.183-1) ... Setting up libboost-serialization1.74-dev:armhf (1.74.0-8) ... Setting up libboost-atomic1.74-dev:armhf (1.74.0-8) ... Setting up qtbase5-dev:armhf (5.15.2+dfsg-4) ... Setting up libboost-atomic-dev:armhf (1.74.0.3) ... Setting up qt5-assistant (5.15.2-3) ... Setting up libboost-regex1.74-dev:armhf (1.74.0-8) ... Setting up libopencv-viz4.5:armhf (4.5.1+dfsg-4) ... Setting up qttools5-dev-tools (5.15.2-3) ... Setting up libqt5multimediaquick5:armhf (5.15.2-2) ... Setting up libqt5quicktemplates2-5:armhf (5.15.2+dfsg-2) ... Setting up libboost-dev:armhf (1.74.0.3) ... Setting up libqt5quickparticles5:armhf (5.15.2+dfsg-4) ... Setting up libsoup-gnome2.4-1:armhf (2.72.0-2) ... Setting up libboost-regex-dev:armhf (1.74.0.3) ... Setting up libmount-dev:armhf (2.36.1-7) ... Setting up libdebian-dpkgcross-perl (2.6.15-3.1) ... Setting up librest-0.7-0:armhf (0.8.1-1.1) ... Setting up libboost-chrono-dev:armhf (1.74.0.3) ... Setting up libgtk-3-0:armhf (3.24.24-1) ... /var/lib/dpkg/info/libgtk-3-0:armhf.postinst: 18: /usr/lib/arm-linux-gnueabihf/libgtk-3-0/gtk-query-immodules-3.0: Exec format error Setting up libopencv-photo-dev:armhf (4.5.1+dfsg-4) ... Setting up libboost-system-dev:armhf (1.74.0.3) ... Setting up libqt5quickcontrols2-5:armhf (5.15.2+dfsg-2) ... Setting up libboost-random-dev:armhf (1.74.0.3) ... Setting up libdw-dev:armhf (0.183-1) ... Setting up libboost-iostreams1.74-dev:armhf (1.74.0-8) ... Setting up libboost-date-time1.74-dev:armhf (1.74.0-8) ... Setting up qtquickcontrols2-5-dev:armhf (5.15.2+dfsg-2) ... Setting up libglib2.0-dev:armhf (2.66.7-1) ... Setting up qttools5-dev:armhf (5.15.2-3) ... Setting up libopencv-viz-dev:armhf (4.5.1+dfsg-4) ... Setting up libboost-date-time-dev:armhf (1.74.0.3) ... Setting up qtdeclarative5-dev:armhf (5.15.2+dfsg-4) ... Setting up libboost-thread1.74-dev:armhf (1.74.0-8) ... Setting up dpkg-cross (2.6.15-3.1) ... Setting up libboost-thread-dev:armhf (1.74.0.3) ... Setting up qtmultimedia5-dev:armhf (5.15.2-2) ... Setting up libgstreamer1.0-dev:armhf (1.18.3-1) ... Setting up libboost-iostreams-dev:armhf (1.74.0.3) ... Setting up libgstreamer-plugins-base1.0-dev:armhf (1.18.3-1) ... Setting up crossbuild-essential-armhf (12.9) ... Setting up odbcinst1debian2:amd64 (2.3.6-0.1+b1) ... Setting up odbcinst (2.3.6-0.1+b1) ... Setting up odbcinst1debian2:armhf (2.3.6-0.1+b1) ... Setting up libgdal28:armhf (3.2.1+dfsg-1+b1) ... Setting up libopencv-imgcodecs4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-imgcodecs-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-videoio4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-videoio-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-highgui4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-highgui-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-features2d4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-features2d-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-calib3d4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-video4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-video-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-objdetect4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-calib3d-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-objdetect-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-superres4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-videostab4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-shape4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-superres-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-stitching4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-videostab-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-stitching-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-shape-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-contrib4.5:armhf (4.5.1+dfsg-4) ... Setting up libopencv-contrib-dev:armhf (4.5.1+dfsg-4) ... Setting up libopencv-dev:armhf (4.5.1+dfsg-4) ... Setting up libgstreamer-plugins-bad1.0-dev:armhf (1.18.3-1+b1) ... Setting up sbuild-build-depends-main-dummy:armhf (0.invalid.0) ... Processing triggers for libc-bin (2.31-9) ... +------------------------------------------------------------------------------+ | Check architectures | +------------------------------------------------------------------------------+ Arch check ok (armhf included in any) +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) amd64 (x86_64) Toolchain package versions: binutils_2.35.1-7 dpkg-dev_1.20.7.1 g++-10_10.2.1-6 gcc-10_10.2.1-6 libc6-dev_2.31-9 libstdc++-10-dev_10.2.1-6 libstdc++-10-dev-armhf-cross_10.2.1-6cross1 libstdc++-9-dev_9.3.0-22 libstdc++6_10.2.1-6 libstdc++6-armhf-cross_10.2.1-6cross1 linux-libc-dev_5.10.13-1 Package versions: adduser_3.118 adwaita-icon-theme_3.38.0-1 apt_2.1.20 autoconf_2.69-14 automake_1:1.16.3-2 autopoint_0.21-4 autotools-dev_20180224.1+nmu1 base-files_11 base-passwd_3.5.49 bash_5.1-2 binutils_2.35.1-7 binutils-arm-linux-gnueabihf_2.35.1-7 binutils-common_2.35.1-7 binutils-x86-64-linux-gnu_2.35.1-7 bsdextrautils_2.36.1-7 bsdutils_1:2.36.1-7 build-essential_12.9 bzip2_1.0.8-4 cmake_3.18.4-2 cmake-data_3.18.4-2 coreutils_8.32-4+b1 cpp_4:10.2.1-1 cpp-10_10.2.1-6 cpp-10-arm-linux-gnueabihf_10.2.1-6cross1 cpp-8_8.4.0-7 cpp-arm-linux-gnueabihf_4:10.2.1-1 cross-config_2.6.15-3.1 crossbuild-essential-armhf_12.9 dash_0.5.11+git20200708+dd9ef66-5 dbus_1.12.20-1 dbus-user-session_1.12.20-1 dconf-gsettings-backend_0.38.0-2 dconf-service_0.38.0-2 debconf_1.5.74 debhelper_13.3.3 debian-archive-keyring_2019.1 debianutils_4.11.2 dh-autoreconf_20 dh-exec_0.23.2 dh-strip-nondeterminism_1.11.0-1 diffutils_1:3.7-5 dmsetup_2:1.02.175-2 dpkg_1.20.7.1 dpkg-cross_2.6.15-3.1 dpkg-dev_1.20.7.1 dwz_0.13+20210201-1 e2fsprogs_1.46.1-1 fakeroot_1.25.3-1.1 fdisk_2.36.1-7 file_1:5.39-3 findutils_4.8.0-1 fontconfig_2.13.1-4.2 fontconfig-config_2.13.1-4.2 fonts-dejavu-core_2.37-2 g++_4:10.2.1-1 g++-10_10.2.1-6 g++-10-arm-linux-gnueabihf_10.2.1-6cross1 g++-arm-linux-gnueabihf_4:10.2.1-1 gcc_4:10.2.1-1 gcc-10_10.2.1-6 gcc-10-arm-linux-gnueabihf_10.2.1-6cross1 gcc-10-arm-linux-gnueabihf-base_10.2.1-6cross1 gcc-10-base_10.2.1-6 gcc-10-cross-base_10.2.1-6cross1 gcc-8-base_8.4.0-7 gcc-9-base_9.3.0-22 gcc-arm-linux-gnueabihf_4:10.2.1-1 gdal-data_3.2.1+dfsg-1 gettext_0.21-4 gettext-base_0.21-4 gir1.2-glib-2.0_1.66.1-1+b1 gir1.2-gst-plugins-bad-1.0_1.18.3-1+b1 gir1.2-gst-plugins-base-1.0_1.18.3-1 gir1.2-gstreamer-1.0_1.18.3-1 glib-networking_2.66.0-2 glib-networking-common_2.66.0-2 glib-networking-services_2.66.0-2 gpgv_2.2.27-1 grep_3.6-1 groff-base_1.22.4-6 gsettings-desktop-schemas_3.38.0-2 gtk-update-icon-cache_3.24.24-1 gzip_1.10-2 hicolor-icon-theme_0.17-2 hostname_3.23 icu-devtools_67.1-6 init-system-helpers_1.60 intltool-debian_0.35.0+20060710.5 iso-codes_4.5.0-1 libacl1_2.2.53-10 libaec0_1.0.4-1 libaom0_1.0.0.errata1-3 libapparmor1_2.13.6-9 libapt-pkg5.0_1.8.4 libapt-pkg6.0_2.1.20 libarchive-zip-perl_1.68-1 libarchive13_3.4.3-2 libargon2-1_0~20171227-0.2 libarmadillo10_1:10.1.2+dfsg-3 libarpack2_3.8.0-1 libasan5_9.3.0-22 libasan6_10.2.1-6 libasan6-armhf-cross_10.2.1-6cross1 libasound2_1.2.4-1.1 libasound2-data_1.2.4-1.1 libasyncns0_0.8-6+b2 libatk-bridge2.0-0_2.38.0-1 libatk1.0-0_2.36.0-2 libatk1.0-data_2.36.0-2 libatomic1_10.2.1-6 libatomic1-armhf-cross_10.2.1-6cross1 libatspi2.0-0_2.38.0-2 libattr1_1:2.4.48-6 libaudit-common_1:3.0-2 libaudit1_1:3.0-2 libavahi-client3_0.8-5 libavahi-common-data_0.8-5 libavahi-common3_0.8-5 libavcodec-dev_7:4.3.1-8 libavcodec58_7:4.3.1-8 libavformat-dev_7:4.3.1-8 libavformat58_7:4.3.1-8 libavutil-dev_7:4.3.1-8 libavutil56_7:4.3.1-8 libbinutils_2.35.1-7 libblas3_3.9.0-3 libblkid-dev_2.36.1-7 libblkid1_2.36.1-7 libbluray2_1:1.2.1-4 libboost-atomic-dev_1.74.0.3 libboost-atomic1.74-dev_1.74.0-8 libboost-atomic1.74.0_1.74.0-8 libboost-chrono-dev_1.74.0.3 libboost-chrono1.74-dev_1.74.0-8 libboost-chrono1.74.0_1.74.0-8 libboost-date-time-dev_1.74.0.3 libboost-date-time1.74-dev_1.74.0-8 libboost-date-time1.74.0_1.74.0-8 libboost-dev_1.74.0.3 libboost-iostreams-dev_1.74.0.3 libboost-iostreams1.74-dev_1.74.0-8 libboost-iostreams1.74.0_1.74.0-8 libboost-random-dev_1.74.0.3 libboost-random1.74-dev_1.74.0-8 libboost-random1.74.0_1.74.0-8 libboost-regex-dev_1.74.0.3 libboost-regex1.74-dev_1.74.0-8 libboost-regex1.74.0_1.74.0-8 libboost-serialization1.74-dev_1.74.0-8 libboost-serialization1.74.0_1.74.0-8 libboost-system-dev_1.74.0.3 libboost-system1.74-dev_1.74.0-8 libboost-system1.74.0_1.74.0-8 libboost-thread-dev_1.74.0.3 libboost-thread1.74-dev_1.74.0-8 libboost-thread1.74.0_1.74.0-8 libboost1.74-dev_1.74.0-8 libbrotli1_1.0.9-2+b2 libbsd0_0.11.3-1 libbz2-1.0_1.0.8-4 libc-bin_2.31-9 libc-dev-bin_2.31-9 libc6_2.31-9 libc6-armhf-cross_2.31-9cross2 libc6-dev_2.31-9 libc6-dev-armhf-cross_2.31-9cross2 libcairo-gobject2_1.16.0-5 libcairo2_1.16.0-5 libcap-ng0_0.7.9-2.2+b1 libcap2_1:2.44-1 libcap2-bin_1:2.44-1 libcc1-0_10.2.1-6 libcfitsio9_3.490-3 libcharls2_2.2.0+dfsg-2 libchromaprint1_1.5.0-2 libclang1-11_1:11.0.1-2 libcmark-dev_0.29.0-4 libcmark0.29.0_0.29.0-4 libcodec2-0.9_0.9.2-4 libcolord2_1.4.5-3 libcom-err2_1.46.1-1 libconfig-auto-perl_0.44-1.1 libconfig-inifiles-perl_3.000003-1 libcrypt-dev_1:4.4.17-1 libcrypt1_1:4.4.17-1 libcryptsetup12_2:2.3.4-2 libctf-nobfd0_2.35.1-7 libctf0_2.35.1-7 libcups2_2.3.3op2-3 libcurl3-gnutls_7.74.0-1.1 libcurl4_7.74.0-1.1 libdap27_3.20.7-6 libdapclient6v5_3.20.7-6 libdatrie1_0.2.13-1 libdav1d4_0.7.1-3 libdb5.3_5.3.28+dfsg1-0.8 libdbus-1-3_1.12.20-1 libdc1394-25_2.2.6-3 libdc1394-dev_2.2.6-3 libdconf1_0.38.0-2 libde265-0_1.0.8-1 libdebconfclient0_0.256 libdebhelper-perl_13.3.3 libdebian-dpkgcross-perl_2.6.15-3.1 libdeflate-dev_1.7-1 libdeflate0_1.7-1 libdevmapper1.02.1_2:1.02.175-2 libdouble-conversion3_3.1.5-6.1 libdpkg-perl_1.20.7.1 libdrm-amdgpu1_2.4.104-1 libdrm-common_2.4.104-1 libdrm-intel1_2.4.104-1 libdrm-nouveau2_2.4.104-1 libdrm-radeon1_2.4.104-1 libdrm2_2.4.104-1 libdw-dev_0.183-1 libdw1_0.183-1 libedit2_3.1-20191231-2+b1 libegl-dev_1.3.2-1 libegl-mesa0_20.3.4-1 libegl1_1.3.2-1 libelf-dev_0.183-1 libelf1_0.183-1 libepoxy0_1.5.5-1 libepsilon1_0.9.2+dfsg-5 libevdev2_1.11.0+dfsg-1 libexif-dev_0.6.22-3 libexif12_0.6.22-3 libexpat1_2.2.10-1 libext2fs2_1.46.1-1 libfakeroot_1.25.3-1.1 libfdisk1_2.36.1-7 libffi-dev_3.3-5 libffi6_3.2.1-9 libffi7_3.3-5 libfile-homedir-perl_1.006-1 libfile-stripnondeterminism-perl_1.11.0-1 libfile-which-perl_1.23-1 libflac8_1.3.3-2 libfmt-dev_7.1.3+ds1-5 libfmt7_7.1.3+ds1-5 libfontconfig1_2.13.1-4.2 libfreetype6_2.10.4+dfsg-1 libfreexl1_1.0.6-1 libfribidi0_1.0.8-2 libfyba0_4.1.1-7 libgbm1_20.3.4-1 libgcc-10-dev_10.2.1-6 libgcc-10-dev-armhf-cross_10.2.1-6cross1 libgcc-9-dev_9.3.0-22 libgcc-s1_10.2.1-6 libgcc-s1-armhf-cross_10.2.1-6cross1 libgcrypt20_1.8.7-2 libgd3_2.3.0-2 libgdal28_3.2.1+dfsg-1+b1 libgdbm-compat4_1.19-2 libgdbm6_1.19-2 libgdcm-dev_3.0.8-1 libgdcm3.0_3.0.8-1 libgdk-pixbuf-2.0-0_2.42.2+dfsg-1 libgdk-pixbuf2.0-common_2.42.2+dfsg-1 libgeos-3.9.0_3.9.0-1 libgeos-c1v5_3.9.0-1 libgeotiff5_1.6.0-1 libgfortran5_10.2.1-6 libgif7_5.1.9-2 libgirepository-1.0-1_1.66.1-1+b1 libgl-dev_1.3.2-1 libgl1_1.3.2-1 libgl1-mesa-dri_20.3.4-1 libgl2ps1.4_1.4.2+dfsg1-1 libglapi-mesa_20.3.4-1 libgles-dev_1.3.2-1 libgles1_1.3.2-1 libgles2_1.3.2-1 libglew2.1_2.1.0-4+b1 libglib2.0-0_2.66.7-1 libglib2.0-bin_2.66.7-1 libglib2.0-data_2.66.7-1 libglib2.0-dev_2.66.7-1 libglib2.0-dev-bin_2.66.7-1 libglvnd0_1.3.2-1 libglx-dev_1.3.2-1 libglx-mesa0_20.3.4-1 libglx0_1.3.2-1 libgme0_0.6.3-2 libgmp10_2:6.2.1+dfsg-1 libgnutls30_3.7.0-7 libgomp1_10.2.1-6 libgomp1-armhf-cross_10.2.1-6cross1 libgpg-error0_1.38-2 libgphoto2-6_2.5.26-2 libgphoto2-dev_2.5.26-2 libgphoto2-port12_2.5.26-2 libgraphite2-3_1.3.14-1 libgsm1_1.0.18-2 libgssapi-krb5-2_1.18.3-4 libgstreamer-gl1.0-0_1.18.3-1 libgstreamer-opencv1.0-0_1.18.3-1+b1 libgstreamer-plugins-bad1.0-0_1.18.3-1+b1 libgstreamer-plugins-bad1.0-dev_1.18.3-1+b1 libgstreamer-plugins-base1.0-0_1.18.3-1 libgstreamer-plugins-base1.0-dev_1.18.3-1 libgstreamer1.0-0_1.18.3-1 libgstreamer1.0-dev_1.18.3-1 libgtk-3-0_3.24.24-1 libgtk-3-common_3.24.24-1 libgudev-1.0-0_234-1 libharfbuzz0b_2.7.4-1 libhdf4-0-alt_4.2.15-3 libhdf5-103-1_1.10.6+repack-2 libhdf5-hl-100_1.10.6+repack-2 libheif1_1.11.0-1 libhogweed4_3.5.1+really3.4.1-1 libhogweed6_3.7-2 libhyphen0_2.8.8-7 libice6_2:1.0.10-1 libicu-dev_67.1-6 libicu67_67.1-6 libidn2-0_2.3.0-5 libilmbase-dev_2.5.4-1 libilmbase25_2.5.4-1 libinput-bin_1.16.4-3 libinput10_1.16.4-3 libio-string-perl_1.08-3.1 libip4tc2_1.8.7-1 libisl19_0.20-2 libisl23_0.23-1 libitm1_10.2.1-6 libjbig-dev_2.1-3.1+b2 libjbig0_2.1-3.1+b2 libjpeg-dev_1:2.0.5-2 libjpeg62-turbo_1:2.0.5-2 libjpeg62-turbo-dev_1:2.0.5-2 libjson-c5_0.15-2 libjson-glib-1.0-0_1.6.0-3 libjson-glib-1.0-common_1.6.0-3 libjsoncpp24_1.9.4-4 libk5crypto3_1.18.3-4 libkeyutils1_1.6.1-2 libkmlbase1_1.3.0-9 libkmldom1_1.3.0-9 libkmlengine1_1.3.0-9 libkmod2_28-1 libkrb5-3_1.18.3-4 libkrb5support0_1.18.3-4 liblapack3_3.9.0-3 liblcms2-2_2.12~rc1-2 libldap-2.4-2_2.4.57+dfsg-1 liblept5_1.79.0-1 libllvm11_1:11.0.1-2 liblmdb++-dev_0.9.14.1+git20160228.0b43ca8-1 liblmdb-dev_0.9.24-1 liblmdb0_0.9.24-1 liblocale-gettext-perl_1.07-4+b1 liblsan0_10.2.1-6 libltdl7_2.4.6-15 liblz4-1_1.9.3-1 liblzma-dev_5.2.5-1.0 liblzma5_5.2.5-1.0 libmagic-mgc_1:5.39-3 libmagic1_1:5.39-3 libmariadb3_1:10.5.8-3 libmd0_1.0.3-3 libmd4c0_0.4.7-1 libminizip1_1.1-8+b1 libmount-dev_2.36.1-7 libmount1_2.36.1-7 libmp3lame0_3.100-3 libmpc3_1.2.0-1 libmpdec3_2.5.1-1 libmpfr6_4.1.0-3 libmpg123-0_1.26.4-1 libmpx2_8.4.0-7 libmtdev1_1.1.6-1 libncurses6_6.2+20201114-2 libncursesw6_6.2+20201114-2 libnetcdf18_1:4.7.4-1 libnettle6_3.5.1+really3.4.1-1 libnettle8_3.7-2 libnghttp2-14_1.43.0-1 libnorm1_1.5.9+dfsg-1 libnsl-dev_1.3.0-2 libnsl2_1.3.0-2 libnspr4_2:4.29-1 libnss3_2:3.61-1 libodbc1_2.3.6-0.1+b1 libogdi4.1_4.1.0+ds-3 libogg0_1.3.4-0.1 libolm-dev_3.2.1~dfsg-7 libolm3_3.2.1~dfsg-7 libopencv-calib3d-dev_4.5.1+dfsg-4 libopencv-calib3d4.5_4.5.1+dfsg-4 libopencv-contrib-dev_4.5.1+dfsg-4 libopencv-contrib4.5_4.5.1+dfsg-4 libopencv-core-dev_4.5.1+dfsg-4 libopencv-core4.5_4.5.1+dfsg-4 libopencv-dev_4.5.1+dfsg-4 libopencv-dnn-dev_4.5.1+dfsg-4 libopencv-dnn4.5_4.5.1+dfsg-4 libopencv-features2d-dev_4.5.1+dfsg-4 libopencv-features2d4.5_4.5.1+dfsg-4 libopencv-flann-dev_4.5.1+dfsg-4 libopencv-flann4.5_4.5.1+dfsg-4 libopencv-highgui-dev_4.5.1+dfsg-4 libopencv-highgui4.5_4.5.1+dfsg-4 libopencv-imgcodecs-dev_4.5.1+dfsg-4 libopencv-imgcodecs4.5_4.5.1+dfsg-4 libopencv-imgproc-dev_4.5.1+dfsg-4 libopencv-imgproc4.5_4.5.1+dfsg-4 libopencv-ml-dev_4.5.1+dfsg-4 libopencv-ml4.5_4.5.1+dfsg-4 libopencv-objdetect-dev_4.5.1+dfsg-4 libopencv-objdetect4.5_4.5.1+dfsg-4 libopencv-photo-dev_4.5.1+dfsg-4 libopencv-photo4.5_4.5.1+dfsg-4 libopencv-shape-dev_4.5.1+dfsg-4 libopencv-shape4.5_4.5.1+dfsg-4 libopencv-stitching-dev_4.5.1+dfsg-4 libopencv-stitching4.5_4.5.1+dfsg-4 libopencv-superres-dev_4.5.1+dfsg-4 libopencv-superres4.5_4.5.1+dfsg-4 libopencv-video-dev_4.5.1+dfsg-4 libopencv-video4.5_4.5.1+dfsg-4 libopencv-videoio-dev_4.5.1+dfsg-4 libopencv-videoio4.5_4.5.1+dfsg-4 libopencv-videostab-dev_4.5.1+dfsg-4 libopencv-videostab4.5_4.5.1+dfsg-4 libopencv-viz-dev_4.5.1+dfsg-4 libopencv-viz4.5_4.5.1+dfsg-4 libopenexr-dev_2.5.4-1 libopenexr25_2.5.4-1 libopengl0_1.3.2-1 libopenjp2-7_2.4.0-3 libopenmpt0_0.4.11-1 libopus0_1.3.1-0.1 liborc-0.4-0_1:0.4.32-1 liborc-0.4-dev_1:0.4.32-1 liborc-0.4-dev-bin_1:0.4.32-1 libp11-kit0_0.23.22-1 libpam-modules_1.4.0-4 libpam-modules-bin_1.4.0-4 libpam-runtime_1.4.0-4 libpam-systemd_247.3-1 libpam0g_1.4.0-4 libpango-1.0-0_1.46.2-3 libpangocairo-1.0-0_1.46.2-3 libpangoft2-1.0-0_1.46.2-3 libpciaccess0_0.16-1 libpcre16-3_2:8.39-13 libpcre2-16-0_10.36-2 libpcre2-32-0_10.36-2 libpcre2-8-0_10.36-2 libpcre2-dev_10.36-2 libpcre2-posix2_10.36-2 libpcre3_2:8.39-13 libpcre3-dev_2:8.39-13 libpcre32-3_2:8.39-13 libpcrecpp0v5_2:8.39-13 libperl5.28_5.28.1-6 libperl5.32_5.32.1-2 libpgm-5.3-0_5.3.128~dfsg-2 libpipeline1_1.5.3-1 libpixman-1-0_0.40.0-1 libpng-dev_1.6.37-3 libpng16-16_1.6.37-3 libpoppler102_20.09.0-3.1 libpq5_13.2-1 libprocps8_2:3.3.17-3 libproj19_7.2.1-1 libprotobuf23_3.12.4-1 libproxy1v5_0.4.17-1 libpsl5_0.21.0-1.2 libpthread-stubs0-dev_0.4-1 libpulse0_14.2-1 libpython3-stdlib_3.9.1-1 libpython3.9-minimal_3.9.1-4 libpython3.9-stdlib_3.9.1-4 libqhull8.0_2020.2-3 libqt5concurrent5_5.15.2+dfsg-4 libqt5core5a_5.15.2+dfsg-4 libqt5dbus5_5.15.2+dfsg-4 libqt5designer5_5.15.2-3 libqt5designercomponents5_5.15.2-3 libqt5gui5_5.15.2+dfsg-4 libqt5help5_5.15.2-3 libqt5keychain1_0.10.0-1 libqt5multimedia5_5.15.2-2 libqt5multimediagsttools5_5.15.2-2 libqt5multimediaquick5_5.15.2-2 libqt5multimediawidgets5_5.15.2-2 libqt5network5_5.15.2+dfsg-4 libqt5positioning5_5.15.2+dfsg-2 libqt5printsupport5_5.15.2+dfsg-4 libqt5qml5_5.15.2+dfsg-4 libqt5qmlmodels5_5.15.2+dfsg-4 libqt5quick5_5.15.2+dfsg-4 libqt5quickcontrols2-5_5.15.2+dfsg-2 libqt5quickparticles5_5.15.2+dfsg-4 libqt5quickshapes5_5.15.2+dfsg-4 libqt5quicktemplates2-5_5.15.2+dfsg-2 libqt5quicktest5_5.15.2+dfsg-4 libqt5quickwidgets5_5.15.2+dfsg-4 libqt5sensors5_5.15.2-2 libqt5sql5_5.15.2+dfsg-4 libqt5sql5-sqlite_5.15.2+dfsg-4 libqt5svg5_5.15.2-2 libqt5svg5-dev_5.15.2-2 libqt5test5_5.15.2+dfsg-4 libqt5webchannel5_5.15.2-2 libqt5webkit5_5.212.0~alpha4-11 libqt5widgets5_5.15.2+dfsg-4 libqt5xml5_5.15.2+dfsg-4 libquadmath0_10.2.1-6 librabbitmq4_0.10.0-1 libraw1394-11_2.1.2-2 libraw1394-dev_2.1.2-2 libreadline8_8.1-1 librest-0.7-0_0.8.1-1.1 librhash0_1.4.1-1 librsvg2-2_2.50.3+dfsg-1 librtmp1_2.4+20151223.gitfa8646d.1-2+b2 librttopo1_1.1.0-2 libsasl2-2_2.1.27+dfsg-2.1 libsasl2-modules-db_2.1.27+dfsg-2.1 libseccomp2_2.5.1-1 libselinux1_3.1-3 libselinux1-dev_3.1-3 libsemanage-common_3.1-1 libsemanage1_3.1-1+b2 libsensors-config_1:3.6.0-7 libsensors5_1:3.6.0-7 libsepol1_3.1-1 libsepol1-dev_3.1-1 libshine3_3.1.1-2 libsigsegv2_2.13-1 libsm6_2:1.2.3-1 libsmartcols1_2.36.1-7 libsnappy1v5_1.1.8-1 libsndfile1_1.0.31-1 libsocket++1_1.12.13-11 libsodium-dev_1.0.18-1 libsodium23_1.0.18-1 libsoup-gnome2.4-1_2.72.0-2 libsoup2.4-1_2.72.0-2 libsoxr0_0.1.3-4 libspatialite7_5.0.1-2 libspdlog-dev_1:1.8.1+ds-2.1 libspdlog1_1:1.8.1+ds-2.1 libspeex1_1.2~rc1.2-1.1 libsqlite3-0_3.34.1-2 libsrt1.4-gnutls_1.4.2-1.3 libss2_1.46.1-1 libssh-gcrypt-4_0.9.5-1 libssh2-1_1.9.0-2 libssl-dev_1.1.1i-3 libssl1.1_1.1.1i-3 libstdc++-10-dev_10.2.1-6 libstdc++-10-dev-armhf-cross_10.2.1-6cross1 libstdc++-9-dev_9.3.0-22 libstdc++6_10.2.1-6 libstdc++6-armhf-cross_10.2.1-6cross1 libsub-override-perl_0.09-2 libsuperlu5_5.2.2+dfsg1-2 libswresample-dev_7:4.3.1-8 libswresample3_7:4.3.1-8 libswscale-dev_7:4.3.1-8 libswscale5_7:4.3.1-8 libsystemd0_247.3-1 libsz2_1.0.4-1 libtasn1-6_4.16.0-2 libtbb-dev_2020.3-1 libtbb2_2020.3-1 libtcl8.6_8.6.11+dfsg-1 libtesseract4_4.1.1-2.1 libthai-data_0.1.28-3 libthai0_0.1.28-3 libtheora0_1.1.1+dfsg.1-15 libtiff-dev_4.2.0-1 libtiff5_4.2.0-1 libtiffxx5_4.2.0-1 libtinfo6_6.2+20201114-2 libtirpc-common_1.3.1-1 libtirpc-dev_1.3.1-1 libtirpc3_1.3.1-1 libtk8.6_8.6.11-2 libtool_2.4.6-15 libtsan0_10.2.1-6 libtweeny-dev_3-2 libtwolame0_0.4.0-2 libubsan1_10.2.1-6 libubsan1-armhf-cross_10.2.1-6cross1 libuchardet0_0.0.7-1 libudev1_247.3-1 libudfread0_1.1.1-1 libunistring2_0.9.10-4 libunwind-dev_1.3.2-2 libunwind8_1.3.2-2 liburiparser1_0.9.4+dfsg-1 libusb-1.0-0_2:1.0.24-2 libuuid1_2.36.1-7 libuv1_1.40.0-1 libva-drm2_2.10.0-1 libva-x11-2_2.10.0-1 libva2_2.10.0-1 libvdpau1_1.4-3 libvorbis0a_1.3.7-1 libvorbisenc2_1.3.7-1 libvorbisfile3_1.3.7-1 libvpx6_1.9.0-1 libvtk9_9.0.1+dfsg1-8 libvulkan-dev_1.2.162.0-1 libvulkan1_1.2.162.0-1 libwacom-common_1.8-2 libwacom2_1.8-2 libwavpack1_5.4.0-1 libwayland-bin_1.18.0-2~exp1.1 libwayland-client0_1.18.0-2~exp1.1 libwayland-cursor0_1.18.0-2~exp1.1 libwayland-dev_1.18.0-2~exp1.1 libwayland-egl1_1.18.0-2~exp1.1 libwayland-server0_1.18.0-2~exp1.1 libwebp6_0.6.1-2+b1 libwebpmux3_0.6.1-2+b1 libwoff1_1.0.2-1+b1 libwrap0_7.6.q-31 libx11-6_2:1.7.0-2 libx11-data_2:1.7.0-2 libx11-dev_2:1.7.0-2 libx11-xcb-dev_2:1.7.0-2 libx11-xcb1_2:1.7.0-2 libx264-160_2:0.160.3011+gitcde9a93-2+b2 libx265-192_3.4-2 libxau-dev_1:1.0.9-1 libxau6_1:1.0.9-1 libxcb-dri2-0_1.14-3 libxcb-dri3-0_1.14-3 libxcb-glx0_1.14-3 libxcb-icccm4_0.4.1-1.1 libxcb-image0_0.4.0-1+b3 libxcb-keysyms1_0.4.0-1+b2 libxcb-present0_1.14-3 libxcb-randr0_1.14-3 libxcb-render-util0_0.3.9-1+b1 libxcb-render0_1.14-3 libxcb-shape0_1.14-3 libxcb-shm0_1.14-3 libxcb-sync1_1.14-3 libxcb-util1_0.4.0-1+b1 libxcb-xfixes0_1.14-3 libxcb-xinerama0_1.14-3 libxcb-xinput0_1.14-3 libxcb-xkb1_1.14-3 libxcb1_1.14-3 libxcb1-dev_1.14-3 libxcomposite1_1:0.4.5-1 libxcursor1_1:1.2.0-2 libxdamage1_1:1.1.5-2 libxdmcp-dev_1:1.1.2-3 libxdmcp6_1:1.1.2-3 libxerces-c3.2_3.2.3+debian-3 libxext-dev_2:1.3.3-1.1 libxext6_2:1.3.3-1.1 libxfixes3_1:5.0.3-2 libxft2_2.3.2-2 libxi6_2:1.7.10-1 libxinerama1_2:1.1.4-2 libxkbcommon-x11-0_1.0.3-2 libxkbcommon0_1.0.3-2 libxml-libxml-perl_2.0134+dfsg-2+b1 libxml-namespacesupport-perl_1.12-1.1 libxml-sax-base-perl_1.09-1.1 libxml-sax-perl_1.02+dfsg-1 libxml-simple-perl_2.25-1 libxml2_2.9.10+dfsg-6.3+b1 libxpm4_1:3.5.12-1 libxrandr2_2:1.5.1-1 libxrender1_1:0.9.10-1 libxshmfence1_1.3-1 libxslt1.1_1.1.34-4 libxss1_1:1.2.3-1 libxvidcore4_2:1.3.7-1 libxxf86vm1_1:1.1.4-1+b2 libxxhash0_0.8.0-2 libyaml-perl_1.30-1 libz3-4_4.8.10-1 libzmq5_4.3.4-1 libzstd1_1.4.8+dfsg-1 libzvbi-common_0.2.35-18 libzvbi0_0.2.35-18 linux-libc-dev_5.10.13-1 linux-libc-dev-armhf-cross_5.10.5-1cross2 login_1:4.8.1-1 logsave_1.46.1-1 lsb-base_11.1.0 m4_1.4.18-5 make_4.3-4 man-db_2.9.4-1 mariadb-common_1:10.5.8-3 mawk_1.3.4.20200120-2 media-types_4.0.0 mount_2.36.1-7 mysql-common_5.8+1.0.7 ncurses-base_6.2+20201114-2 ncurses-bin_6.2+20201114-2 nlohmann-json3-dev_3.9.1-1 ocl-icd-libopencl1_2.2.14-2 odbcinst_2.3.6-0.1+b1 odbcinst1debian2_2.3.6-0.1+b1 passwd_1:4.8.1-1 patch_2.7.6-7 perl_5.32.1-2 perl-base_5.32.1-2 perl-modules-5.28_5.28.1-6 perl-modules-5.32_5.32.1-2 pkg-config_0.29.2-1 po-debconf_1.0.21+nmu1 procps_2:3.3.17-3 proj-data_7.2.1-1 python3_3.9.1-1 python3-distutils_3.9.1-2 python3-lib2to3_3.9.1-2 python3-minimal_3.9.1-1 python3.9_3.9.1-4 python3.9-minimal_3.9.1-4 qdoc-qt5_5.15.2-3 qhelpgenerator-qt5_5.15.2-3 qt5-assistant_5.15.2-3 qt5-qmake_5.15.2+dfsg-4 qt5-qmake-bin_5.15.2+dfsg-4 qt5-qmltooling-plugins_5.15.2+dfsg-4 qt5keychain-dev_0.10.0-1 qtattributionsscanner-qt5_5.15.2-3 qtbase5-dev_5.15.2+dfsg-4 qtbase5-dev-tools_5.15.2+dfsg-4 qtchooser_66-2 qtdeclarative5-dev_5.15.2+dfsg-4 qtdeclarative5-dev-tools_5.15.2+dfsg-4 qtmultimedia5-dev_5.15.2-2 qtquickcontrols2-5-dev_5.15.2+dfsg-2 qttools5-dev_5.15.2-3 qttools5-dev-tools_5.15.2-3 readline-common_8.1-1 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.7-1 sensible-utils_0.0.14 shared-mime-info_2.0-1 systemd_247.3-1 systemd-sysv_247.3-1 systemd-timesyncd_247.3-1 sysvinit-utils_2.96-5 tar_1.33+dfsg-1 tzdata_2021a-1 ucf_3.0043 util-linux_2.36.1-7 uuid-dev_2.36.1-7 x11-common_1:7.7+21 x11proto-dev_2020.1-1 x11proto-xext-dev_2020.1-1 xkb-data_2.29-2 xorg-sgml-doctools_1:1.11-1.1 xtrans-dev_1.4.0-1 xz-utils_5.2.5-1.0 zlib1g_1:1.2.11.dfsg-2 zlib1g-dev_1:1.2.11.dfsg-2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: nheko Binary: nheko Architecture: any Version: 0.8.0-1 Maintainer: Matrix Packaging Team Uploaders: Hubert Chathi Homepage: https://github.com/Nheko-Reborn/nheko Standards-Version: 4.5.0 Vcs-Browser: https://salsa.debian.org/matrix-team/nheko Vcs-Git: https://salsa.debian.org/matrix-team/nheko.git Build-Depends: cmake (>= 3.15), debhelper-compat (= 12), dh-exec, libboost-dev (>= 1.70), libboost-atomic-dev (>= 1.70), libboost-chrono-dev (>= 1.70), libboost-date-time-dev (>= 1.70), libboost-iostreams-dev (>= 1.70), libboost-random-dev (>= 1.70), libboost-regex-dev (>= 1.70), libboost-system-dev (>= 1.70), libboost-thread-dev (>= 1.70), libcmark-dev (>= 0.29), libgstreamer1.0-dev (>= 1.18.0), libgstreamer-plugins-base1.0-dev (>= 1.18.0), libgstreamer-plugins-bad1.0-dev (>= 1.18.0), liblmdb++-dev, libolm-dev (>= 3.0~), libqt5svg5-dev, libspdlog-dev (>= 1.5.0+ds-4), libsodium-dev, libssl-dev, libtweeny-dev, nlohmann-json3-dev (>= 3.7.0-2~), qt5keychain-dev, qtbase5-dev (>= 5.10), qtdeclarative5-dev, libfmt-dev, qtquickcontrols2-5-dev, qtmultimedia5-dev, qttools5-dev, zlib1g-dev Package-List: nheko deb net optional arch=any Checksums-Sha1: 4fa2192be7ac776fdc56fb64703671bd27dcc0e7 571434 nheko_0.8.0.orig-mtxclient.tar.gz c4517d46f371cd0c7c813b82ec72b07d1eaf12a2 1150754 nheko_0.8.0.orig.tar.gz 7b2e9c496fa53346c0c8a714bb5daf7cadc6a8e2 12604 nheko_0.8.0-1.debian.tar.xz Checksums-Sha256: c02c0109c9bbfd15fc016c6770dec23809ba6ddb3c4f89a291e462baa3360863 571434 nheko_0.8.0.orig-mtxclient.tar.gz 07f58142cabd76809fb5d8c3f97488b9bd5be7858aaee4826cd6a35d966f5c98 1150754 nheko_0.8.0.orig.tar.gz f17822e845cc0382a9418915bcc03ab888415da37671e564a7ec572cdbe93832 12604 nheko_0.8.0-1.debian.tar.xz Files: ca231db24c98fbc91562409964ac2f9d 571434 nheko_0.8.0.orig-mtxclient.tar.gz b9ea4d368ffded50af9b83c8e76e6d07 1150754 nheko_0.8.0.orig.tar.gz 10a958a62d4629c52252615f2ea8c272 12604 nheko_0.8.0-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEE3juhvb4UN2X4rCw4rXmvZUDjNa8FAmAIpvUACgkQrXmvZUDj Na8wDQf+PpJcH5ouFeKBdQX7uqkWGQLMC+YOih9ueuLUd2NKMAxRboIzuDOtLxAf chY3GT2VANE8cEqOnt9FJCR3UwzZ0rbRmULDObuEk2vdeX2tCUz62NOloIirY9gX n2LMwObgMv6SaUCZfxLtVErChSub9HY27T5ZwBgRNiMdyV45K2sayOpNB1g9Gy1m N1BwGsg7+czw0wXPLcxRIMJXUSg2AwYG6iscUeIEaOCkQlT8omQvePAqrRoBh0Um 7YUI3ps3LbanLQo0pLWVUKSgzWYD8Svf6Cdv1WwhkCQZY/gGVbrWHXRa0RiXF2YO f9iDRdYKgG6va5o42xXEXDbKi9sL6g== =me56 -----END PGP SIGNATURE----- gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/tmp/dpkg-verify-sig.HHtqNY1N/trustedkeys.kbx': General error gpgv: Signature made Wed Jan 20 21:56:05 2021 UTC gpgv: using RSA key DE3BA1BDBE143765F8AC2C38AD79AF6540E335AF gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./nheko_0.8.0-1.dsc dpkg-source: info: extracting nheko in /<> dpkg-source: info: unpacking nheko_0.8.0.orig.tar.gz dpkg-source: info: unpacking nheko_0.8.0.orig-mtxclient.tar.gz dpkg-source: info: unpacking nheko_0.8.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying no_find_tweeny Check disk space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf CONFIG_SITE=/etc/dpkg-cross/cross-config.armhf DEB_BUILD_OPTIONS=nocheck HOME=/sbuild-nonexistent LANG=en_US.UTF-8 LC_ALL=C.UTF-8 LOGNAME=helmut PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=unstable-amd64-sbuild SCHROOT_CHROOT_NAME=unstable-amd64-sbuild SCHROOT_COMMAND=env SCHROOT_GID=1003 SCHROOT_GROUP=helmut SCHROOT_SESSION_ID=unstable-amd64-sbuild-5fbbda2c-c8eb-4b55-bbf3-4255dba5d62c SCHROOT_UID=1003 SCHROOT_USER=helmut SHELL=/bin/sh USER=helmut dpkg-buildpackage ----------------- Command: dpkg-buildpackage -aarmhf -Pcross,nocheck -us -uc -B -rfakeroot --jobs-try=1 dpkg-buildpackage: info: source package nheko dpkg-buildpackage: info: source version 0.8.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Hubert Chathi dpkg-architecture: warning: specified GNU system type arm-linux-gnueabihf does not match CC system type x86_64-linux-gnu, try setting a correct CC environment variable dpkg-source --before-build . dpkg-buildpackage: info: host architecture armhf fakeroot debian/rules clean dh clean debian/rules override_dh_auto_clean make[1]: Entering directory '/<>' rm -rf .deps build fakehome make[1]: Leaving directory '/<>' dh_clean debian/rules build-arch dh build-arch dh_update_autotools_config -a dh_autoreconf -a dh_auto_configure -a debian/rules override_dh_auto_build make[1]: Entering directory '/<>' [ -d fakehome ] || mkdir fakehome HOME=/<>/fakehome dh_auto_configure --sourcedirectory=mtxclient --builddirectory=.deps -- -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_LIB_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_LIB_EXAMPLES=OFF cd .deps && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=armv7l -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g\+\+ -DPKG_CONFIG_EXECUTABLE=/usr/bin/arm-linux-gnueabihf-pkg-config -DPKGCONFIG_EXECUTABLE=/usr/bin/arm-linux-gnueabihf-pkg-config -DQMAKE_EXECUTABLE=/usr/bin/arm-linux-gnueabihf-qmake -DCMAKE_INSTALL_LIBDIR=lib/arm-linux-gnueabihf -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_LIB_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_LIB_EXAMPLES=OFF ../mtxclient -- The C compiler identification is GNU 10.2.1 -- The CXX compiler identification is GNU 10.2.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/arm-linux-gnueabihf-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/arm-linux-gnueabihf-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE -- Found OpenSSL: /usr/lib/arm-linux-gnueabihf/libcrypto.so (found suitable version "1.1.1i", minimum required is "1.1.0") -- Found nlohmann_json: /usr/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found suitable version "3.9.1", minimum required is "3.2.0") -- Found Boost: /usr/lib/arm-linux-gnueabihf/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.70") found components: iostreams system thread -- The following OPTIONAL packages have been found: * PkgConfig -- The following REQUIRED packages have been found: * OpenSSL (required version >= 1.1.0), Open source SSL and TLS implementation and cryptographic library, * Olm (required version >= 3), An implementation of the Double Ratchet cryptographic ratchet, * nlohmann_json (required version >= 3.2.0), JSON for Modern C++, a C++11 header-only JSON class, * boost_iostreams (required version == 1.74.0) * boost_system (required version == 1.74.0) * boost_atomic (required version == 1.74.0) * boost_headers (required version == 1.74.0) * Threads * boost_thread (required version == 1.74.0) * Boost (required version >= 1.70), Free peer-reviewed portable C++ source libraries, -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project: PKGCONFIG_EXECUTABLE QMAKE_EXECUTABLE -- Build files have been written to: /<>/.deps HOME=/<>/fakehome dh_auto_build --sourcedirectory=mtxclient --builddirectory=.deps cd .deps && make -j1 "INSTALL=install --strip-program=true" VERBOSE=1 make[2]: Entering directory '/<>/.deps' /usr/bin/cmake -S/<>/mtxclient -B/<>/.deps --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /<>/.deps/CMakeFiles /<>/.deps//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/<>/.deps' make -f CMakeFiles/matrix_client.dir/build.make CMakeFiles/matrix_client.dir/depend make[4]: Entering directory '/<>/.deps' cd /<>/.deps && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<>/mtxclient /<>/mtxclient /<>/.deps /<>/.deps /<>/.deps/CMakeFiles/matrix_client.dir/DependInfo.cmake --color= Dependee "/<>/.deps/CMakeFiles/matrix_client.dir/DependInfo.cmake" is newer than depender "/<>/.deps/CMakeFiles/matrix_client.dir/depend.internal". Dependee "/<>/.deps/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/<>/.deps/CMakeFiles/matrix_client.dir/depend.internal". Scanning dependencies of target matrix_client make[4]: Leaving directory '/<>/.deps' make -f CMakeFiles/matrix_client.dir/build.make CMakeFiles/matrix_client.dir/build make[4]: Entering directory '/<>/.deps' [ 1%] Building CXX object CMakeFiles/matrix_client.dir/lib/http/client.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/http/client.cpp.o -c /<>/mtxclient/lib/http/client.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<>}; _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2458 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘nlohmann::basic_json::value_type& nlohmann::basic_json::operator[](const typename nlohmann::basic_json::object_t::key_type&) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::detail::value_t}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_array(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_object(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {bool&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = bool&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘bool nlohmann::detail::json_sax_dom_callback_parser::key(nlohmann::detail::json_sax_dom_callback_parser::string_t&) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtxclient/http/client.hpp:7, from /<>/mtxclient/lib/http/client.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::parser::sax_parse_internal(SAX*) [with SAX = nlohmann::detail::json_sax_dom_parser >; BasicJsonType = nlohmann::basic_json<>; InputAdapterType = nlohmann::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 2%] Building CXX object CMakeFiles/matrix_client.dir/lib/http/session.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/http/session.cpp.o -c /<>/mtxclient/lib/http/session.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/include/boost/system/error_code.hpp:19, from /usr/include/boost/asio/detail/throw_error.hpp:19, from /usr/include/boost/asio/detail/impl/posix_tss_ptr.ipp:23, from /usr/include/boost/asio/detail/posix_tss_ptr.hpp:76, from /usr/include/boost/asio/detail/tss_ptr.hpp:27, from /usr/include/boost/asio/detail/call_stack.hpp:20, from /usr/include/boost/asio/detail/thread_context.hpp:20, from /usr/include/boost/asio/detail/recycling_allocator.hpp:20, from /usr/include/boost/asio/detail/handler_alloc_helpers.hpp:21, from /usr/include/boost/asio/detail/executor_function.hpp:19, from /usr/include/boost/asio/execution/any_executor.hpp:23, from /usr/include/boost/asio/execution.hpp:19, from /usr/include/boost/asio/system_executor.hpp:20, from /usr/include/boost/asio/associated_executor.hpp:22, from /usr/include/boost/asio.hpp:21, from /<>/mtxclient/include/mtxclient/http/session.hpp:8, from /<>/mtxclient/lib/http/session.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const boost::asio::detail::timer_queue::heap_entry&}; _Tp = boost::asio::detail::timer_queue::heap_entry; _Alloc = std::allocator::heap_entry>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector::heap_entry, std::allocator::heap_entry> >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:67, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/include/boost/system/error_code.hpp:19, from /usr/include/boost/asio/detail/throw_error.hpp:19, from /usr/include/boost/asio/detail/impl/posix_tss_ptr.ipp:23, from /usr/include/boost/asio/detail/posix_tss_ptr.hpp:76, from /usr/include/boost/asio/detail/tss_ptr.hpp:27, from /usr/include/boost/asio/detail/call_stack.hpp:20, from /usr/include/boost/asio/detail/thread_context.hpp:20, from /usr/include/boost/asio/detail/recycling_allocator.hpp:20, from /usr/include/boost/asio/detail/handler_alloc_helpers.hpp:21, from /usr/include/boost/asio/detail/executor_function.hpp:19, from /usr/include/boost/asio/execution/any_executor.hpp:23, from /usr/include/boost/asio/execution.hpp:19, from /usr/include/boost/asio/system_executor.hpp:20, from /usr/include/boost/asio/associated_executor.hpp:22, from /usr/include/boost/asio.hpp:21, from /<>/mtxclient/include/mtxclient/http/session.hpp:8, from /<>/mtxclient/lib/http/session.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h: In member function ‘void boost::asio::detail::epoll_reactor::schedule_timer(boost::asio::detail::timer_queue&, const typename Time_Traits::time_type&, typename boost::asio::detail::timer_queue::per_timer_data&, boost::asio::detail::wait_op*) [with Time_Traits = boost::asio::time_traits]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1198:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator::heap_entry*, std::vector::heap_entry, std::allocator::heap_entry> > >’ changed in GCC 7.1 1198 | _M_realloc_insert(end(), __x); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ [ 4%] Building CXX object CMakeFiles/matrix_client.dir/lib/crypto/client.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/crypto/client.cpp.o -c /<>/mtxclient/lib/crypto/client.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/crypto/client.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/crypto/client.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/crypto/client.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<>}; _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2458 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/crypto/client.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘bool nlohmann::detail::json_sax_dom_callback_parser::key(nlohmann::detail::json_sax_dom_callback_parser::string_t&) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/crypto/client.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::detail::value_t}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_array(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_object(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {bool&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = bool&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::parser::sax_parse_internal(SAX*) [with SAX = nlohmann::detail::json_sax_dom_parser >; BasicJsonType = nlohmann::basic_json<>; InputAdapterType = nlohmann::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 5%] Building CXX object CMakeFiles/matrix_client.dir/lib/crypto/encoding.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/crypto/encoding.cpp.o -c /<>/mtxclient/lib/crypto/encoding.cpp [ 7%] Building CXX object CMakeFiles/matrix_client.dir/lib/crypto/types.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/crypto/types.cpp.o -c /<>/mtxclient/lib/crypto/types.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtxclient/crypto/types.hpp:7, from /<>/mtxclient/lib/crypto/types.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtxclient/crypto/types.hpp:7, from /<>/mtxclient/lib/crypto/types.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/crypto/types.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::__cxx11::basic_string > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::__cxx11::basic_string >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/crypto/types.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::__cxx11::basic_string >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 8%] Building CXX object CMakeFiles/matrix_client.dir/lib/crypto/utils.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/crypto/utils.cpp.o -c /<>/mtxclient/lib/crypto/utils.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /<>/mtxclient/include/mtxclient/crypto/utils.hpp:7, from /<>/mtxclient/lib/crypto/utils.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::detail::value_t}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_array(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_object(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {bool&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = bool&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = std::__cxx11::basic_string&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/include/mtxclient/crypto/utils.hpp:9, from /<>/mtxclient/lib/crypto/utils.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<>}; _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2458 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/include/mtxclient/crypto/utils.hpp:9, from /<>/mtxclient/lib/crypto/utils.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /<>/mtxclient/include/mtxclient/crypto/utils.hpp:7, from /<>/mtxclient/lib/crypto/utils.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::parser::sax_parse_internal(SAX*) [with SAX = nlohmann::detail::json_sax_dom_parser >; BasicJsonType = nlohmann::basic_json<>; InputAdapterType = nlohmann::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/include/mtxclient/crypto/utils.hpp:9, from /<>/mtxclient/lib/crypto/utils.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘bool nlohmann::detail::json_sax_dom_callback_parser::key(nlohmann::detail::json_sax_dom_callback_parser::string_t&) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ [ 10%] Building CXX object CMakeFiles/matrix_client.dir/lib/utils.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/utils.cpp.o -c /<>/mtxclient/lib/utils.cpp [ 11%] Building CXX object CMakeFiles/matrix_client.dir/lib/log.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/log.cpp.o -c /<>/mtxclient/lib/log.cpp [ 13%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/common.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/common.cpp.o -c /<>/mtxclient/lib/structs/common.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/lib/structs/common.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/lib/structs/common.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/common.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::__cxx11::basic_string > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::__cxx11::basic_string >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/common.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::__cxx11::basic_string >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/common.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::map, std::__cxx11::basic_string > > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::map, std::__cxx11::basic_string > >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/common.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::map, std::__cxx11::basic_string > >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 14%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/errors.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/errors.cpp.o -c /<>/mtxclient/lib/structs/errors.cpp [ 16%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events.cpp.o -c /<>/mtxclient/lib/structs/events.cpp [ 17%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/identifiers.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/identifiers.cpp.o -c /<>/mtxclient/lib/structs/identifiers.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/identifiers.hpp:7, from /<>/mtxclient/lib/structs/identifiers.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 19%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/pushrules.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/pushrules.cpp.o -c /<>/mtxclient/lib/structs/pushrules.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/pushrules.hpp:7, from /<>/mtxclient/lib/structs/pushrules.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/pushrules.hpp:7, from /<>/mtxclient/lib/structs/pushrules.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 20%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/requests.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/requests.cpp.o -c /<>/mtxclient/lib/structs/requests.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/include/mtx/requests.hpp:9, from /<>/mtxclient/lib/structs/requests.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void nlohmann::basic_json::json_value::destroy(nlohmann::basic_json::value_t) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/common.hpp:4, from /<>/mtxclient/include/mtx/requests.hpp:9, from /<>/mtxclient/lib/structs/requests.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 22%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/secret_storage.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/secret_storage.cpp.o -c /<>/mtxclient/lib/structs/secret_storage.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/secret_storage.hpp:12, from /<>/mtxclient/lib/structs/secret_storage.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /<>/mtxclient/include/mtx/secret_storage.hpp:7, from /<>/mtxclient/lib/structs/secret_storage.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/secret_storage.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::secret_storage::AesHmacSha2EncryptedData> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::secret_storage::AesHmacSha2EncryptedData>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/secret_storage.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::secret_storage::AesHmacSha2EncryptedData>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/secret_storage.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::__cxx11::basic_string > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::__cxx11::basic_string >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/secret_storage.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::__cxx11::basic_string >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/secret_storage.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::map, std::__cxx11::basic_string > > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::map, std::__cxx11::basic_string > >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/secret_storage.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::map, std::__cxx11::basic_string > >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 23%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/user_interactive.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/user_interactive.cpp.o -c /<>/mtxclient/lib/structs/user_interactive.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /<>/mtxclient/include/mtx/user_interactive.hpp:10, from /<>/mtxclient/lib/structs/user_interactive.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/user_interactive.hpp:13, from /<>/mtxclient/lib/structs/user_interactive.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/user_interactive.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::user_interactive::Policy> >; _UnaryOperation = nlohmann::detail::from_json, std::unordered_map, mtx::user_interactive::Policy>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/user_interactive.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::unordered_map, mtx::user_interactive::Policy>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 25%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/aliases.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/aliases.cpp.o -c /<>/mtxclient/lib/structs/events/aliases.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/aliases.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/aliases.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 26%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/avatar.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/avatar.cpp.o -c /<>/mtxclient/lib/structs/events/avatar.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/avatar.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/avatar.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 28%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/canonical_alias.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/canonical_alias.cpp.o -c /<>/mtxclient/lib/structs/events/canonical_alias.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/canonical_alias.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/canonical_alias.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 29%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/collections.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/collections.cpp.o -c /<>/mtxclient/lib/structs/events/collections.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events.hpp:7, from /<>/mtxclient/include/mtx/events/collections.hpp:8, from /<>/mtxclient/lib/structs/events/collections.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 31%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/common.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/common.cpp.o -c /<>/mtxclient/lib/structs/events/common.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/common.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/common.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 32%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/create.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/create.cpp.o -c /<>/mtxclient/lib/structs/events/create.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/create.hpp:9, from /<>/mtxclient/lib/structs/events/create.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/create.hpp:9, from /<>/mtxclient/lib/structs/events/create.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 34%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/encrypted.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/encrypted.cpp.o -c /<>/mtxclient/lib/structs/events/encrypted.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/encrypted.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void nlohmann::basic_json::json_value::destroy(nlohmann::basic_json::value_t) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/encrypted.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::events::msg::OlmCipherContent> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::events::msg::OlmCipherContent>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/encrypted.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::events::msg::OlmCipherContent>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/encrypted.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::__cxx11::basic_string > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::__cxx11::basic_string >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/encrypted.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::__cxx11::basic_string >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 35%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/encryption.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/encryption.cpp.o -c /<>/mtxclient/lib/structs/events/encryption.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/encryption.hpp:7, from /<>/mtxclient/lib/structs/events/encryption.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/encryption.hpp:7, from /<>/mtxclient/lib/structs/events/encryption.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 37%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/guest_access.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/guest_access.cpp.o -c /<>/mtxclient/lib/structs/events/guest_access.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/guest_access.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/guest_access.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 38%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/history_visibility.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/history_visibility.cpp.o -c /<>/mtxclient/lib/structs/events/history_visibility.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/history_visibility.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/history_visibility.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 40%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/join_rules.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/join_rules.cpp.o -c /<>/mtxclient/lib/structs/events/join_rules.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/join_rules.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/join_rules.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 41%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/member.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/member.cpp.o -c /<>/mtxclient/lib/structs/events/member.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/member.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/member.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 43%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/name.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/name.cpp.o -c /<>/mtxclient/lib/structs/events/name.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/name.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/name.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 44%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/pinned_events.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/pinned_events.cpp.o -c /<>/mtxclient/lib/structs/events/pinned_events.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/pinned_events.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/pinned_events.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 46%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/power_levels.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/power_levels.cpp.o -c /<>/mtxclient/lib/structs/events/power_levels.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/power_levels.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/power_levels.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 47%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/presence.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/presence.cpp.o -c /<>/mtxclient/lib/structs/events/presence.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/presence.hpp:7, from /<>/mtxclient/lib/structs/events/presence.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/presence.hpp:7, from /<>/mtxclient/lib/structs/events/presence.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 49%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/reaction.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/reaction.cpp.o -c /<>/mtxclient/lib/structs/events/reaction.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/reaction.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/reaction.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 50%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/redaction.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/redaction.cpp.o -c /<>/mtxclient/lib/structs/events/redaction.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/redaction.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/redaction.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 52%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/tag.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/tag.cpp.o -c /<>/mtxclient/lib/structs/events/tag.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/tag.hpp:10, from /<>/mtxclient/lib/structs/events/tag.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void nlohmann::basic_json::json_value::destroy(nlohmann::basic_json::value_t) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/tag.hpp:10, from /<>/mtxclient/lib/structs/events/tag.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, mtx::events::account_data::Tag>; _KeyOfValue = std::_Select1st, mtx::events::account_data::Tag> >; _Compare = std::less >; _Alloc = std::allocator, mtx::events::account_data::Tag> >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, mtx::events::account_data::Tag>, std::_Select1st, mtx::events::account_data::Tag> >, std::less >, std::allocator, mtx::events::account_data::Tag> > >::const_iterator’ changed in GCC 7.1 In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/tag.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::events::account_data::Tag> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::events::account_data::Tag>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/tag.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::events::account_data::Tag>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 53%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/tombstone.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/tombstone.cpp.o -c /<>/mtxclient/lib/structs/events/tombstone.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/tombstone.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/tombstone.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 55%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/topic.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/topic.cpp.o -c /<>/mtxclient/lib/structs/events/topic.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/topic.hpp:7, from /<>/mtxclient/lib/structs/events/topic.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/topic.hpp:7, from /<>/mtxclient/lib/structs/events/topic.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 56%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/unknown.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/unknown.cpp.o -c /<>/mtxclient/lib/structs/events/unknown.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/unknown.hpp:7, from /<>/mtxclient/lib/structs/events/unknown.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::detail::value_t}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_array(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_object(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {bool&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = bool&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/unknown.hpp:7, from /<>/mtxclient/lib/structs/events/unknown.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<>}; _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2458 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/unknown.hpp:7, from /<>/mtxclient/lib/structs/events/unknown.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘bool nlohmann::detail::json_sax_dom_callback_parser::key(nlohmann::detail::json_sax_dom_callback_parser::string_t&) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/unknown.hpp:7, from /<>/mtxclient/lib/structs/events/unknown.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::parser::sax_parse_internal(SAX*) [with SAX = nlohmann::detail::json_sax_dom_parser >; BasicJsonType = nlohmann::basic_json<>; InputAdapterType = nlohmann::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/voip.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/voip.cpp.o -c /<>/mtxclient/lib/structs/events/voip.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/voip.hpp:7, from /<>/mtxclient/lib/structs/events/voip.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/events/voip.hpp:7, from /<>/mtxclient/lib/structs/events/voip.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void nlohmann::basic_json::json_value::destroy(nlohmann::basic_json::value_t) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/account_data/fully_read.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/account_data/fully_read.cpp.o -c /<>/mtxclient/lib/structs/events/account_data/fully_read.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/account_data/fully_read.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/account_data/fully_read.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 61%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/ephemeral/receipt.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/ephemeral/receipt.cpp.o -c /<>/mtxclient/lib/structs/events/ephemeral/receipt.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/ephemeral/receipt.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/ephemeral/receipt.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 62%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/ephemeral/typing.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/ephemeral/typing.cpp.o -c /<>/mtxclient/lib/structs/events/ephemeral/typing.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/ephemeral/typing.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/ephemeral/typing.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 64%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/nheko_extensions/hidden_events.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/nheko_extensions/hidden_events.cpp.o -c /<>/mtxclient/lib/structs/events/nheko_extensions/hidden_events.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /<>/mtxclient/include/mtx/events/nheko_extensions/hidden_events.hpp:6, from /<>/mtxclient/lib/structs/events/nheko_extensions/hidden_events.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/events/nheko_extensions/hidden_events.hpp:9, from /<>/mtxclient/lib/structs/events/nheko_extensions/hidden_events.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 65%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/audio.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/audio.cpp.o -c /<>/mtxclient/lib/structs/events/messages/audio.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/audio.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/audio.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 67%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/emote.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/emote.cpp.o -c /<>/mtxclient/lib/structs/events/messages/emote.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/emote.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/emote.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 68%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/file.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/file.cpp.o -c /<>/mtxclient/lib/structs/events/messages/file.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/file.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/file.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 70%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/image.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/image.cpp.o -c /<>/mtxclient/lib/structs/events/messages/image.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/image.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/image.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 71%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/notice.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/notice.cpp.o -c /<>/mtxclient/lib/structs/events/messages/notice.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/notice.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/notice.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 73%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/text.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/text.cpp.o -c /<>/mtxclient/lib/structs/events/messages/text.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/text.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/text.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 74%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/events/messages/video.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/events/messages/video.cpp.o -c /<>/mtxclient/lib/structs/events/messages/video.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/events/messages/video.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/detail/conversions/from_json.hpp:7, from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/events/messages/video.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 76%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/common.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/common.cpp.o -c /<>/mtxclient/lib/structs/responses/common.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/common.hpp:7, from /<>/mtxclient/lib/structs/responses/common.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::EncryptedEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RedactionEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::Sticker}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::RoomEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::DeviceEvent}; _Tp = std::variant, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >; _Alloc = std::allocator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StateEvent}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::StrippedEvent}; _Tp = std::variant, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >; _Alloc = std::allocator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘void mtx::responses::utils::parse_stripped_events(const json&, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > >&)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent >*, std::vector, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent, mtx::events::StrippedEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘void mtx::responses::utils::parse_state_events(const json&, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > >&)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘void mtx::responses::utils::parse_device_events(const json&, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > >&)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent >*, std::vector, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent, mtx::events::DeviceEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘void mtx::responses::utils::parse_timeline_events(const json&, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >&)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 77%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/create_room.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/create_room.cpp.o -c /<>/mtxclient/lib/structs/responses/create_room.cpp [ 79%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/crypto.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/crypto.cpp.o -c /<>/mtxclient/lib/structs/responses/crypto.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<>}; _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2458 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::detail::value_t}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_object(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_array(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {bool&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = bool&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = std::__cxx11::basic_string&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘bool nlohmann::detail::json_sax_dom_callback_parser::key(nlohmann::detail::json_sax_dom_callback_parser::string_t&) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In constructor ‘std::map<_Key, _Tp, _Compare, _Alloc>::map(_InputIterator, _InputIterator) [with _InputIterator = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:273:2: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 273 | map(_InputIterator __first, _InputIterator __last) | ^~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:273:2: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:273:2: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, nlohmann::basic_json<> > >; _UnaryOperation = nlohmann::detail::from_json, std::map, nlohmann::basic_json<> >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, nlohmann::basic_json<> >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::crypto::CrossSigningKeys> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::crypto::CrossSigningKeys>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::crypto::CrossSigningKeys>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::map, nlohmann::basic_json<> > > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::map, nlohmann::basic_json<> > >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::map, nlohmann::basic_json<> > >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::responses::backup::SessionBackup> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::responses::backup::SessionBackup>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::responses::backup::SessionBackup>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::responses::backup::RoomKeysBackup> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::responses::backup::RoomKeysBackup>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::responses::backup::RoomKeysBackup>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::__cxx11::basic_string > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::__cxx11::basic_string >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::__cxx11::basic_string >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::crypto::DeviceKeys> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::crypto::DeviceKeys>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::crypto::DeviceKeys>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::map, mtx::crypto::DeviceKeys> > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::map, mtx::crypto::DeviceKeys> >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::map, mtx::crypto::DeviceKeys> >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::errors::LightweightError> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::errors::LightweightError>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::errors::LightweightError>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, std::map, mtx::errors::LightweightError> > >; _UnaryOperation = nlohmann::detail::from_json, std::map, std::map, mtx::errors::LightweightError> >, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/crypto.cpp:3: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, std::map, mtx::errors::LightweightError> >; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++allocator.h:33, from /usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h:46, from /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:64, from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/nlohmann/json_fwd.hpp:5, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h: In function ‘void mtx::responses::to_json(nlohmann::json&, const mtx::responses::QueryKeys&)’: /usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h:150:4: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 150 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/crypto.hpp:7, from /<>/mtxclient/lib/structs/responses/crypto.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::parser::sax_parse_internal(SAX*) [with SAX = nlohmann::detail::json_sax_dom_parser >; BasicJsonType = nlohmann::basic_json<>; InputAdapterType = nlohmann::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/empty.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/empty.cpp.o -c /<>/mtxclient/lib/structs/responses/empty.cpp [ 82%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/groups.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/groups.cpp.o -c /<>/mtxclient/lib/structs/responses/groups.cpp [ 83%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/login.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/login.cpp.o -c /<>/mtxclient/lib/structs/responses/login.cpp [ 85%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/media.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/media.cpp.o -c /<>/mtxclient/lib/structs/responses/media.cpp [ 86%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/messages.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/messages.cpp.o -c /<>/mtxclient/lib/structs/responses/messages.cpp [ 88%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/notifications.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/notifications.cpp.o -c /<>/mtxclient/lib/structs/responses/notifications.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/notifications.hpp:7, from /<>/mtxclient/lib/structs/responses/notifications.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >&}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:67, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/notifications.hpp:7, from /<>/mtxclient/lib/structs/responses/notifications.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h: In member function ‘void nlohmann::basic_json::push_back(const nlohmann::basic_json&) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1198:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 1198 | _M_realloc_insert(end(), __x); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h: In function ‘void mtx::responses::to_json(json&, const mtx::responses::Notification&)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1198:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 1198 | _M_realloc_insert(end(), __x); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/include/nlohmann/json_fwd.hpp:8, from /<>/mtxclient/include/mtx/responses/notifications.hpp:7, from /<>/mtxclient/lib/structs/responses/notifications.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::responses::Notification}; _Tp = mtx::responses::Notification; _Alloc = std::allocator]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = nlohmann::detail::iter_impl >; _OIter = std::insert_iterator >; _UnaryOperation = nlohmann::detail::from_json_array_impl, std::vector >::&)>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:356:19: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 356 | _M_realloc_insert(begin() + __n, std::move(__v)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 89%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/profile.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/profile.cpp.o -c /<>/mtxclient/lib/structs/responses/profile.cpp [ 91%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/register.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/register.cpp.o -c /<>/mtxclient/lib/structs/responses/register.cpp [ 92%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/sync.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/sync.cpp.o -c /<>/mtxclient/lib/structs/responses/sync.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /<>/mtxclient/include/mtx/responses/sync.hpp:8, from /<>/mtxclient/lib/structs/responses/sync.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_insert_aux(std::vector<_Tp, _Alloc>::iterator, _Arg&&) [with _Arg = mtx::events::Event; _Tp = mtx::events::Event; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:395:7: note: parameter passing for argument of type ‘std::vector >::iterator’ changed in GCC 7.1 395 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {mtx::events::Event}; _Tp = mtx::events::Event; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘decltype (((nlohmann::detail::from_json_array_impl(j, arr, nlohmann::detail::priority_tag<3>{}), j.get()), void())) nlohmann::detail::from_json(const BasicJsonType&, ConstructibleArrayType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleArrayType = std::vector >; typename std::enable_if<((((nlohmann::detail::is_constructible_array_type::value && (! nlohmann::detail::is_constructible_object_type::value)) && (! nlohmann::detail::is_constructible_string_type::value)) && (! std::is_same::value)) && (! nlohmann::detail::is_basic_json::value)), int>::type = 0]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:354:17: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector > >’ changed in GCC 7.1 354 | _M_insert_aux(begin() + __n, std::move(__v)); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:356:19: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector > >’ changed in GCC 7.1 356 | _M_realloc_insert(begin() + __n, std::move(__v)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/sync.cpp:6: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::responses::JoinedRoom> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::responses::JoinedRoom>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/sync.cpp:6: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::responses::JoinedRoom>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/sync.cpp:6: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::responses::LeftRoom> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::responses::LeftRoom>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/sync.cpp:6: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::responses::LeftRoom>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:62, from /usr/include/nlohmann/json.hpp:37, from /<>/mtxclient/lib/structs/responses/sync.cpp:6: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h: In function ‘_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >; _OIter = std::insert_iterator, mtx::responses::InvitedRoom> >; _UnaryOperation = nlohmann::detail::from_json, std::map, mtx::responses::InvitedRoom>, 0>::]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 4304 | transform(_InputIterator __first, _InputIterator __last, | ^~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h:4304:5: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 In file included from /usr/include/nlohmann/adl_serializer.hpp:5, from /usr/include/nlohmann/json.hpp:49, from /<>/mtxclient/lib/structs/responses/sync.cpp:6: /usr/include/nlohmann/detail/conversions/from_json.hpp: In function ‘void nlohmann::detail::from_json(const BasicJsonType&, ConstructibleObjectType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleObjectType = std::map, mtx::responses::InvitedRoom>; typename std::enable_if::value, int>::type = 0]’: /usr/include/nlohmann/detail/conversions/from_json.hpp:274:19: note: parameter passing for argument of type ‘std::_Rb_tree_const_iterator, nlohmann::basic_json<> > >’ changed in GCC 7.1 274 | std::transform( | ~~~~~~~~~~~~~~^ 275 |  inner_object->begin(), inner_object->end(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 |  std::inserter(ret, ret.begin()), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 |  [](typename BasicJsonType::object_t::value_type const & p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 |  { | ~ 279 |  return value_type(p.first, p.second.template get()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 |  }); | ~~ [ 94%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/turn_server.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/turn_server.cpp.o -c /<>/mtxclient/lib/structs/responses/turn_server.cpp [ 95%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/version.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/version.cpp.o -c /<>/mtxclient/lib/structs/responses/version.cpp [ 97%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/well-known.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/well-known.cpp.o -c /<>/mtxclient/lib/structs/responses/well-known.cpp [ 98%] Building CXX object CMakeFiles/matrix_client.dir/lib/structs/responses/public_rooms.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DJSON_USE_IMPLICIT_CONVERSIONS=1 -I/<>/mtxclient/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wno-attributes -Wunreachable-code -fPIC -pthread -std=c++17 -o CMakeFiles/matrix_client.dir/lib/structs/responses/public_rooms.cpp.o -c /<>/mtxclient/lib/structs/responses/public_rooms.cpp [100%] Linking CXX static library libmatrix_client.a /usr/bin/cmake -P CMakeFiles/matrix_client.dir/cmake_clean_target.cmake /usr/bin/cmake -E cmake_link_script CMakeFiles/matrix_client.dir/link.txt --verbose=1 /usr/bin/arm-linux-gnueabihf-ar qc libmatrix_client.a CMakeFiles/matrix_client.dir/lib/http/client.cpp.o CMakeFiles/matrix_client.dir/lib/http/session.cpp.o CMakeFiles/matrix_client.dir/lib/crypto/client.cpp.o CMakeFiles/matrix_client.dir/lib/crypto/encoding.cpp.o CMakeFiles/matrix_client.dir/lib/crypto/types.cpp.o CMakeFiles/matrix_client.dir/lib/crypto/utils.cpp.o CMakeFiles/matrix_client.dir/lib/utils.cpp.o CMakeFiles/matrix_client.dir/lib/log.cpp.o CMakeFiles/matrix_client.dir/lib/structs/common.cpp.o CMakeFiles/matrix_client.dir/lib/structs/errors.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events.cpp.o CMakeFiles/matrix_client.dir/lib/structs/identifiers.cpp.o CMakeFiles/matrix_client.dir/lib/structs/pushrules.cpp.o CMakeFiles/matrix_client.dir/lib/structs/requests.cpp.o CMakeFiles/matrix_client.dir/lib/structs/secret_storage.cpp.o CMakeFiles/matrix_client.dir/lib/structs/user_interactive.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/aliases.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/avatar.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/canonical_alias.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/collections.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/common.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/create.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/encrypted.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/encryption.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/guest_access.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/history_visibility.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/join_rules.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/member.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/name.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/pinned_events.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/power_levels.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/presence.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/reaction.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/redaction.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/tag.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/tombstone.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/topic.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/unknown.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/voip.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/account_data/fully_read.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/ephemeral/receipt.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/ephemeral/typing.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/nheko_extensions/hidden_events.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/audio.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/emote.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/file.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/image.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/notice.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/text.cpp.o CMakeFiles/matrix_client.dir/lib/structs/events/messages/video.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/common.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/create_room.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/crypto.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/empty.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/groups.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/login.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/media.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/messages.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/notifications.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/profile.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/register.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/sync.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/turn_server.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/version.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/well-known.cpp.o CMakeFiles/matrix_client.dir/lib/structs/responses/public_rooms.cpp.o /usr/bin/arm-linux-gnueabihf-ranlib libmatrix_client.a make[4]: Leaving directory '/<>/.deps' [100%] Built target matrix_client make[3]: Leaving directory '/<>/.deps' /usr/bin/cmake -E cmake_progress_start /<>/.deps/CMakeFiles 0 make[2]: Leaving directory '/<>/.deps' HOME=/<>/fakehome dh_auto_configure --builddirectory=build -- -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=.deps -DCMAKE_INSTALL_PREFIX=.deps/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_LIB_EXAMPLES=OFF cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=armv7l -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g\+\+ -DPKG_CONFIG_EXECUTABLE=/usr/bin/arm-linux-gnueabihf-pkg-config -DPKGCONFIG_EXECUTABLE=/usr/bin/arm-linux-gnueabihf-pkg-config -DQMAKE_EXECUTABLE=/usr/bin/arm-linux-gnueabihf-qmake -DCMAKE_INSTALL_LIBDIR=lib/arm-linux-gnueabihf -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=.deps -DCMAKE_INSTALL_PREFIX=.deps/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_LIB_EXAMPLES=OFF .. -- The CXX compiler identification is GNU 10.2.1 -- The C compiler identification is GNU 10.2.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/arm-linux-gnueabihf-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/arm-linux-gnueabihf-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE -- Found LMDB: /usr/include Build type set to 'RelWithDebInfo' -- Version: 0.8.0 -- Found Boost: /usr/lib/arm-linux-gnueabihf/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.70") found components: iostreams system thread -- Found OpenSSL: /usr/lib/arm-linux-gnueabihf/libcrypto.so (found suitable version "1.1.1i", minimum required is "1.1.0") CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message): The package name passed to `find_package_handle_standard_args` (PkgConfig) does not match the name of the calling package (cmark). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. Call Stack (most recent call first): /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args) cmake/Findcmark.cmake:5 (include) CMakeLists.txt:402 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. -- Found PkgConfig: /usr/bin/arm-linux-gnueabihf-pkg-config (found version "0.29.2") -- Found cmark: /usr/include -- Found nlohmann_json: /usr/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found suitable version "3.9.1", minimum required is "3.2.0") -- Checking for modules 'gstreamer-sdp-1.0>=1.16;gstreamer-webrtc-1.0>=1.16' -- Found gstreamer-sdp-1.0, version 1.18.3 -- Found gstreamer-webrtc-1.0, version 1.18.3 -- The following features have been enabled: * voip, GStreamer found. Call support is enabled automatically. -- The following OPTIONAL packages have been found: * LMDB * Qt5QuickCompiler * PkgConfig -- The following REQUIRED packages have been found: * Qt5Gui (required version >= 5.15.2) * Qt5LinguistTools * Qt5Concurrent * Qt5Svg * Qt5Multimedia * Qt5Qml * Qt5QmlModels (required version >= 5.15.2) * Qt5Quick (required version >= 5.15.2) * Qt5QuickControls2 * Qt5QuickWidgets * Qt5DBus * Qt5Keychain * boost_iostreams (required version == 1.74.0) * boost_system (required version == 1.74.0) * boost_atomic (required version == 1.74.0) * boost_headers (required version == 1.74.0) * boost_thread (required version == 1.74.0) * Boost (required version >= 1.70) * OpenSSL (required version >= 1.1.0) * MatrixClient (required version >= 0.4.0) * Olm (required version >= 3), An implementation of the Double Ratchet cryptographic ratchet, * Threads * spdlog (required version >= 1.0.0) * cmark * nlohmann_json (required version >= 3.2.0), JSON for Modern C++, a C++11 header-only JSON class, * Qt5Core * Qt5Network * Qt5Widgets * Qt5 -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project: BUILD_LIB_EXAMPLES CMAKE_EXPORT_NO_PACKAGE_REGISTRY PKGCONFIG_EXECUTABLE QMAKE_EXECUTABLE -- Build files have been written to: /<>/build HOME=/<>/fakehome dh_auto_build --builddirectory=build cd build && make -j1 "INSTALL=install --strip-program=true" VERBOSE=1 make[2]: Entering directory '/<>/build' /usr/bin/cmake -S/<> -B/<>/build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /<>/build/CMakeFiles /<>/build//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/<>/build' make -f third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/build.make third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/depend make[4]: Entering directory '/<>/build' cd /<>/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/third_party/SingleApplication-3.2.0-dc8042b /<>/build /<>/build/third_party/SingleApplication-3.2.0-dc8042b /<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/DependInfo.cmake --color= Dependee "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/DependInfo.cmake" is newer than depender "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/depend.internal". Dependee "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/depend.internal". Scanning dependencies of target SingleApplication_autogen make[4]: Leaving directory '/<>/build' make -f third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/build.make third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/build make[4]: Entering directory '/<>/build' [ 0%] Automatic MOC for target SingleApplication cd /<>/build/third_party/SingleApplication-3.2.0-dc8042b && /usr/bin/cmake -E cmake_autogen /<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/AutogenInfo.json RelWithDebInfo AutoGen: Refreshing parse cache because it doesn't exist. AutoMoc: Generating "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/moc_predefs.h", because it doesn't exist. /usr/bin/arm-linux-gnueabihf-g++ -dM -E -c /usr/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b -I/<>/third_party/SingleApplication-3.2.0-dc8042b -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/arm-linux-gnueabihf/include/c++/10 -I/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/c++/10/backward -I/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include -I/usr/arm-linux-gnueabihf/include -I/usr/include/arm-linux-gnueabihf -I/usr/include AutoGen: Parsing "SRC:/third_party/SingleApplication-3.2.0-dc8042b/singleapplication.h" AutoGen: Parsing "SRC:/third_party/SingleApplication-3.2.0-dc8042b/singleapplication_p.h" AutoGen: Parsing "SRC:/third_party/SingleApplication-3.2.0-dc8042b/singleapplication_p.cpp" AutoGen: Parsing "SRC:/third_party/SingleApplication-3.2.0-dc8042b/singleapplication.cpp" AutoMoc: Generating "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/EWIEGA46WW/moc_singleapplication_p.cpp", because it doesn't exist, from "SRC:/third_party/SingleApplication-3.2.0-dc8042b/singleapplication_p.h" /usr/lib/qt5/bin/moc -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b -I/<>/third_party/SingleApplication-3.2.0-dc8042b -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/arm-linux-gnueabihf/include/c++/10 -I/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/c++/10/backward -I/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include -I/usr/arm-linux-gnueabihf/include -I/usr/include/arm-linux-gnueabihf -I/usr/include --include /<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/moc_predefs.h --output-dep-file -o /<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/EWIEGA46WW/moc_singleapplication_p.cpp /<>/third_party/SingleApplication-3.2.0-dc8042b/singleapplication_p.h AutoMoc: Generating "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/EWIEGA46WW/moc_singleapplication.cpp", because it doesn't exist, from "SRC:/third_party/SingleApplication-3.2.0-dc8042b/singleapplication.h" /usr/lib/qt5/bin/moc -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b -I/<>/third_party/SingleApplication-3.2.0-dc8042b -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/arm-linux-gnueabihf/include/c++/10 -I/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/c++/10/backward -I/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include -I/usr/arm-linux-gnueabihf/include -I/usr/include/arm-linux-gnueabihf -I/usr/include --include /<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/moc_predefs.h --output-dep-file -o /<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/EWIEGA46WW/moc_singleapplication.cpp /<>/third_party/SingleApplication-3.2.0-dc8042b/singleapplication.h AutoMoc: Reading dependencies from "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/EWIEGA46WW/moc_singleapplication.cpp.d" AutoMoc: Reading dependencies from "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/EWIEGA46WW/moc_singleapplication_p.cpp.d" AutoMoc: Generating MOC compilation "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/mocs_compilation.cpp" AutoGen: Writing the parse cache file "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/ParseCache.txt" AutoGen: Writing the settings file "SRC:/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication_autogen.dir/AutogenUsed.txt" make[4]: Leaving directory '/<>/build' [ 0%] Built target SingleApplication_autogen make -f third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/build.make third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/depend make[4]: Entering directory '/<>/build' cd /<>/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/third_party/SingleApplication-3.2.0-dc8042b /<>/build /<>/build/third_party/SingleApplication-3.2.0-dc8042b /<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/DependInfo.cmake --color= Dependee "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/DependInfo.cmake" is newer than depender "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/depend.internal". Dependee "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/<>/build/third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/depend.internal". Scanning dependencies of target SingleApplication make[4]: Leaving directory '/<>/build' make -f third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/build.make third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/build make[4]: Entering directory '/<>/build' [ 0%] Building CXX object third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/SingleApplication_autogen/mocs_compilation.cpp.o cd /<>/build/third_party/SingleApplication-3.2.0-dc8042b && /usr/bin/arm-linux-gnueabihf-g++ -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b -I/<>/third_party/SingleApplication-3.2.0-dc8042b -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/include -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIC -fPIC -std=gnu++17 -o CMakeFiles/SingleApplication.dir/SingleApplication_autogen/mocs_compilation.cpp.o -c /<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/mocs_compilation.cpp [ 0%] Building CXX object third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/singleapplication.cpp.o cd /<>/build/third_party/SingleApplication-3.2.0-dc8042b && /usr/bin/arm-linux-gnueabihf-g++ -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b -I/<>/third_party/SingleApplication-3.2.0-dc8042b -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/include -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIC -fPIC -std=gnu++17 -o CMakeFiles/SingleApplication.dir/singleapplication.cpp.o -c /<>/third_party/SingleApplication-3.2.0-dc8042b/singleapplication.cpp [ 1%] Building CXX object third_party/SingleApplication-3.2.0-dc8042b/CMakeFiles/SingleApplication.dir/singleapplication_p.cpp.o cd /<>/build/third_party/SingleApplication-3.2.0-dc8042b && /usr/bin/arm-linux-gnueabihf-g++ -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b -I/<>/third_party/SingleApplication-3.2.0-dc8042b -I/<>/build/third_party/SingleApplication-3.2.0-dc8042b/SingleApplication_autogen/include -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIC -fPIC -std=gnu++17 -o CMakeFiles/SingleApplication.dir/singleapplication_p.cpp.o -c /<>/third_party/SingleApplication-3.2.0-dc8042b/singleapplication_p.cpp [ 1%] Linking CXX static library libSingleApplication.a cd /<>/build/third_party/SingleApplication-3.2.0-dc8042b && /usr/bin/cmake -P CMakeFiles/SingleApplication.dir/cmake_clean_target.cmake cd /<>/build/third_party/SingleApplication-3.2.0-dc8042b && /usr/bin/cmake -E cmake_link_script CMakeFiles/SingleApplication.dir/link.txt --verbose=1 /usr/bin/arm-linux-gnueabihf-ar qc libSingleApplication.a CMakeFiles/SingleApplication.dir/SingleApplication_autogen/mocs_compilation.cpp.o CMakeFiles/SingleApplication.dir/singleapplication.cpp.o CMakeFiles/SingleApplication.dir/singleapplication_p.cpp.o /usr/bin/arm-linux-gnueabihf-ranlib libSingleApplication.a make[4]: Leaving directory '/<>/build' [ 1%] Built target SingleApplication make -f CMakeFiles/nheko.dir/build.make CMakeFiles/nheko.dir/depend make[4]: Entering directory '/<>/build' [ 1%] Generating nheko_zh_CN.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_zh_CN.ts -qm /<>/build/nheko_zh_CN.qm Updating '/<>/build/nheko_zh_CN.qm'... Generated 152 translation(s) (135 finished and 17 unfinished) Ignored 283 untranslated source text(s) [ 2%] Generating src/dialogs/moc_CreateRoom.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_CreateRoom.cpp_parameters [ 2%] Generating src/dialogs/moc_FallbackAuth.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_FallbackAuth.cpp_parameters [ 3%] Generating src/dialogs/moc_ImageOverlay.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_ImageOverlay.cpp_parameters [ 3%] Generating src/dialogs/moc_InviteUsers.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_InviteUsers.cpp_parameters [ 3%] Generating src/dialogs/moc_JoinRoom.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_JoinRoom.cpp_parameters [ 4%] Generating src/dialogs/moc_LeaveRoom.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_LeaveRoom.cpp_parameters [ 4%] Generating src/dialogs/moc_Logout.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_Logout.cpp_parameters [ 4%] Generating src/dialogs/moc_MemberList.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_MemberList.cpp_parameters [ 5%] Generating src/dialogs/moc_PreviewUploadOverlay.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_PreviewUploadOverlay.cpp_parameters [ 5%] Generating src/dialogs/moc_RawMessage.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_RawMessage.cpp_parameters [ 5%] Generating src/dialogs/moc_ReCaptcha.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_ReCaptcha.cpp_parameters [ 6%] Generating src/dialogs/moc_ReadReceipts.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_ReadReceipts.cpp_parameters [ 6%] Generating src/dialogs/moc_RoomSettings.cpp cd /<>/build/src/dialogs && /usr/lib/qt5/bin/moc @/<>/build/src/dialogs/moc_RoomSettings.cpp_parameters [ 7%] Generating src/emoji/moc_EmojiModel.cpp cd /<>/build/src/emoji && /usr/lib/qt5/bin/moc @/<>/build/src/emoji/moc_EmojiModel.cpp_parameters [ 7%] Generating src/emoji/moc_Provider.cpp cd /<>/build/src/emoji && /usr/lib/qt5/bin/moc @/<>/build/src/emoji/moc_Provider.cpp_parameters [ 7%] Generating src/timeline/moc_EventStore.cpp cd /<>/build/src/timeline && /usr/lib/qt5/bin/moc @/<>/build/src/timeline/moc_EventStore.cpp_parameters [ 8%] Generating src/timeline/moc_InputBar.cpp cd /<>/build/src/timeline && /usr/lib/qt5/bin/moc @/<>/build/src/timeline/moc_InputBar.cpp_parameters [ 8%] Generating src/timeline/moc_Reaction.cpp cd /<>/build/src/timeline && /usr/lib/qt5/bin/moc @/<>/build/src/timeline/moc_Reaction.cpp_parameters [ 8%] Generating src/timeline/moc_TimelineViewManager.cpp cd /<>/build/src/timeline && /usr/lib/qt5/bin/moc @/<>/build/src/timeline/moc_TimelineViewManager.cpp_parameters [ 9%] Generating src/timeline/moc_TimelineModel.cpp cd /<>/build/src/timeline && /usr/lib/qt5/bin/moc @/<>/build/src/timeline/moc_TimelineModel.cpp_parameters [ 9%] Generating src/timeline/moc_DelegateChooser.cpp cd /<>/build/src/timeline && /usr/lib/qt5/bin/moc @/<>/build/src/timeline/moc_DelegateChooser.cpp_parameters [ 10%] Generating src/ui/moc_Avatar.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_Avatar.cpp_parameters [ 10%] Generating src/ui/moc_Badge.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_Badge.cpp_parameters [ 10%] Generating src/ui/moc_LoadingIndicator.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_LoadingIndicator.cpp_parameters [ 11%] Generating src/ui/moc_InfoMessage.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_InfoMessage.cpp_parameters [ 11%] Generating src/ui/moc_FlatButton.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_FlatButton.cpp_parameters [ 11%] Generating src/ui/moc_Label.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_Label.cpp_parameters [ 12%] Generating src/ui/moc_FloatingButton.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_FloatingButton.cpp_parameters [ 12%] Generating src/ui/moc_Menu.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_Menu.cpp_parameters [ 13%] Generating src/ui/moc_NhekoDropArea.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_NhekoDropArea.cpp_parameters [ 13%] Generating src/ui/moc_OverlayWidget.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_OverlayWidget.cpp_parameters [ 13%] Generating src/ui/moc_SnackBar.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_SnackBar.cpp_parameters [ 14%] Generating src/ui/moc_RaisedButton.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_RaisedButton.cpp_parameters [ 14%] Generating src/ui/moc_Ripple.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_Ripple.cpp_parameters [ 14%] Generating src/ui/moc_RippleOverlay.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_RippleOverlay.cpp_parameters [ 15%] Generating src/ui/moc_TextField.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_TextField.cpp_parameters [ 15%] Generating src/ui/moc_TextLabel.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_TextLabel.cpp_parameters [ 15%] Generating src/ui/moc_ToggleButton.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_ToggleButton.cpp_parameters [ 16%] Generating src/ui/moc_Theme.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_Theme.cpp_parameters [ 16%] Generating src/ui/moc_ThemeManager.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_ThemeManager.cpp_parameters [ 17%] Generating src/ui/moc_UserProfile.cpp cd /<>/build/src/ui && /usr/lib/qt5/bin/moc @/<>/build/src/ui/moc_UserProfile.cpp_parameters [ 17%] Generating src/notifications/moc_Manager.cpp cd /<>/build/src/notifications && /usr/lib/qt5/bin/moc @/<>/build/src/notifications/moc_Manager.cpp_parameters [ 17%] Generating src/moc_AvatarProvider.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_AvatarProvider.cpp_parameters [ 18%] Generating src/moc_BlurhashProvider.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_BlurhashProvider.cpp_parameters [ 18%] Generating src/moc_Cache_p.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_Cache_p.cpp_parameters [ 18%] Generating src/moc_CallManager.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_CallManager.cpp_parameters [ 19%] Generating src/moc_ChatPage.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_ChatPage.cpp_parameters [ 19%] Generating src/moc_CommunitiesList.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_CommunitiesList.cpp_parameters [ 20%] Generating src/moc_CommunitiesListItem.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_CommunitiesListItem.cpp_parameters [ 20%] Generating src/moc_CompletionProxyModel.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_CompletionProxyModel.cpp_parameters [ 20%] Generating src/moc_DeviceVerificationFlow.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_DeviceVerificationFlow.cpp_parameters [ 21%] Generating src/moc_InviteeItem.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_InviteeItem.cpp_parameters [ 21%] Generating src/moc_LoginPage.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_LoginPage.cpp_parameters [ 21%] Generating src/moc_MainWindow.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_MainWindow.cpp_parameters [ 22%] Generating src/moc_MxcImageProvider.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_MxcImageProvider.cpp_parameters [ 22%] Generating src/moc_QuickSwitcher.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_QuickSwitcher.cpp_parameters [ 23%] Generating src/moc_RegisterPage.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_RegisterPage.cpp_parameters [ 23%] Generating src/moc_RoomInfoListItem.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_RoomInfoListItem.cpp_parameters [ 23%] Generating src/moc_RoomList.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_RoomList.cpp_parameters [ 24%] Generating src/moc_SSOHandler.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_SSOHandler.cpp_parameters [ 24%] Generating src/moc_SideBarActions.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_SideBarActions.cpp_parameters [ 24%] Generating src/moc_Splitter.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_Splitter.cpp_parameters [ 25%] Generating src/moc_TrayIcon.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_TrayIcon.cpp_parameters [ 25%] Generating src/moc_UserInfoWidget.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_UserInfoWidget.cpp_parameters [ 25%] Generating src/moc_UserSettingsPage.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_UserSettingsPage.cpp_parameters [ 26%] Generating src/moc_UsersModel.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_UsersModel.cpp_parameters /<>/src/UsersModel.h:0: Note: No relevant classes found. No output generated. [ 26%] Generating src/moc_WebRTCSession.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_WebRTCSession.cpp_parameters [ 27%] Generating src/moc_WelcomePage.cpp cd /<>/build/src && /usr/lib/qt5/bin/moc @/<>/build/src/moc_WelcomePage.cpp_parameters [ 27%] Generating src/popups/moc_PopupItem.cpp cd /<>/build/src/popups && /usr/lib/qt5/bin/moc @/<>/build/src/popups/moc_PopupItem.cpp_parameters [ 27%] Generating src/popups/moc_SuggestionsPopup.cpp cd /<>/build/src/popups && /usr/lib/qt5/bin/moc @/<>/build/src/popups/moc_SuggestionsPopup.cpp_parameters [ 28%] Generating src/popups/moc_UserMentions.cpp cd /<>/build/src/popups && /usr/lib/qt5/bin/moc @/<>/build/src/popups/moc_UserMentions.cpp_parameters [ 29%] Generating nheko_cs.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_cs.ts -qm /<>/build/nheko_cs.qm Updating '/<>/build/nheko_cs.qm'... Generated 0 translation(s) (0 finished and 0 unfinished) Ignored 435 untranslated source text(s) [ 29%] Generating nheko_de.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_de.ts -qm /<>/build/nheko_de.qm Updating '/<>/build/nheko_de.qm'... Generated 434 translation(s) (434 finished and 0 unfinished) Ignored 1 untranslated source text(s) [ 30%] Generating nheko_el.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_el.ts -qm /<>/build/nheko_el.qm Updating '/<>/build/nheko_el.qm'... Generated 76 translation(s) (43 finished and 33 unfinished) Ignored 359 untranslated source text(s) [ 30%] Generating nheko_en.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_en.ts -qm /<>/build/nheko_en.qm Updating '/<>/build/nheko_en.qm'... Generated 434 translation(s) (434 finished and 0 unfinished) Ignored 1 untranslated source text(s) [ 30%] Generating nheko_eo.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_eo.ts -qm /<>/build/nheko_eo.qm Updating '/<>/build/nheko_eo.qm'... Generated 96 translation(s) (88 finished and 8 unfinished) Ignored 339 untranslated source text(s) [ 31%] Generating nheko_et.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_et.ts -qm /<>/build/nheko_et.qm Updating '/<>/build/nheko_et.qm'... Generated 434 translation(s) (434 finished and 0 unfinished) Ignored 1 untranslated source text(s) [ 31%] Generating nheko_fi.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_fi.ts -qm /<>/build/nheko_fi.qm Updating '/<>/build/nheko_fi.qm'... Generated 195 translation(s) (185 finished and 10 unfinished) Ignored 240 untranslated source text(s) [ 31%] Generating nheko_fr.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_fr.ts -qm /<>/build/nheko_fr.qm Updating '/<>/build/nheko_fr.qm'... Generated 432 translation(s) (422 finished and 10 unfinished) Ignored 3 untranslated source text(s) [ 32%] Generating nheko_hu.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_hu.ts -qm /<>/build/nheko_hu.qm Updating '/<>/build/nheko_hu.qm'... Generated 59 translation(s) (50 finished and 9 unfinished) Ignored 376 untranslated source text(s) [ 32%] Generating nheko_it.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_it.ts -qm /<>/build/nheko_it.qm Updating '/<>/build/nheko_it.qm'... Generated 277 translation(s) (252 finished and 25 unfinished) Ignored 158 untranslated source text(s) [ 33%] Generating nheko_ja.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_ja.ts -qm /<>/build/nheko_ja.qm Updating '/<>/build/nheko_ja.qm'... Generated 234 translation(s) (197 finished and 37 unfinished) Ignored 201 untranslated source text(s) [ 33%] Generating nheko_nl.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_nl.ts -qm /<>/build/nheko_nl.qm Updating '/<>/build/nheko_nl.qm'... Generated 89 translation(s) (57 finished and 32 unfinished) Ignored 346 untranslated source text(s) [ 33%] Generating nheko_pl.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_pl.ts -qm /<>/build/nheko_pl.qm Updating '/<>/build/nheko_pl.qm'... Generated 214 translation(s) (191 finished and 23 unfinished) Ignored 221 untranslated source text(s) [ 34%] Generating nheko_pt_PT.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_pt_PT.ts -qm /<>/build/nheko_pt_PT.qm Updating '/<>/build/nheko_pt_PT.qm'... Generated 0 translation(s) (0 finished and 0 unfinished) Ignored 435 untranslated source text(s) [ 34%] Generating nheko_ro.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_ro.ts -qm /<>/build/nheko_ro.qm Updating '/<>/build/nheko_ro.qm'... Generated 271 translation(s) (260 finished and 11 unfinished) Ignored 164 untranslated source text(s) [ 34%] Generating nheko_ru.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_ru.ts -qm /<>/build/nheko_ru.qm Updating '/<>/build/nheko_ru.qm'... Generated 398 translation(s) (388 finished and 10 unfinished) Ignored 37 untranslated source text(s) [ 35%] Generating nheko_si.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_si.ts -qm /<>/build/nheko_si.qm Updating '/<>/build/nheko_si.qm'... Generated 0 translation(s) (0 finished and 0 unfinished) Ignored 435 untranslated source text(s) [ 35%] Generating nheko_sv.qm /usr/lib/qt5/bin/lrelease /<>/resources/langs/nheko_sv.ts -qm /<>/build/nheko_sv.qm Updating '/<>/build/nheko_sv.qm'... Generated 434 translation(s) (434 finished and 0 unfinished) Ignored 1 untranslated source text(s) [ 35%] Generating qrc_translations.cpp /usr/lib/qt5/bin/rcc --name translations --output /<>/build/qrc_translations.cpp /<>/build/translations.qrc [ 35%] Generating qrc_res.cpp /usr/lib/qt5/bin/rcc --name res --output /<>/build/qrc_res.cpp /<>/resources/res.qrc cd /<>/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<> /<>/build /<>/build /<>/build/CMakeFiles/nheko.dir/DependInfo.cmake --color= Dependee "/<>/build/CMakeFiles/nheko.dir/DependInfo.cmake" is newer than depender "/<>/build/CMakeFiles/nheko.dir/depend.internal". Dependee "/<>/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/<>/build/CMakeFiles/nheko.dir/depend.internal". Scanning dependencies of target nheko make[4]: Leaving directory '/<>/build' make -f CMakeFiles/nheko.dir/build.make CMakeFiles/nheko.dir/build make[4]: Entering directory '/<>/build' [ 36%] Building CXX object CMakeFiles/nheko.dir/cmake_pch.hxx.gch /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -x c++-header -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/cmake_pch.hxx.gch -c /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx.cxx [ 36%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cpp.o -c /<>/src/dialogs/CreateRoom.cpp [ 37%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/FallbackAuth.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/FallbackAuth.cpp.o -c /<>/src/dialogs/FallbackAuth.cpp [ 37%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cpp.o -c /<>/src/dialogs/ImageOverlay.cpp [ 37%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cpp.o -c /<>/src/dialogs/InviteUsers.cpp [ 38%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cpp.o -c /<>/src/dialogs/JoinRoom.cpp [ 38%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cpp.o -c /<>/src/dialogs/LeaveRoom.cpp [ 38%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/Logout.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/Logout.cpp.o -c /<>/src/dialogs/Logout.cpp [ 39%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/MemberList.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/MemberList.cpp.o -c /<>/src/dialogs/MemberList.cpp [ 39%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/PreviewUploadOverlay.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/PreviewUploadOverlay.cpp.o -c /<>/src/dialogs/PreviewUploadOverlay.cpp [ 40%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/ReCaptcha.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/ReCaptcha.cpp.o -c /<>/src/dialogs/ReCaptcha.cpp [ 40%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cpp.o -c /<>/src/dialogs/ReadReceipts.cpp [ 40%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o -c /<>/src/dialogs/RoomSettings.cpp [ 41%] Building CXX object CMakeFiles/nheko.dir/src/emoji/EmojiModel.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/emoji/EmojiModel.cpp.o -c /<>/src/emoji/EmojiModel.cpp [ 41%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Provider_new.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/emoji/Provider_new.cpp.o -c /<>/src/emoji/Provider_new.cpp [ 41%] Building CXX object CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o -c /<>/src/timeline/EventStore.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >&}; _Tp = std::variant, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >; _Alloc = std::allocator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const mtx::events::EncryptedEvent&}; _Tp = mtx::events::EncryptedEvent; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:60, from /usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h:56, from /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:54, from /usr/include/arm-linux-gnueabihf/qt5/QtCore/QObject:1, from /<>/src/timeline/EventStore.h:7, from /<>/src/timeline/EventStore.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2193:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2193 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<>}; _Key = std::__cxx11::basic_string; _Val = std::pair, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st, nlohmann::basic_json<> > >; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h:2458:7: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 2458 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/map:61, from /usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h:56, from /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:54, from /usr/include/arm-linux-gnueabihf/qt5/QtCore/QObject:1, from /<>/src/timeline/EventStore.h:7, from /<>/src/timeline/EventStore.cpp:1: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = nlohmann::basic_json<>; _Compare = std::less; _Alloc = std::allocator, nlohmann::basic_json<> > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h: In member function ‘bool nlohmann::detail::json_sax_dom_callback_parser::key(nlohmann::detail::json_sax_dom_callback_parser::string_t&) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h:501:37: note: parameter passing for argument of type ‘std::_Rb_tree, std::pair, nlohmann::basic_json<> >, std::_Select1st, nlohmann::basic_json<> > >, std::less, std::allocator, nlohmann::basic_json<> > > >::const_iterator’ changed in GCC 7.1 501 | __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 |  std::tuple(__k), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 503 |  std::tuple<>()); | ~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:67, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h: In member function ‘void nlohmann::basic_json::push_back(const nlohmann::basic_json&) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1198:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 1198 | _M_realloc_insert(end(), __x); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::_M_erase(std::vector<_Tp, _Alloc>::iterator) [with _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:171:5: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 171 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:67, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h: In member function ‘IteratorType nlohmann::basic_json::erase(IteratorType) [with IteratorType = nlohmann::detail::iter_impl >; typename std::enable_if<(std::is_same > >::value || std::is_same > >::value), int>::type = 0; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1431:24: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 1431 | { return _M_erase(begin() + (__position - cbegin())); } | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::detail::value_t}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_array(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::json_sax_dom_parser::start_object(std::size_t) [with BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {bool&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘BasicJsonType* nlohmann::detail::json_sax_dom_parser::handle_value(Value&&) [with Value = bool&; BasicJsonType = nlohmann::basic_json<>]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘bool nlohmann::detail::parser::sax_parse_internal(SAX*) [with SAX = nlohmann::detail::json_sax_dom_parser >; BasicJsonType = nlohmann::basic_json<>; InputAdapterType = nlohmann::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator > >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:67, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h: In member function ‘mtx::events::collections::TimelineEvents* EventStore::decryptEvent(const EventStore::IdIndex&, const mtx::events::EncryptedEvent&)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1198:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector > >’ changed in GCC 7.1 1198 | _M_realloc_insert(end(), __x); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h:1198:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector > >’ changed in GCC 7.1 1198 | _M_realloc_insert(end(), __x); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void EventStore::addPending(mtx::events::collections::TimelineEvents)’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent >*, std::vector, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::StateEvent, mtx::events::EncryptedEvent, mtx::events::RedactionEvent, mtx::events::Sticker, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent, mtx::events::RoomEvent > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 42%] Building CXX object CMakeFiles/nheko.dir/src/timeline/InputBar.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/timeline/InputBar.cpp.o -c /<>/src/timeline/InputBar.cpp [ 42%] Building CXX object CMakeFiles/nheko.dir/src/timeline/Reaction.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/timeline/Reaction.cpp.o -c /<>/src/timeline/Reaction.cpp [ 43%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cpp.o -c /<>/src/timeline/TimelineViewManager.cpp [ 43%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineModel.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/timeline/TimelineModel.cpp.o -c /<>/src/timeline/TimelineModel.cpp In file included from /usr/arm-linux-gnueabihf/include/c++/10/vector:72, from /usr/arm-linux-gnueabihf/include/c++/10/functional:62, from /usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/arm-linux-gnueabihf/include/c++/10/algorithm:74, from /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx:6, from : /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ changed in GCC 7.1 426 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc: In function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {nlohmann::basic_json, std::allocator >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector > >}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator >]’: /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:121:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 43%] Building CXX object CMakeFiles/nheko.dir/src/timeline/DelegateChooser.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/timeline/DelegateChooser.cpp.o -c /<>/src/timeline/DelegateChooser.cpp [ 44%] Building CXX object CMakeFiles/nheko.dir/src/ui/Avatar.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/Avatar.cpp.o -c /<>/src/ui/Avatar.cpp [ 44%] Building CXX object CMakeFiles/nheko.dir/src/ui/Badge.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/Badge.cpp.o -c /<>/src/ui/Badge.cpp [ 44%] Building CXX object CMakeFiles/nheko.dir/src/ui/DropShadow.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/DropShadow.cpp.o -c /<>/src/ui/DropShadow.cpp [ 45%] Building CXX object CMakeFiles/nheko.dir/src/ui/FlatButton.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/FlatButton.cpp.o -c /<>/src/ui/FlatButton.cpp [ 45%] Building CXX object CMakeFiles/nheko.dir/src/ui/FloatingButton.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/FloatingButton.cpp.o -c /<>/src/ui/FloatingButton.cpp [ 45%] Building CXX object CMakeFiles/nheko.dir/src/ui/InfoMessage.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/InfoMessage.cpp.o -c /<>/src/ui/InfoMessage.cpp [ 46%] Building CXX object CMakeFiles/nheko.dir/src/ui/Label.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/Label.cpp.o -c /<>/src/ui/Label.cpp [ 46%] Building CXX object CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cpp.o -c /<>/src/ui/LoadingIndicator.cpp [ 47%] Building CXX object CMakeFiles/nheko.dir/src/ui/NhekoDropArea.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/NhekoDropArea.cpp.o -c /<>/src/ui/NhekoDropArea.cpp [ 47%] Building CXX object CMakeFiles/nheko.dir/src/ui/OverlayModal.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/OverlayModal.cpp.o -c /<>/src/ui/OverlayModal.cpp [ 47%] Building CXX object CMakeFiles/nheko.dir/src/ui/OverlayWidget.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/OverlayWidget.cpp.o -c /<>/src/ui/OverlayWidget.cpp [ 48%] Building CXX object CMakeFiles/nheko.dir/src/ui/RaisedButton.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/RaisedButton.cpp.o -c /<>/src/ui/RaisedButton.cpp [ 48%] Building CXX object CMakeFiles/nheko.dir/src/ui/Ripple.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/Ripple.cpp.o -c /<>/src/ui/Ripple.cpp [ 48%] Building CXX object CMakeFiles/nheko.dir/src/ui/RippleOverlay.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/RippleOverlay.cpp.o -c /<>/src/ui/RippleOverlay.cpp [ 49%] Building CXX object CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o /usr/bin/arm-linux-gnueabihf-g++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/<>/build -I/<> -I/<>/src -I/<>/includes -I/<>/third_party/blurhash -I/<>/third_party/cpp-httplib-0.5.12 -I/usr/include/tweeny -I/<>/third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -O2 -g -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx -o CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o -c /<>/src/ui/SnackBar.cpp In file included from /usr/include/tweeny/tween.h:595, from /usr/include/tweeny/tweeny.h:81, from /<>/src/ui/SnackBar.cpp:3: /usr/include/tweeny/tween.tcc:249:6: warning: extra ‘;’ [-Wpedantic] 249 | }; | ^ /usr/include/tweeny/tween.tcc:257:6: warning: extra ‘;’ [-Wpedantic] 257 | }; | ^ In file included from /usr/include/tweeny/tween.h:596, from /usr/include/tweeny/tweeny.h:81, from /<>/src/ui/SnackBar.cpp:3: /usr/include/tweeny/tweenone.tcc:246:4: warning: extra ‘;’ [-Wpedantic] 246 | }; | ^ In file included from /usr/include/tweeny/tweenpoint.tcc:38, from /usr/include/tweeny/tweenpoint.h:80, from /usr/include/tweeny/tween.h:38, from /usr/include/tweeny/tweeny.h:81, from /<>/src/ui/SnackBar.cpp:3: /usr/include/tweeny/easingresolve.h: In substitution of ‘template std::function& std::function::operator=<_Functor>(std::reference_wrapper<_Tp>) [with _Functor = ]’: /usr/include/tweeny/easingresolve.h:62:27: required from ‘static void tweeny::detail::easingresolve::impl(FunctionTuple&, tweeny::easing::linearEasing, Fs ...) [with int I = 0; TypeTuple = std::array; FunctionTuple = std::tuple >; Fs = {}]’ /usr/include/tweeny/tweenpoint.tcc:49:75: required from ‘void tweeny::detail::easingfill(EasingCollectionT&, EasingT, tweeny::detail::int2type<0>) [with TypeTupleT = std::array; EasingCollectionT = std::tuple >; EasingT = tweeny::easing::linearEasing]’ /usr/include/tweeny/tweenpoint.tcc:101:52: required from ‘void tweeny::detail::tweenpoint::via(F) [with F = tweeny::easing::linearEasing; Ts = {float}]’ /usr/include/tweeny/tweenpoint.tcc:72:16: required from ‘tweeny::detail::tweenpoint::tweenpoint(Ts ...) [with Ts = {float}]’ /usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h:150:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = tweeny::detail::tweenpoint; _Args = {float&}; _Tp = tweeny::detail::tweenpoint]’ /usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h:512:17: required from ‘static void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = tweeny::detail::tweenpoint; _Args = {float&}; _Tp = tweeny::detail::tweenpoint; std::allocator_traits >::allocator_type = std::allocator >]’ /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:115:30: required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float&}; _Tp = tweeny::detail::tweenpoint; _Alloc = std::allocator >; std::vector<_Tp, _Alloc>::reference = tweeny::detail::tweenpoint&]’ /usr/include/tweeny/tweenone.tcc:43:28: required from ‘tweeny::tween& tweeny::tween::to(T) [with T = float]’ /<>/src/ui/SnackBar.cpp:27:54: required from here /usr/include/tweeny/easingresolve.h:62:27: internal compiler error: Segmentation fault 62 | get(b) = easing::linear.run; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0xc20dbf crash_signal ../../src/gcc/toplev.c:328 0x71cf00 maybe_instantiate_noexcept(tree_node*, int) ../../src/gcc/cp/pt.c:25359 0x721a9e resolve_overloaded_unification ../../src/gcc/cp/pt.c:22255 0x721a9e unify_one_argument ../../src/gcc/cp/pt.c:21801 0x734318 type_unification_real ../../src/gcc/cp/pt.c:21945 0x738e44 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, bool, bool) ../../src/gcc/cp/pt.c:21325 0x60b9c5 add_template_candidate_real ../../src/gcc/cp/call.c:3417 0x60c11c add_template_candidate ../../src/gcc/cp/call.c:3502 0x60c11c add_candidates ../../src/gcc/cp/call.c:5855 0x60ca0e add_candidates ../../src/gcc/cp/call.c:5770 0x60ca0e add_operator_candidates ../../src/gcc/cp/call.c:5974 0x6116ea build_new_op_1 ../../src/gcc/cp/call.c:6182 0x61227d build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int) ../../src/gcc/cp/call.c:6573 0x77e7a2 cp_build_modify_expr(unsigned int, tree_node*, tree_code, tree_node*, int) ../../src/gcc/cp/typeck.c:8574 0x77ec29 build_x_modify_expr(unsigned int, tree_node*, tree_code, tree_node*, int) ../../src/gcc/cp/typeck.c:8833 0x71a5b4 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:19675 0x72b854 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:19217 0x72b854 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:18829 0x72ca0c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:17895 0x72ca0c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:17940 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. Preprocessed source stored into /tmp/ccDrvQOn.out file, please attach this to your bugreport. === BEGIN GCC DUMP === 32020: // Target: arm-linux-gnueabihf 32020: // Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --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-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --without-target-system-zlib --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf- --includedir=/usr/arm-linux-gnueabihf/include --with-build-config=bootstrap-lto-lean --enable-link-mutex 32020: // Thread model: posix 32020: // Supported LTO compression algorithms: zlib 32020: // gcc version 10.2.1 20210110 (Debian 10.2.1-6) 32020: // 32020: // In file included from /usr/include/tweeny/tween.h:595, 32020: // from /usr/include/tweeny/tweeny.h:81, 32020: // from /<>/src/ui/SnackBar.cpp:3: 32020: // /usr/include/tweeny/tween.tcc:249:6: warning: extra ‘;’ [-Wpedantic] 32020: // 249 | }; 32020: // | ^ 32020: // /usr/include/tweeny/tween.tcc:257:6: warning: extra ‘;’ [-Wpedantic] 32020: // 257 | }; 32020: // | ^ 32020: // In file included from /usr/include/tweeny/tween.h:596, 32020: // from /usr/include/tweeny/tweeny.h:81, 32020: // from /<>/src/ui/SnackBar.cpp:3: 32020: // /usr/include/tweeny/tweenone.tcc:246:4: warning: extra ‘;’ [-Wpedantic] 32020: // 246 | }; 32020: // | ^ 32020: // In file included from /usr/include/tweeny/tweenpoint.tcc:38, 32020: // from /usr/include/tweeny/tweenpoint.h:80, 32020: // from /usr/include/tweeny/tween.h:38, 32020: // from /usr/include/tweeny/tweeny.h:81, 32020: // from /<>/src/ui/SnackBar.cpp:3: 32020: // /usr/include/tweeny/easingresolve.h: In substitution of ‘template std::function& std::function::operator=<_Functor>(std::reference_wrapper<_Tp>) [with _Functor = ]’: 32020: // /usr/include/tweeny/easingresolve.h:62:27: required from ‘static void tweeny::detail::easingresolve::impl(FunctionTuple&, tweeny::easing::linearEasing, Fs ...) [with int I = 0; TypeTuple = std::array; FunctionTuple = std::tuple >; Fs = {}]’ 32020: // /usr/include/tweeny/tweenpoint.tcc:49:75: required from ‘void tweeny::detail::easingfill(EasingCollectionT&, EasingT, tweeny::detail::int2type<0>) [with TypeTupleT = std::array; EasingCollectionT = std::tuple >; EasingT = tweeny::easing::linearEasing]’ 32020: // /usr/include/tweeny/tweenpoint.tcc:101:52: required from ‘void tweeny::detail::tweenpoint::via(F) [with F = tweeny::easing::linearEasing; Ts = {float}]’ 32020: // /usr/include/tweeny/tweenpoint.tcc:72:16: required from ‘tweeny::detail::tweenpoint::tweenpoint(Ts ...) [with Ts = {float}]’ 32020: // /usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h:150:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = tweeny::detail::tweenpoint; _Args = {float&}; _Tp = tweeny::detail::tweenpoint]’ 32020: // /usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h:512:17: required from ‘static void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = tweeny::detail::tweenpoint; _Args = {float&}; _Tp = tweeny::detail::tweenpoint; std::allocator_traits >::allocator_type = std::allocator >]’ 32020: // /usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc:115:30: required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float&}; _Tp = tweeny::detail::tweenpoint; _Alloc = std::allocator >; std::vector<_Tp, _Alloc>::reference = tweeny::detail::tweenpoint&]’ 32020: // /usr/include/tweeny/tweenone.tcc:43:28: required from ‘tweeny::tween& tweeny::tween::to(T) [with T = float]’ 32020: // /<>/src/ui/SnackBar.cpp:27:54: required from here 32020: // /usr/include/tweeny/easingresolve.h:62:27: internal compiler error: Segmentation fault 32020: // 62 | get(b) = easing::linear.run; 32020: // | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32020: // 0xc20dbf crash_signal 32020: // ../../src/gcc/toplev.c:328 32020: // 0x71cf00 maybe_instantiate_noexcept(tree_node*, int) 32020: // ../../src/gcc/cp/pt.c:25359 32020: // 0x721a9e resolve_overloaded_unification 32020: // ../../src/gcc/cp/pt.c:22255 32020: // 0x721a9e unify_one_argument 32020: // ../../src/gcc/cp/pt.c:21801 32020: // 0x734318 type_unification_real 32020: // ../../src/gcc/cp/pt.c:21945 32020: // 0x738e44 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, bool, bool) 32020: // ../../src/gcc/cp/pt.c:21325 32020: // 0x60b9c5 add_template_candidate_real 32020: // ../../src/gcc/cp/call.c:3417 32020: // 0x60c11c add_template_candidate 32020: // ../../src/gcc/cp/call.c:3502 32020: // 0x60c11c add_candidates 32020: // ../../src/gcc/cp/call.c:5855 32020: // 0x60ca0e add_candidates 32020: // ../../src/gcc/cp/call.c:5770 32020: // 0x60ca0e add_operator_candidates 32020: // ../../src/gcc/cp/call.c:5974 32020: // 0x6116ea build_new_op_1 32020: // ../../src/gcc/cp/call.c:6182 32020: // 0x61227d build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int) 32020: // ../../src/gcc/cp/call.c:6573 32020: // 0x77e7a2 cp_build_modify_expr(unsigned int, tree_node*, tree_code, tree_node*, int) 32020: // ../../src/gcc/cp/typeck.c:8574 32020: // 0x77ec29 build_x_modify_expr(unsigned int, tree_node*, tree_code, tree_node*, int) 32020: // ../../src/gcc/cp/typeck.c:8833 32020: // 0x71a5b4 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 32020: // ../../src/gcc/cp/pt.c:19675 32020: // 0x72b854 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 32020: // ../../src/gcc/cp/pt.c:19217 32020: // 0x72b854 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 32020: // ../../src/gcc/cp/pt.c:18829 32020: // 0x72ca0c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 32020: // ../../src/gcc/cp/pt.c:17895 32020: // 0x72ca0c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 32020: // ../../src/gcc/cp/pt.c:17940 32020: // Please submit a full bug report, 32020: // with preprocessed source if appropriate. 32020: // Please include the complete backtrace with any bug report. 32020: // See for instructions. 32020: 32020: // /usr/lib/gcc-cross/arm-linux-gnueabihf/10/cc1plus -quiet -I /<>/build -I /<> -I /<>/src -I /<>/includes -I /<>/third_party/blurhash -I /<>/third_party/cpp-httplib-0.5.12 -I /usr/include/tweeny -I /<>/third_party/SingleApplication-3.2.0-dc8042b -imultilib . -imultiarch arm-linux-gnueabihf -D_GNU_SOURCE -D_REENTRANT -D BOOST_ALL_NO_LIB -D BOOST_ATOMIC_DYN_LINK -D BOOST_IOSTREAMS_DYN_LINK -D BOOST_SYSTEM_DYN_LINK -D BOOST_THREAD_DYN_LINK -D FMT_LOCALE -D FMT_SHARED -D GSTREAMER_AVAILABLE -D JSON_USE_IMPLICIT_CONVERSIONS=1 -D QAPPLICATION_CLASS=QApplication -D QT_CONCURRENT_LIB -D QT_CORE_LIB -D QT_DBUS_LIB -D QT_GUI_LIB -D QT_MULTIMEDIA_LIB -D QT_NETWORK_LIB -D QT_NO_DEBUG -D QT_QMLMODELS_LIB -D QT_QML_LIB -D QT_QUICKCONTROLS2_LIB -D QT_QUICKWIDGETS_LIB -D QT_QUICK_LIB -D QT_SVG_LIB -D QT_WIDGETS_LIB -D SPDLOG_COMPILED_LIB -D SPDLOG_FMT_EXTERNAL -D SPDLOG_SHARED_LIB -D _FORTIFY_SOURCE=2 -D _FORTIFY_SOURCE=2 -D NDEBUG -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtDBus -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /<>/mtxclient/include -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSvg -isystem /usr/include/arm-linux-gnueabihf/qt5/QtConcurrent -isystem /usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuickWidgets -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -include /<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx /<>/src/ui/SnackBar.cpp -quiet -dumpbase SnackBar.cpp -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu -march=armv7-a+fp -auxbase-strip CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o -g -g -O2 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wextra -Wpedantic -Wno-attributes -Winvalid-pch -std=gnu++17 -fdiagnostics-color=always -ffile-prefix-map=/<>=. -fstack-protector-strong -fsized-deallocation -fPIC -o - -frandom-seed=0 -fdump-noaddr 32020: 32020: # 1 "/<>/src/ui/SnackBar.cpp" 32020: # 1 "/<>/build//" 32020: # 1 "" 32020: # 1 "" 32020: # 1 "/usr/arm-linux-gnueabihf/include/stdc-predef.h" 1 3 32020: # 1 "" 2 32020: # 1 "/<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx" 1 32020: 32020: 32020: 32020: # 4 "/<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/string" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/string" 3 32020: 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/string" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 1 3 32020: # 262 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 3 32020: 32020: # 262 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 3 32020: namespace std 32020: { 32020: typedef unsigned int size_t; 32020: typedef int ptrdiff_t; 32020: 32020: 32020: typedef decltype(nullptr) nullptr_t; 32020: 32020: } 32020: # 284 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 3 32020: namespace std 32020: { 32020: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 32020: } 32020: namespace __gnu_cxx 32020: { 32020: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 32020: } 32020: # 522 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/os_defines.h" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/os_defines.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/features.h" 1 3 32020: # 461 "/usr/arm-linux-gnueabihf/include/features.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/sys/cdefs.h" 1 3 32020: # 452 "/usr/arm-linux-gnueabihf/include/sys/cdefs.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 32020: # 453 "/usr/arm-linux-gnueabihf/include/sys/cdefs.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/long-double.h" 1 3 32020: # 454 "/usr/arm-linux-gnueabihf/include/sys/cdefs.h" 2 3 32020: # 462 "/usr/arm-linux-gnueabihf/include/features.h" 2 3 32020: # 485 "/usr/arm-linux-gnueabihf/include/features.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/gnu/stubs.h" 1 3 32020: # 10 "/usr/arm-linux-gnueabihf/include/gnu/stubs.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/gnu/stubs-hard.h" 1 3 32020: # 11 "/usr/arm-linux-gnueabihf/include/gnu/stubs.h" 2 3 32020: # 486 "/usr/arm-linux-gnueabihf/include/features.h" 2 3 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/os_defines.h" 2 3 32020: # 523 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/cpu_defines.h" 1 3 32020: # 526 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 2 3 32020: # 692 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/pstl_config.h" 1 3 32020: # 693 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++config.h" 2 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stringfwd.h" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stringfwd.h" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stringfwd.h" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/memoryfwd.h" 1 3 32020: # 46 "/usr/arm-linux-gnueabihf/include/c++/10/bits/memoryfwd.h" 3 32020: 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/bits/memoryfwd.h" 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/memoryfwd.h" 3 32020: template 32020: class allocator; 32020: 32020: 32020: template<> 32020: class allocator; 32020: 32020: 32020: 32020: 32020: template 32020: struct uses_allocator; 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stringfwd.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct char_traits; 32020: 32020: template<> struct char_traits; 32020: 32020: 32020: template<> struct char_traits; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> struct char_traits; 32020: template<> struct char_traits; 32020: 32020: 32020: namespace __cxx11 { 32020: 32020: template, 32020: typename _Alloc = allocator<_CharT> > 32020: class basic_string; 32020: 32020: } 32020: 32020: 32020: typedef basic_string string; 32020: 32020: 32020: 32020: typedef basic_string wstring; 32020: # 93 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stringfwd.h" 3 32020: typedef basic_string u16string; 32020: 32020: 32020: typedef basic_string u32string; 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 1 3 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functexcept.h" 1 3 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functexcept.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_defines.h" 1 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functexcept.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: void 32020: __throw_bad_exception(void) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_bad_alloc(void) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_bad_cast(void) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_bad_typeid(void) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_logic_error(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_domain_error(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_invalid_argument(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_length_error(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_out_of_range(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) 32020: __attribute__((__format__(__gnu_printf__, 1, 2))); 32020: 32020: void 32020: __throw_runtime_error(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_range_error(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_overflow_error(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_underflow_error(const char*) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_ios_failure(const char*) __attribute__((__noreturn__)); 32020: 32020: void 32020: __throw_ios_failure(const char*, int) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_system_error(int) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_future_error(int) __attribute__((__noreturn__)); 32020: 32020: 32020: void 32020: __throw_bad_function_call() __attribute__((__noreturn__)); 32020: 32020: 32020: } 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 3 32020: 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 3 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 3 32020: extern "C++" { 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: struct __true_type { }; 32020: struct __false_type { }; 32020: 32020: template 32020: struct __truth_type 32020: { typedef __false_type __type; }; 32020: 32020: template<> 32020: struct __truth_type 32020: { typedef __true_type __type; }; 32020: 32020: 32020: 32020: template 32020: struct __traitor 32020: { 32020: enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; 32020: typedef typename __truth_type<__value>::__type __type; 32020: }; 32020: 32020: 32020: template 32020: struct __are_same 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: template 32020: struct __are_same<_Tp, _Tp> 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: template 32020: struct __is_void 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_void 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_integer 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: # 184 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 3 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_integer 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: # 287 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 3 32020: template 32020: struct __is_floating 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: 32020: template<> 32020: struct __is_floating 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_floating 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_floating 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_pointer 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: template 32020: struct __is_pointer<_Tp*> 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_arithmetic 32020: : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_scalar 32020: : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_char 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_char 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: template<> 32020: struct __is_char 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: template 32020: struct __is_byte 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_byte 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_byte 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template<> 32020: struct __is_byte 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: 32020: enum class byte : unsigned char; 32020: 32020: template<> 32020: struct __is_byte 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: # 423 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cpp_type_traits.h" 3 32020: template struct iterator_traits; 32020: 32020: 32020: template 32020: struct __is_nonvolatile_trivially_copyable 32020: { 32020: enum { __value = __is_trivially_copyable(_Tp) }; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_nonvolatile_trivially_copyable 32020: { 32020: enum { __value = 0 }; 32020: }; 32020: 32020: 32020: template 32020: struct __memcpyable 32020: { 32020: enum { __value = 0 }; 32020: }; 32020: 32020: template 32020: struct __memcpyable<_Tp*, _Tp*> 32020: : __is_nonvolatile_trivially_copyable<_Tp> 32020: { }; 32020: 32020: template 32020: struct __memcpyable<_Tp*, const _Tp*> 32020: : __is_nonvolatile_trivially_copyable<_Tp> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __memcmpable 32020: { 32020: enum { __value = 0 }; 32020: }; 32020: 32020: 32020: template 32020: struct __memcmpable<_Tp*, _Tp*> 32020: : __is_nonvolatile_trivially_copyable<_Tp> 32020: { }; 32020: 32020: template 32020: struct __memcmpable 32020: : __is_nonvolatile_trivially_copyable<_Tp> 32020: { }; 32020: 32020: template 32020: struct __memcmpable<_Tp*, const _Tp*> 32020: : __is_nonvolatile_trivially_copyable<_Tp> 32020: { }; 32020: 32020: 32020: 32020: 32020: template::__value> 32020: struct __is_memcmp_ordered 32020: { 32020: static const bool __value = _Tp(-1) > _Tp(1); 32020: }; 32020: 32020: template 32020: struct __is_memcmp_ordered<_Tp, false> 32020: { 32020: static const bool __value = false; 32020: }; 32020: 32020: 32020: template 32020: struct __is_memcmp_ordered_with 32020: { 32020: static const bool __value = __is_memcmp_ordered<_Tp>::__value 32020: && __is_memcmp_ordered<_Up>::__value; 32020: }; 32020: 32020: template 32020: struct __is_memcmp_ordered_with<_Tp, _Up, false> 32020: { 32020: static const bool __value = false; 32020: }; 32020: 32020: 32020: 32020: template<> 32020: struct __is_memcmp_ordered_with 32020: { static constexpr bool __value = true; }; 32020: 32020: template 32020: struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize> 32020: { static constexpr bool __value = false; }; 32020: 32020: template 32020: struct __is_memcmp_ordered_with 32020: { static constexpr bool __value = false; }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_move_iterator 32020: { 32020: enum { __value = 0 }; 32020: typedef __false_type __type; 32020: }; 32020: 32020: 32020: 32020: template 32020: 32020: inline _Iterator 32020: __miter_base(_Iterator __it) 32020: { return __it; } 32020: 32020: 32020: } 32020: } 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/type_traits.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/type_traits.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/type_traits.h" 3 32020: 32020: 32020: 32020: 32020: extern "C++" { 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: struct __enable_if 32020: { }; 32020: 32020: template 32020: struct __enable_if 32020: { typedef _Tp __type; }; 32020: 32020: 32020: 32020: template 32020: struct __conditional_type 32020: { typedef _Iftrue __type; }; 32020: 32020: template 32020: struct __conditional_type 32020: { typedef _Iffalse __type; }; 32020: 32020: 32020: 32020: template 32020: struct __add_unsigned 32020: { 32020: private: 32020: typedef __enable_if::__value, _Tp> __if_type; 32020: 32020: public: 32020: typedef typename __if_type::__type __type; 32020: }; 32020: 32020: template<> 32020: struct __add_unsigned 32020: { typedef unsigned char __type; }; 32020: 32020: template<> 32020: struct __add_unsigned 32020: { typedef unsigned char __type; }; 32020: 32020: template<> 32020: struct __add_unsigned 32020: { typedef unsigned short __type; }; 32020: 32020: template<> 32020: struct __add_unsigned 32020: { typedef unsigned int __type; }; 32020: 32020: template<> 32020: struct __add_unsigned 32020: { typedef unsigned long __type; }; 32020: 32020: template<> 32020: struct __add_unsigned 32020: { typedef unsigned long long __type; }; 32020: 32020: 32020: template<> 32020: struct __add_unsigned; 32020: 32020: template<> 32020: struct __add_unsigned; 32020: 32020: 32020: 32020: template 32020: struct __remove_unsigned 32020: { 32020: private: 32020: typedef __enable_if::__value, _Tp> __if_type; 32020: 32020: public: 32020: typedef typename __if_type::__type __type; 32020: }; 32020: 32020: template<> 32020: struct __remove_unsigned 32020: { typedef signed char __type; }; 32020: 32020: template<> 32020: struct __remove_unsigned 32020: { typedef signed char __type; }; 32020: 32020: template<> 32020: struct __remove_unsigned 32020: { typedef short __type; }; 32020: 32020: template<> 32020: struct __remove_unsigned 32020: { typedef int __type; }; 32020: 32020: template<> 32020: struct __remove_unsigned 32020: { typedef long __type; }; 32020: 32020: template<> 32020: struct __remove_unsigned 32020: { typedef long long __type; }; 32020: 32020: 32020: template<> 32020: struct __remove_unsigned; 32020: 32020: template<> 32020: struct __remove_unsigned; 32020: 32020: 32020: 32020: template 32020: inline bool 32020: __is_null_pointer(_Type* __ptr) 32020: { return __ptr == 0; } 32020: 32020: template 32020: inline bool 32020: __is_null_pointer(_Type) 32020: { return false; } 32020: 32020: 32020: inline bool 32020: __is_null_pointer(std::nullptr_t) 32020: { return true; } 32020: 32020: 32020: 32020: template::__value> 32020: struct __promote 32020: { typedef double __type; }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __promote<_Tp, false> 32020: { }; 32020: 32020: template<> 32020: struct __promote 32020: { typedef long double __type; }; 32020: 32020: template<> 32020: struct __promote 32020: { typedef double __type; }; 32020: 32020: template<> 32020: struct __promote 32020: { typedef float __type; }; 32020: 32020: template::__type, 32020: typename _Up2 = typename __promote<_Up>::__type> 32020: struct __promote_2 32020: { 32020: typedef __typeof__(_Tp2() + _Up2()) __type; 32020: }; 32020: 32020: template::__type, 32020: typename _Up2 = typename __promote<_Up>::__type, 32020: typename _Vp2 = typename __promote<_Vp>::__type> 32020: struct __promote_3 32020: { 32020: typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; 32020: }; 32020: 32020: template::__type, 32020: typename _Up2 = typename __promote<_Up>::__type, 32020: typename _Vp2 = typename __promote<_Vp>::__type, 32020: typename _Wp2 = typename __promote<_Wp>::__type> 32020: struct __promote_4 32020: { 32020: typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; 32020: }; 32020: 32020: 32020: } 32020: } 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/numeric_traits.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/numeric_traits.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/numeric_traits.h" 3 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/ext/numeric_traits.h" 3 32020: template 32020: struct __is_integer_nonstrict 32020: : public std::__is_integer<_Tp> 32020: { 32020: using std::__is_integer<_Tp>::__value; 32020: 32020: 32020: enum { __width = __value ? sizeof(_Tp) * 8 : 0 }; 32020: }; 32020: 32020: template 32020: struct __numeric_traits_integer 32020: { 32020: 32020: static_assert(__is_integer_nonstrict<_Value>::__value, 32020: "invalid specialization"); 32020: 32020: 32020: 32020: 32020: static const bool __is_signed = (_Value)(-1) < 0; 32020: static const int __digits 32020: = __is_integer_nonstrict<_Value>::__width - __is_signed; 32020: 32020: 32020: static const _Value __max = __is_signed 32020: ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1) 32020: : ~(_Value)0; 32020: static const _Value __min = __is_signed ? -__max - 1 : (_Value)0; 32020: }; 32020: 32020: template 32020: const _Value __numeric_traits_integer<_Value>::__min; 32020: 32020: template 32020: const _Value __numeric_traits_integer<_Value>::__max; 32020: 32020: template 32020: const bool __numeric_traits_integer<_Value>::__is_signed; 32020: 32020: template 32020: const int __numeric_traits_integer<_Value>::__digits; 32020: # 135 "/usr/arm-linux-gnueabihf/include/c++/10/ext/numeric_traits.h" 3 32020: template 32020: using __int_traits = __numeric_traits_integer<_Tp>; 32020: # 155 "/usr/arm-linux-gnueabihf/include/c++/10/ext/numeric_traits.h" 3 32020: template 32020: struct __numeric_traits_floating 32020: { 32020: 32020: static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136); 32020: 32020: 32020: static const bool __is_signed = true; 32020: static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15); 32020: static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308); 32020: }; 32020: 32020: template 32020: const int __numeric_traits_floating<_Value>::__max_digits10; 32020: 32020: template 32020: const bool __numeric_traits_floating<_Value>::__is_signed; 32020: 32020: template 32020: const int __numeric_traits_floating<_Value>::__digits10; 32020: 32020: template 32020: const int __numeric_traits_floating<_Value>::__max_exponent10; 32020: 32020: template 32020: struct __numeric_traits 32020: : public __conditional_type<__is_integer_nonstrict<_Value>::__value, 32020: __numeric_traits_integer<_Value>, 32020: __numeric_traits_floating<_Value> >::__type 32020: { }; 32020: 32020: 32020: } 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 1 3 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 1 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr _Tp* 32020: __addressof(_Tp& __r) noexcept 32020: { return __builtin_addressof(__r); } 32020: 32020: 32020: 32020: 32020: } 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 56 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct integral_constant 32020: { 32020: static constexpr _Tp value = __v; 32020: typedef _Tp value_type; 32020: typedef integral_constant<_Tp, __v> type; 32020: constexpr operator value_type() const noexcept { return value; } 32020: 32020: 32020: 32020: 32020: constexpr value_type operator()() const noexcept { return value; } 32020: 32020: }; 32020: 32020: template 32020: constexpr _Tp integral_constant<_Tp, __v>::value; 32020: 32020: 32020: typedef integral_constant true_type; 32020: 32020: 32020: typedef integral_constant false_type; 32020: 32020: template 32020: using __bool_constant = integral_constant; 32020: 32020: 32020: 32020: template 32020: using bool_constant = integral_constant; 32020: 32020: 32020: 32020: 32020: template 32020: struct conditional; 32020: 32020: template 32020: struct __type_identity 32020: { using type = _Type; }; 32020: 32020: template 32020: using __type_identity_t = typename __type_identity<_Tp>::type; 32020: 32020: template 32020: struct __or_; 32020: 32020: template<> 32020: struct __or_<> 32020: : public false_type 32020: { }; 32020: 32020: template 32020: struct __or_<_B1> 32020: : public _B1 32020: { }; 32020: 32020: template 32020: struct __or_<_B1, _B2> 32020: : public conditional<_B1::value, _B1, _B2>::type 32020: { }; 32020: 32020: template 32020: struct __or_<_B1, _B2, _B3, _Bn...> 32020: : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type 32020: { }; 32020: 32020: template 32020: struct __and_; 32020: 32020: template<> 32020: struct __and_<> 32020: : public true_type 32020: { }; 32020: 32020: template 32020: struct __and_<_B1> 32020: : public _B1 32020: { }; 32020: 32020: template 32020: struct __and_<_B1, _B2> 32020: : public conditional<_B1::value, _B2, _B1>::type 32020: { }; 32020: 32020: template 32020: struct __and_<_B1, _B2, _B3, _Bn...> 32020: : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type 32020: { }; 32020: 32020: template 32020: struct __not_ 32020: : public __bool_constant 32020: { }; 32020: 32020: 32020: 32020: template 32020: inline constexpr bool __or_v = __or_<_Bn...>::value; 32020: template 32020: inline constexpr bool __and_v = __and_<_Bn...>::value; 32020: 32020: 32020: 32020: template 32020: struct conjunction 32020: : __and_<_Bn...> 32020: { }; 32020: 32020: template 32020: struct disjunction 32020: : __or_<_Bn...> 32020: { }; 32020: 32020: template 32020: struct negation 32020: : __not_<_Pp> 32020: { }; 32020: 32020: template 32020: inline constexpr bool conjunction_v = conjunction<_Bn...>::value; 32020: 32020: template 32020: inline constexpr bool disjunction_v = disjunction<_Bn...>::value; 32020: 32020: template 32020: inline constexpr bool negation_v = negation<_Pp>::value; 32020: 32020: 32020: 32020: 32020: template 32020: struct is_reference; 32020: template 32020: struct is_function; 32020: template 32020: struct is_void; 32020: template 32020: struct __is_array_unknown_bounds; 32020: 32020: 32020: 32020: 32020: template 32020: constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>) 32020: { return {}; } 32020: 32020: template 32020: constexpr typename __or_< 32020: is_reference<_NestedType>, 32020: is_function<_NestedType>, 32020: is_void<_NestedType>, 32020: __is_array_unknown_bounds<_NestedType> 32020: >::type __is_complete_or_unbounded(_TypeIdentity) 32020: { return {}; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __success_type 32020: { typedef _Tp type; }; 32020: 32020: struct __failure_type 32020: { }; 32020: 32020: template 32020: struct remove_cv; 32020: 32020: 32020: template 32020: using __remove_cv_t = typename remove_cv<_Tp>::type; 32020: 32020: template 32020: struct is_const; 32020: 32020: 32020: 32020: template 32020: struct __is_void_helper 32020: : public false_type { }; 32020: 32020: template<> 32020: struct __is_void_helper 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_void 32020: : public __is_void_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: template 32020: struct __is_integral_helper 32020: : public false_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: # 284 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_integral_helper 32020: : public true_type { }; 32020: # 364 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct is_integral 32020: : public __is_integral_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: template 32020: struct __is_floating_point_helper 32020: : public false_type { }; 32020: 32020: template<> 32020: struct __is_floating_point_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_floating_point_helper 32020: : public true_type { }; 32020: 32020: template<> 32020: struct __is_floating_point_helper 32020: : public true_type { }; 32020: # 392 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct is_floating_point 32020: : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_array 32020: : public false_type { }; 32020: 32020: template 32020: struct is_array<_Tp[_Size]> 32020: : public true_type { }; 32020: 32020: template 32020: struct is_array<_Tp[]> 32020: : public true_type { }; 32020: 32020: template 32020: struct __is_pointer_helper 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_pointer_helper<_Tp*> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_pointer 32020: : public __is_pointer_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_lvalue_reference 32020: : public false_type { }; 32020: 32020: template 32020: struct is_lvalue_reference<_Tp&> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_rvalue_reference 32020: : public false_type { }; 32020: 32020: template 32020: struct is_rvalue_reference<_Tp&&> 32020: : public true_type { }; 32020: 32020: template 32020: struct __is_member_object_pointer_helper 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_member_object_pointer_helper<_Tp _Cp::*> 32020: : public __not_>::type { }; 32020: 32020: 32020: template 32020: struct is_member_object_pointer 32020: : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: template 32020: struct __is_member_function_pointer_helper 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_member_function_pointer_helper<_Tp _Cp::*> 32020: : public is_function<_Tp>::type { }; 32020: 32020: 32020: template 32020: struct is_member_function_pointer 32020: : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_enum 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: template 32020: struct is_union 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: template 32020: struct is_class 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: template 32020: struct is_function 32020: : public __bool_constant::value> { }; 32020: 32020: template 32020: struct is_function<_Tp&> 32020: : public false_type { }; 32020: 32020: template 32020: struct is_function<_Tp&&> 32020: : public false_type { }; 32020: 32020: 32020: 32020: template 32020: struct __is_null_pointer_helper 32020: : public false_type { }; 32020: 32020: template<> 32020: struct __is_null_pointer_helper 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_null_pointer 32020: : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __is_nullptr_t 32020: : public is_null_pointer<_Tp> 32020: { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead"))); 32020: 32020: 32020: 32020: 32020: template 32020: struct is_reference 32020: : public __or_, 32020: is_rvalue_reference<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_arithmetic 32020: : public __or_, is_floating_point<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_fundamental 32020: : public __or_, is_void<_Tp>, 32020: is_null_pointer<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_object 32020: : public __not_<__or_, is_reference<_Tp>, 32020: is_void<_Tp>>>::type 32020: { }; 32020: 32020: template 32020: struct is_member_pointer; 32020: 32020: 32020: template 32020: struct is_scalar 32020: : public __or_, is_enum<_Tp>, is_pointer<_Tp>, 32020: is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_compound 32020: : public __not_>::type { }; 32020: 32020: template 32020: struct __is_member_pointer_helper 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_member_pointer_helper<_Tp _Cp::*> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_member_pointer 32020: : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type 32020: { }; 32020: 32020: template 32020: struct is_same; 32020: 32020: template 32020: using __is_one_of = __or_...>; 32020: 32020: 32020: template 32020: using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, 32020: signed char, signed short, signed int, signed long, 32020: signed long long 32020: # 604 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: >; 32020: 32020: 32020: template 32020: using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, 32020: unsigned char, unsigned short, unsigned int, unsigned long, 32020: unsigned long long 32020: # 623 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: >; 32020: 32020: 32020: template 32020: using __is_standard_integer 32020: = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>; 32020: 32020: 32020: template using __void_t = void; 32020: 32020: 32020: 32020: template 32020: struct __is_referenceable 32020: : public false_type 32020: { }; 32020: 32020: template 32020: struct __is_referenceable<_Tp, __void_t<_Tp&>> 32020: : public true_type 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct is_const 32020: : public false_type { }; 32020: 32020: template 32020: struct is_const<_Tp const> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_volatile 32020: : public false_type { }; 32020: 32020: template 32020: struct is_volatile<_Tp volatile> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_trivial 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_trivially_copyable 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_standard_layout 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: 32020: template 32020: struct 32020: 32020: is_pod 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_literal_type 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_empty 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: template 32020: struct is_polymorphic 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct is_final 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct is_abstract 32020: : public integral_constant 32020: { }; 32020: 32020: template::value> 32020: struct __is_signed_helper 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_signed_helper<_Tp, true> 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: template 32020: struct is_signed 32020: : public __is_signed_helper<_Tp>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_unsigned 32020: : public __and_, __not_>> 32020: { }; 32020: # 770 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: _Up 32020: __declval(int); 32020: 32020: template 32020: _Tp 32020: __declval(long); 32020: 32020: template 32020: auto declval() noexcept -> decltype(__declval<_Tp>(0)); 32020: 32020: template 32020: struct extent; 32020: 32020: template 32020: struct remove_all_extents; 32020: 32020: template 32020: struct __is_array_known_bounds 32020: : public integral_constant::value > 0)> 32020: { }; 32020: 32020: template 32020: struct __is_array_unknown_bounds 32020: : public __and_, __not_>> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct __do_is_destructible_impl 32020: { 32020: template().~_Tp())> 32020: static true_type __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: }; 32020: 32020: template 32020: struct __is_destructible_impl 32020: : public __do_is_destructible_impl 32020: { 32020: typedef decltype(__test<_Tp>(0)) type; 32020: }; 32020: 32020: template, 32020: __is_array_unknown_bounds<_Tp>, 32020: is_function<_Tp>>::value, 32020: bool = __or_, is_scalar<_Tp>>::value> 32020: struct __is_destructible_safe; 32020: 32020: template 32020: struct __is_destructible_safe<_Tp, false, false> 32020: : public __is_destructible_impl::type>::type 32020: { }; 32020: 32020: template 32020: struct __is_destructible_safe<_Tp, true, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_destructible_safe<_Tp, false, true> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_destructible 32020: : public __is_destructible_safe<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: struct __do_is_nt_destructible_impl 32020: { 32020: template 32020: static __bool_constant().~_Tp())> 32020: __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: }; 32020: 32020: template 32020: struct __is_nt_destructible_impl 32020: : public __do_is_nt_destructible_impl 32020: { 32020: typedef decltype(__test<_Tp>(0)) type; 32020: }; 32020: 32020: template, 32020: __is_array_unknown_bounds<_Tp>, 32020: is_function<_Tp>>::value, 32020: bool = __or_, is_scalar<_Tp>>::value> 32020: struct __is_nt_destructible_safe; 32020: 32020: template 32020: struct __is_nt_destructible_safe<_Tp, false, false> 32020: : public __is_nt_destructible_impl::type>::type 32020: { }; 32020: 32020: template 32020: struct __is_nt_destructible_safe<_Tp, true, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_nt_destructible_safe<_Tp, false, true> 32020: : public true_type { }; 32020: 32020: 32020: template 32020: struct is_nothrow_destructible 32020: : public __is_nt_destructible_safe<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template 32020: struct __is_constructible_impl 32020: : public __bool_constant<__is_constructible(_Tp, _Args...)> 32020: { }; 32020: 32020: 32020: template 32020: struct is_constructible 32020: : public __is_constructible_impl<_Tp, _Args...> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_default_constructible 32020: : public __is_constructible_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_copy_constructible_impl; 32020: 32020: template 32020: struct __is_copy_constructible_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_copy_constructible_impl<_Tp, true> 32020: : public __is_constructible_impl<_Tp, const _Tp&> 32020: { }; 32020: 32020: 32020: template 32020: struct is_copy_constructible 32020: : public __is_copy_constructible_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_move_constructible_impl; 32020: 32020: template 32020: struct __is_move_constructible_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_move_constructible_impl<_Tp, true> 32020: : public __is_constructible_impl<_Tp, _Tp&&> 32020: { }; 32020: 32020: 32020: template 32020: struct is_move_constructible 32020: : public __is_move_constructible_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template 32020: struct __is_nt_constructible_impl 32020: : public false_type 32020: { }; 32020: 32020: template 32020: struct __is_nt_constructible_impl 32020: : public __bool_constant()...))> 32020: { }; 32020: 32020: template 32020: struct __is_nt_constructible_impl 32020: : public __bool_constant(std::declval<_Arg>()))> 32020: { }; 32020: 32020: template 32020: struct __is_nt_constructible_impl 32020: : public __bool_constant 32020: { }; 32020: 32020: template 32020: struct __is_nt_constructible_impl 32020: : public __bool_constant::type())> 32020: { }; 32020: # 1001 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: using __is_nothrow_constructible_impl 32020: = __is_nt_constructible_impl<__is_constructible(_Tp, _Args...), 32020: _Tp, _Args...>; 32020: 32020: 32020: template 32020: struct is_nothrow_constructible 32020: : public __is_nothrow_constructible_impl<_Tp, _Args...>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_nothrow_default_constructible 32020: : public __is_nothrow_constructible_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template::value> 32020: struct __is_nothrow_copy_constructible_impl; 32020: 32020: template 32020: struct __is_nothrow_copy_constructible_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_nothrow_copy_constructible_impl<_Tp, true> 32020: : public __is_nothrow_constructible_impl<_Tp, const _Tp&> 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_copy_constructible 32020: : public __is_nothrow_copy_constructible_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_nothrow_move_constructible_impl; 32020: 32020: template 32020: struct __is_nothrow_move_constructible_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_nothrow_move_constructible_impl<_Tp, true> 32020: : public __is_nothrow_constructible_impl<_Tp, _Tp&&> 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_move_constructible 32020: : public __is_nothrow_move_constructible_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_assignable 32020: : public __bool_constant<__is_assignable(_Tp, _Up)> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_copy_assignable_impl; 32020: 32020: template 32020: struct __is_copy_assignable_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_copy_assignable_impl<_Tp, true> 32020: : public __bool_constant<__is_assignable(_Tp&, const _Tp&)> 32020: { }; 32020: 32020: 32020: template 32020: struct is_copy_assignable 32020: : public __is_copy_assignable_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_move_assignable_impl; 32020: 32020: template 32020: struct __is_move_assignable_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_move_assignable_impl<_Tp, true> 32020: : public __bool_constant<__is_assignable(_Tp&, _Tp&&)> 32020: { }; 32020: 32020: 32020: template 32020: struct is_move_assignable 32020: : public __is_move_assignable_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template 32020: struct __is_nt_assignable_impl 32020: : public integral_constant() = declval<_Up>())> 32020: { }; 32020: 32020: template 32020: struct __is_nothrow_assignable_impl 32020: : public __and_<__bool_constant<__is_assignable(_Tp, _Up)>, 32020: __is_nt_assignable_impl<_Tp, _Up>> 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_assignable 32020: : public __is_nothrow_assignable_impl<_Tp, _Up> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_nt_copy_assignable_impl; 32020: 32020: template 32020: struct __is_nt_copy_assignable_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_nt_copy_assignable_impl<_Tp, true> 32020: : public __is_nothrow_assignable_impl<_Tp&, const _Tp&> 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_copy_assignable 32020: : public __is_nt_copy_assignable_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_nt_move_assignable_impl; 32020: 32020: template 32020: struct __is_nt_move_assignable_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_nt_move_assignable_impl<_Tp, true> 32020: : public __is_nothrow_assignable_impl<_Tp&, _Tp&&> 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_move_assignable 32020: : public __is_nt_move_assignable_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_trivially_constructible 32020: : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_trivially_default_constructible 32020: : public __bool_constant<__is_trivially_constructible(_Tp)> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: struct __do_is_implicitly_default_constructible_impl 32020: { 32020: template 32020: static void __helper(const _Tp&); 32020: 32020: template 32020: static true_type __test(const _Tp&, 32020: decltype(__helper({}))* = 0); 32020: 32020: static false_type __test(...); 32020: }; 32020: 32020: template 32020: struct __is_implicitly_default_constructible_impl 32020: : public __do_is_implicitly_default_constructible_impl 32020: { 32020: typedef decltype(__test(declval<_Tp>())) type; 32020: }; 32020: 32020: template 32020: struct __is_implicitly_default_constructible_safe 32020: : public __is_implicitly_default_constructible_impl<_Tp>::type 32020: { }; 32020: 32020: template 32020: struct __is_implicitly_default_constructible 32020: : public __and_<__is_constructible_impl<_Tp>, 32020: __is_implicitly_default_constructible_safe<_Tp>> 32020: { }; 32020: 32020: template::value> 32020: struct __is_trivially_copy_constructible_impl; 32020: 32020: template 32020: struct __is_trivially_copy_constructible_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_trivially_copy_constructible_impl<_Tp, true> 32020: : public __and_<__is_copy_constructible_impl<_Tp>, 32020: integral_constant> 32020: { }; 32020: 32020: 32020: template 32020: struct is_trivially_copy_constructible 32020: : public __is_trivially_copy_constructible_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_trivially_move_constructible_impl; 32020: 32020: template 32020: struct __is_trivially_move_constructible_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_trivially_move_constructible_impl<_Tp, true> 32020: : public __and_<__is_move_constructible_impl<_Tp>, 32020: integral_constant> 32020: { }; 32020: 32020: 32020: template 32020: struct is_trivially_move_constructible 32020: : public __is_trivially_move_constructible_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_trivially_assignable 32020: : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_trivially_copy_assignable_impl; 32020: 32020: template 32020: struct __is_trivially_copy_assignable_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_trivially_copy_assignable_impl<_Tp, true> 32020: : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)> 32020: { }; 32020: 32020: 32020: template 32020: struct is_trivially_copy_assignable 32020: : public __is_trivially_copy_assignable_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template::value> 32020: struct __is_trivially_move_assignable_impl; 32020: 32020: template 32020: struct __is_trivially_move_assignable_impl<_Tp, false> 32020: : public false_type { }; 32020: 32020: template 32020: struct __is_trivially_move_assignable_impl<_Tp, true> 32020: : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)> 32020: { }; 32020: 32020: 32020: template 32020: struct is_trivially_move_assignable 32020: : public __is_trivially_move_assignable_impl<_Tp> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_trivially_destructible 32020: : public __and_<__is_destructible_safe<_Tp>, 32020: __bool_constant<__has_trivial_destructor(_Tp)>> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: 32020: template 32020: struct has_virtual_destructor 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct alignment_of 32020: : public integral_constant 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct rank 32020: : public integral_constant { }; 32020: 32020: template 32020: struct rank<_Tp[_Size]> 32020: : public integral_constant::value> { }; 32020: 32020: template 32020: struct rank<_Tp[]> 32020: : public integral_constant::value> { }; 32020: 32020: 32020: template 32020: struct extent 32020: : public integral_constant { }; 32020: 32020: template 32020: struct extent<_Tp[_Size], _Uint> 32020: : public integral_constant::value> 32020: { }; 32020: 32020: template 32020: struct extent<_Tp[], _Uint> 32020: : public integral_constant::value> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_same 32020: 32020: : public integral_constant 32020: 32020: 32020: 32020: { }; 32020: # 1410 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct is_base_of 32020: : public integral_constant 32020: { }; 32020: 32020: template, is_function<_To>, 32020: is_array<_To>>::value> 32020: struct __is_convertible_helper 32020: { 32020: typedef typename is_void<_To>::type type; 32020: }; 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" 32020: template 32020: class __is_convertible_helper<_From, _To, false> 32020: { 32020: template 32020: static void __test_aux(_To1) noexcept; 32020: 32020: template(std::declval<_From1>()))> 32020: static true_type 32020: __test(int); 32020: 32020: template 32020: static false_type 32020: __test(...); 32020: 32020: public: 32020: typedef decltype(__test<_From, _To>(0)) type; 32020: }; 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: template 32020: struct is_convertible 32020: : public __is_convertible_helper<_From, _To>::type 32020: { }; 32020: 32020: 32020: template 32020: using __is_array_convertible 32020: = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; 32020: 32020: template, is_function<_To>, 32020: is_array<_To>>::value> 32020: struct __is_nt_convertible_helper 32020: : is_void<_To> 32020: { }; 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" 32020: template 32020: class __is_nt_convertible_helper<_From, _To, false> 32020: { 32020: template 32020: static void __test_aux(_To1) noexcept; 32020: 32020: template 32020: static 32020: __bool_constant(std::declval<_From1>()))> 32020: __test(int); 32020: 32020: template 32020: static false_type 32020: __test(...); 32020: 32020: public: 32020: using type = decltype(__test<_From, _To>(0)); 32020: }; 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: template 32020: struct __is_nothrow_convertible 32020: : public __is_nt_convertible_helper<_From, _To>::type 32020: { }; 32020: # 1508 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct remove_const 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_const<_Tp const> 32020: { typedef _Tp type; }; 32020: 32020: 32020: template 32020: struct remove_volatile 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_volatile<_Tp volatile> 32020: { typedef _Tp type; }; 32020: 32020: 32020: template 32020: struct remove_cv 32020: { using type = _Tp; }; 32020: 32020: template 32020: struct remove_cv 32020: { using type = _Tp; }; 32020: 32020: template 32020: struct remove_cv 32020: { using type = _Tp; }; 32020: 32020: template 32020: struct remove_cv 32020: { using type = _Tp; }; 32020: 32020: 32020: template 32020: struct add_const 32020: { typedef _Tp const type; }; 32020: 32020: 32020: template 32020: struct add_volatile 32020: { typedef _Tp volatile type; }; 32020: 32020: 32020: template 32020: struct add_cv 32020: { 32020: typedef typename 32020: add_const::type>::type type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: using remove_const_t = typename remove_const<_Tp>::type; 32020: 32020: 32020: template 32020: using remove_volatile_t = typename remove_volatile<_Tp>::type; 32020: 32020: 32020: template 32020: using remove_cv_t = typename remove_cv<_Tp>::type; 32020: 32020: 32020: template 32020: using add_const_t = typename add_const<_Tp>::type; 32020: 32020: 32020: template 32020: using add_volatile_t = typename add_volatile<_Tp>::type; 32020: 32020: 32020: template 32020: using add_cv_t = typename add_cv<_Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct remove_reference 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_reference<_Tp&> 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_reference<_Tp&&> 32020: { typedef _Tp type; }; 32020: 32020: template::value> 32020: struct __add_lvalue_reference_helper 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct __add_lvalue_reference_helper<_Tp, true> 32020: { typedef _Tp& type; }; 32020: 32020: 32020: template 32020: struct add_lvalue_reference 32020: : public __add_lvalue_reference_helper<_Tp> 32020: { }; 32020: 32020: template::value> 32020: struct __add_rvalue_reference_helper 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct __add_rvalue_reference_helper<_Tp, true> 32020: { typedef _Tp&& type; }; 32020: 32020: 32020: template 32020: struct add_rvalue_reference 32020: : public __add_rvalue_reference_helper<_Tp> 32020: { }; 32020: 32020: 32020: 32020: template 32020: using remove_reference_t = typename remove_reference<_Tp>::type; 32020: 32020: 32020: template 32020: using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; 32020: 32020: 32020: template 32020: using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __cv_selector; 32020: 32020: template 32020: struct __cv_selector<_Unqualified, false, false> 32020: { typedef _Unqualified __type; }; 32020: 32020: template 32020: struct __cv_selector<_Unqualified, false, true> 32020: { typedef volatile _Unqualified __type; }; 32020: 32020: template 32020: struct __cv_selector<_Unqualified, true, false> 32020: { typedef const _Unqualified __type; }; 32020: 32020: template 32020: struct __cv_selector<_Unqualified, true, true> 32020: { typedef const volatile _Unqualified __type; }; 32020: 32020: template::value, 32020: bool _IsVol = is_volatile<_Qualified>::value> 32020: class __match_cv_qualifiers 32020: { 32020: typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; 32020: 32020: public: 32020: typedef typename __match::__type __type; 32020: }; 32020: 32020: 32020: template 32020: struct __make_unsigned 32020: { typedef _Tp __type; }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { typedef unsigned char __type; }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { typedef unsigned char __type; }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { typedef unsigned short __type; }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { typedef unsigned int __type; }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { typedef unsigned long __type; }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { typedef unsigned long long __type; }; 32020: # 1730 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template::value, 32020: bool _IsEnum = is_enum<_Tp>::value> 32020: class __make_unsigned_selector; 32020: 32020: template 32020: class __make_unsigned_selector<_Tp, true, false> 32020: { 32020: using __unsigned_type 32020: = typename __make_unsigned<__remove_cv_t<_Tp>>::__type; 32020: 32020: public: 32020: using __type 32020: = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; 32020: }; 32020: 32020: class __make_unsigned_selector_base 32020: { 32020: protected: 32020: template struct _List { }; 32020: 32020: template 32020: struct _List<_Tp, _Up...> : _List<_Up...> 32020: { static constexpr size_t __size = sizeof(_Tp); }; 32020: 32020: template 32020: struct __select; 32020: 32020: template 32020: struct __select<_Sz, _List<_Uint, _UInts...>, true> 32020: { using __type = _Uint; }; 32020: 32020: template 32020: struct __select<_Sz, _List<_Uint, _UInts...>, false> 32020: : __select<_Sz, _List<_UInts...>> 32020: { }; 32020: }; 32020: 32020: 32020: template 32020: class __make_unsigned_selector<_Tp, false, true> 32020: : __make_unsigned_selector_base 32020: { 32020: 32020: using _UInts = _List; 32020: 32020: using __unsigned_type = typename __select::__type; 32020: 32020: public: 32020: using __type 32020: = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct __make_unsigned 32020: { 32020: using __type 32020: = typename __make_unsigned_selector::__type; 32020: }; 32020: # 1806 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template<> 32020: struct __make_unsigned 32020: { 32020: using __type 32020: = typename __make_unsigned_selector::__type; 32020: }; 32020: 32020: template<> 32020: struct __make_unsigned 32020: { 32020: using __type 32020: = typename __make_unsigned_selector::__type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct make_unsigned 32020: { typedef typename __make_unsigned_selector<_Tp>::__type type; }; 32020: 32020: 32020: template<> 32020: struct make_unsigned; 32020: 32020: 32020: 32020: template 32020: struct __make_signed 32020: { typedef _Tp __type; }; 32020: 32020: template<> 32020: struct __make_signed 32020: { typedef signed char __type; }; 32020: 32020: template<> 32020: struct __make_signed 32020: { typedef signed char __type; }; 32020: 32020: template<> 32020: struct __make_signed 32020: { typedef signed short __type; }; 32020: 32020: template<> 32020: struct __make_signed 32020: { typedef signed int __type; }; 32020: 32020: template<> 32020: struct __make_signed 32020: { typedef signed long __type; }; 32020: 32020: template<> 32020: struct __make_signed 32020: { typedef signed long long __type; }; 32020: # 1884 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template::value, 32020: bool _IsEnum = is_enum<_Tp>::value> 32020: class __make_signed_selector; 32020: 32020: template 32020: class __make_signed_selector<_Tp, true, false> 32020: { 32020: using __signed_type 32020: = typename __make_signed<__remove_cv_t<_Tp>>::__type; 32020: 32020: public: 32020: using __type 32020: = typename __match_cv_qualifiers<_Tp, __signed_type>::__type; 32020: }; 32020: 32020: 32020: template 32020: class __make_signed_selector<_Tp, false, true> 32020: { 32020: typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; 32020: 32020: public: 32020: typedef typename __make_signed_selector<__unsigned_type>::__type __type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct __make_signed 32020: { 32020: using __type 32020: = typename __make_signed_selector::__type; 32020: }; 32020: # 1932 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template<> 32020: struct __make_signed 32020: { 32020: using __type 32020: = typename __make_signed_selector::__type; 32020: }; 32020: 32020: template<> 32020: struct __make_signed 32020: { 32020: using __type 32020: = typename __make_signed_selector::__type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct make_signed 32020: { typedef typename __make_signed_selector<_Tp>::__type type; }; 32020: 32020: 32020: template<> 32020: struct make_signed; 32020: 32020: 32020: 32020: template 32020: using make_signed_t = typename make_signed<_Tp>::type; 32020: 32020: 32020: template 32020: using make_unsigned_t = typename make_unsigned<_Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct remove_extent 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_extent<_Tp[_Size]> 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_extent<_Tp[]> 32020: { typedef _Tp type; }; 32020: 32020: 32020: template 32020: struct remove_all_extents 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct remove_all_extents<_Tp[_Size]> 32020: { typedef typename remove_all_extents<_Tp>::type type; }; 32020: 32020: template 32020: struct remove_all_extents<_Tp[]> 32020: { typedef typename remove_all_extents<_Tp>::type type; }; 32020: 32020: 32020: 32020: template 32020: using remove_extent_t = typename remove_extent<_Tp>::type; 32020: 32020: 32020: template 32020: using remove_all_extents_t = typename remove_all_extents<_Tp>::type; 32020: 32020: 32020: 32020: 32020: template 32020: struct __remove_pointer_helper 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct __remove_pointer_helper<_Tp, _Up*> 32020: { typedef _Up type; }; 32020: 32020: 32020: template 32020: struct remove_pointer 32020: : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>> 32020: { }; 32020: 32020: 32020: template, 32020: is_void<_Tp>>::value> 32020: struct __add_pointer_helper 32020: { typedef _Tp type; }; 32020: 32020: template 32020: struct __add_pointer_helper<_Tp, true> 32020: { typedef typename remove_reference<_Tp>::type* type; }; 32020: 32020: template 32020: struct add_pointer 32020: : public __add_pointer_helper<_Tp> 32020: { }; 32020: 32020: 32020: 32020: template 32020: using remove_pointer_t = typename remove_pointer<_Tp>::type; 32020: 32020: 32020: template 32020: using add_pointer_t = typename add_pointer<_Tp>::type; 32020: 32020: 32020: template 32020: struct __aligned_storage_msa 32020: { 32020: union __type 32020: { 32020: unsigned char __data[_Len]; 32020: struct __attribute__((__aligned__)) { } __align; 32020: }; 32020: }; 32020: # 2067 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template::__type)> 32020: struct aligned_storage 32020: { 32020: union type 32020: { 32020: unsigned char __data[_Len]; 32020: struct __attribute__((__aligned__((_Align)))) { } __align; 32020: }; 32020: }; 32020: 32020: template 32020: struct __strictest_alignment 32020: { 32020: static const size_t _S_alignment = 0; 32020: static const size_t _S_size = 0; 32020: }; 32020: 32020: template 32020: struct __strictest_alignment<_Tp, _Types...> 32020: { 32020: static const size_t _S_alignment = 32020: alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment 32020: ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; 32020: static const size_t _S_size = 32020: sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size 32020: ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; 32020: }; 32020: # 2106 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct aligned_union 32020: { 32020: private: 32020: static_assert(sizeof...(_Types) != 0, "At least one type is required"); 32020: 32020: using __strictest = __strictest_alignment<_Types...>; 32020: static const size_t _S_len = _Len > __strictest::_S_size 32020: ? _Len : __strictest::_S_size; 32020: public: 32020: 32020: static const size_t alignment_value = __strictest::_S_alignment; 32020: 32020: typedef typename aligned_storage<_S_len, alignment_value>::type type; 32020: }; 32020: 32020: template 32020: const size_t aligned_union<_Len, _Types...>::alignment_value; 32020: 32020: 32020: 32020: template::value, 32020: bool _IsFunction = is_function<_Up>::value> 32020: struct __decay_selector; 32020: 32020: 32020: template 32020: struct __decay_selector<_Up, false, false> 32020: { typedef __remove_cv_t<_Up> __type; }; 32020: 32020: template 32020: struct __decay_selector<_Up, true, false> 32020: { typedef typename remove_extent<_Up>::type* __type; }; 32020: 32020: template 32020: struct __decay_selector<_Up, false, true> 32020: { typedef typename add_pointer<_Up>::type __type; }; 32020: 32020: 32020: template 32020: class decay 32020: { 32020: typedef typename remove_reference<_Tp>::type __remove_type; 32020: 32020: public: 32020: typedef typename __decay_selector<__remove_type>::__type type; 32020: }; 32020: 32020: 32020: template 32020: using __decay_t = typename decay<_Tp>::type; 32020: 32020: template 32020: class reference_wrapper; 32020: 32020: 32020: template 32020: struct __strip_reference_wrapper 32020: { 32020: typedef _Tp __type; 32020: }; 32020: 32020: template 32020: struct __strip_reference_wrapper > 32020: { 32020: typedef _Tp& __type; 32020: }; 32020: 32020: template 32020: using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; 32020: 32020: 32020: 32020: 32020: template 32020: struct enable_if 32020: { }; 32020: 32020: 32020: template 32020: struct enable_if 32020: { typedef _Tp type; }; 32020: 32020: 32020: template 32020: using __enable_if_t = typename enable_if<_Cond, _Tp>::type; 32020: 32020: template 32020: using _Require = __enable_if_t<__and_<_Cond...>::value>; 32020: 32020: 32020: 32020: template 32020: struct conditional 32020: { typedef _Iftrue type; }; 32020: 32020: 32020: template 32020: struct conditional 32020: { typedef _Iffalse type; }; 32020: 32020: 32020: template 32020: using __remove_cvref_t 32020: = typename remove_cv::type>::type; 32020: 32020: 32020: template 32020: struct common_type; 32020: 32020: 32020: 32020: struct __do_common_type_impl 32020: { 32020: template 32020: using __cond_t 32020: = decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); 32020: 32020: 32020: 32020: template 32020: static __success_type<__decay_t<__cond_t<_Tp, _Up>>> 32020: _S_test(int); 32020: # 2239 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: static __failure_type 32020: _S_test_2(...); 32020: 32020: template 32020: static decltype(_S_test_2<_Tp, _Up>(0)) 32020: _S_test(...); 32020: }; 32020: 32020: 32020: template<> 32020: struct common_type<> 32020: { }; 32020: 32020: 32020: template 32020: struct common_type<_Tp0> 32020: : public common_type<_Tp0, _Tp0> 32020: { }; 32020: 32020: 32020: template, typename _Dp2 = __decay_t<_Tp2>> 32020: struct __common_type_impl 32020: { 32020: 32020: 32020: using type = common_type<_Dp1, _Dp2>; 32020: }; 32020: 32020: template 32020: struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> 32020: : private __do_common_type_impl 32020: { 32020: 32020: 32020: using type = decltype(_S_test<_Tp1, _Tp2>(0)); 32020: }; 32020: 32020: 32020: template 32020: struct common_type<_Tp1, _Tp2> 32020: : public __common_type_impl<_Tp1, _Tp2>::type 32020: { }; 32020: 32020: template 32020: struct __common_type_pack 32020: { }; 32020: 32020: template 32020: struct __common_type_fold; 32020: 32020: 32020: template 32020: struct common_type<_Tp1, _Tp2, _Rp...> 32020: : public __common_type_fold, 32020: __common_type_pack<_Rp...>> 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, 32020: __void_t> 32020: : public common_type 32020: { }; 32020: 32020: 32020: template 32020: struct __common_type_fold<_CTp, _Rp, void> 32020: { }; 32020: 32020: template::value> 32020: struct __underlying_type_impl 32020: { 32020: using type = __underlying_type(_Tp); 32020: }; 32020: 32020: template 32020: struct __underlying_type_impl<_Tp, false> 32020: { }; 32020: 32020: 32020: template 32020: struct underlying_type 32020: : public __underlying_type_impl<_Tp> 32020: { }; 32020: 32020: template 32020: struct __declval_protector 32020: { 32020: static const bool __stop = false; 32020: }; 32020: 32020: template 32020: auto declval() noexcept -> decltype(__declval<_Tp>(0)) 32020: { 32020: static_assert(__declval_protector<_Tp>::__stop, 32020: "declval() must not be used!"); 32020: return __declval<_Tp>(0); 32020: } 32020: 32020: 32020: template 32020: class result_of; 32020: 32020: 32020: 32020: 32020: 32020: struct __invoke_memfun_ref { }; 32020: struct __invoke_memfun_deref { }; 32020: struct __invoke_memobj_ref { }; 32020: struct __invoke_memobj_deref { }; 32020: struct __invoke_other { }; 32020: 32020: 32020: template 32020: struct __result_of_success : __success_type<_Tp> 32020: { using __invoke_type = _Tag; }; 32020: 32020: 32020: struct __result_of_memfun_ref_impl 32020: { 32020: template 32020: static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) 32020: ), __invoke_memfun_ref> _S_test(int); 32020: 32020: template 32020: static __failure_type _S_test(...); 32020: }; 32020: 32020: template 32020: struct __result_of_memfun_ref 32020: : private __result_of_memfun_ref_impl 32020: { 32020: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 32020: }; 32020: 32020: 32020: struct __result_of_memfun_deref_impl 32020: { 32020: template 32020: static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) 32020: ), __invoke_memfun_deref> _S_test(int); 32020: 32020: template 32020: static __failure_type _S_test(...); 32020: }; 32020: 32020: template 32020: struct __result_of_memfun_deref 32020: : private __result_of_memfun_deref_impl 32020: { 32020: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 32020: }; 32020: 32020: 32020: struct __result_of_memobj_ref_impl 32020: { 32020: template 32020: static __result_of_success().*std::declval<_Fp>() 32020: ), __invoke_memobj_ref> _S_test(int); 32020: 32020: template 32020: static __failure_type _S_test(...); 32020: }; 32020: 32020: template 32020: struct __result_of_memobj_ref 32020: : private __result_of_memobj_ref_impl 32020: { 32020: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 32020: }; 32020: 32020: 32020: struct __result_of_memobj_deref_impl 32020: { 32020: template 32020: static __result_of_success()).*std::declval<_Fp>() 32020: ), __invoke_memobj_deref> _S_test(int); 32020: 32020: template 32020: static __failure_type _S_test(...); 32020: }; 32020: 32020: template 32020: struct __result_of_memobj_deref 32020: : private __result_of_memobj_deref_impl 32020: { 32020: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 32020: }; 32020: 32020: template 32020: struct __result_of_memobj; 32020: 32020: template 32020: struct __result_of_memobj<_Res _Class::*, _Arg> 32020: { 32020: typedef __remove_cvref_t<_Arg> _Argval; 32020: typedef _Res _Class::* _MemPtr; 32020: typedef typename conditional<__or_, 32020: is_base_of<_Class, _Argval>>::value, 32020: __result_of_memobj_ref<_MemPtr, _Arg>, 32020: __result_of_memobj_deref<_MemPtr, _Arg> 32020: >::type::type type; 32020: }; 32020: 32020: template 32020: struct __result_of_memfun; 32020: 32020: template 32020: struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> 32020: { 32020: typedef typename remove_reference<_Arg>::type _Argval; 32020: typedef _Res _Class::* _MemPtr; 32020: typedef typename conditional::value, 32020: __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, 32020: __result_of_memfun_deref<_MemPtr, _Arg, _Args...> 32020: >::type::type type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template> 32020: struct __inv_unwrap 32020: { 32020: using type = _Tp; 32020: }; 32020: 32020: template 32020: struct __inv_unwrap<_Tp, reference_wrapper<_Up>> 32020: { 32020: using type = _Up&; 32020: }; 32020: 32020: template 32020: struct __result_of_impl 32020: { 32020: typedef __failure_type type; 32020: }; 32020: 32020: template 32020: struct __result_of_impl 32020: : public __result_of_memobj<__decay_t<_MemPtr>, 32020: typename __inv_unwrap<_Arg>::type> 32020: { }; 32020: 32020: template 32020: struct __result_of_impl 32020: : public __result_of_memfun<__decay_t<_MemPtr>, 32020: typename __inv_unwrap<_Arg>::type, _Args...> 32020: { }; 32020: 32020: 32020: struct __result_of_other_impl 32020: { 32020: template 32020: static __result_of_success()(std::declval<_Args>()...) 32020: ), __invoke_other> _S_test(int); 32020: 32020: template 32020: static __failure_type _S_test(...); 32020: }; 32020: 32020: template 32020: struct __result_of_impl 32020: : private __result_of_other_impl 32020: { 32020: typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; 32020: }; 32020: 32020: 32020: template 32020: struct __invoke_result 32020: : public __result_of_impl< 32020: is_member_object_pointer< 32020: typename remove_reference<_Functor>::type 32020: >::value, 32020: is_member_function_pointer< 32020: typename remove_reference<_Functor>::type 32020: >::value, 32020: _Functor, _ArgTypes... 32020: >::type 32020: { }; 32020: 32020: template 32020: struct result_of<_Functor(_ArgTypes...)> 32020: : public __invoke_result<_Functor, _ArgTypes...> 32020: { }; 32020: 32020: 32020: 32020: template::__type)> 32020: using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; 32020: 32020: template 32020: using aligned_union_t = typename aligned_union<_Len, _Types...>::type; 32020: 32020: 32020: template 32020: using decay_t = typename decay<_Tp>::type; 32020: 32020: 32020: template 32020: using enable_if_t = typename enable_if<_Cond, _Tp>::type; 32020: 32020: 32020: template 32020: using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; 32020: 32020: 32020: template 32020: using common_type_t = typename common_type<_Tp...>::type; 32020: 32020: 32020: template 32020: using underlying_type_t = typename underlying_type<_Tp>::type; 32020: 32020: 32020: template 32020: using result_of_t = typename result_of<_Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: template using void_t = void; 32020: 32020: 32020: 32020: template class _Op, typename... _Args> 32020: struct __detector 32020: { 32020: using value_t = false_type; 32020: using type = _Default; 32020: }; 32020: 32020: 32020: template class _Op, 32020: typename... _Args> 32020: struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> 32020: { 32020: using value_t = true_type; 32020: using type = _Op<_Args...>; 32020: }; 32020: 32020: 32020: template class _Op, 32020: typename... _Args> 32020: using __detected_or = __detector<_Default, void, _Op, _Args...>; 32020: 32020: 32020: template class _Op, 32020: typename... _Args> 32020: using __detected_or_t 32020: = typename __detected_or<_Default, _Op, _Args...>::type; 32020: # 2624 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: template 32020: struct __is_swappable; 32020: 32020: template 32020: struct __is_nothrow_swappable; 32020: 32020: template 32020: class tuple; 32020: 32020: template 32020: struct __is_tuple_like_impl : false_type 32020: { }; 32020: 32020: template 32020: struct __is_tuple_like_impl> : true_type 32020: { }; 32020: 32020: 32020: template 32020: struct __is_tuple_like 32020: : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type 32020: { }; 32020: 32020: template 32020: 32020: inline 32020: _Require<__not_<__is_tuple_like<_Tp>>, 32020: is_move_constructible<_Tp>, 32020: is_move_assignable<_Tp>> 32020: swap(_Tp&, _Tp&) 32020: noexcept(__and_, 32020: is_nothrow_move_assignable<_Tp>>::value); 32020: 32020: template 32020: 32020: inline 32020: __enable_if_t<__is_swappable<_Tp>::value> 32020: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 32020: noexcept(__is_nothrow_swappable<_Tp>::value); 32020: 32020: namespace __swappable_details { 32020: using std::swap; 32020: 32020: struct __do_is_swappable_impl 32020: { 32020: template(), std::declval<_Tp&>()))> 32020: static true_type __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: }; 32020: 32020: struct __do_is_nothrow_swappable_impl 32020: { 32020: template 32020: static __bool_constant< 32020: noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) 32020: > __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: }; 32020: 32020: } 32020: 32020: template 32020: struct __is_swappable_impl 32020: : public __swappable_details::__do_is_swappable_impl 32020: { 32020: typedef decltype(__test<_Tp>(0)) type; 32020: }; 32020: 32020: template 32020: struct __is_nothrow_swappable_impl 32020: : public __swappable_details::__do_is_nothrow_swappable_impl 32020: { 32020: typedef decltype(__test<_Tp>(0)) type; 32020: }; 32020: 32020: template 32020: struct __is_swappable 32020: : public __is_swappable_impl<_Tp>::type 32020: { }; 32020: 32020: template 32020: struct __is_nothrow_swappable 32020: : public __is_nothrow_swappable_impl<_Tp>::type 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_swappable 32020: : public __is_swappable_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_nothrow_swappable 32020: : public __is_nothrow_swappable_impl<_Tp>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: 32020: template 32020: inline constexpr bool is_swappable_v = 32020: is_swappable<_Tp>::value; 32020: 32020: 32020: template 32020: inline constexpr bool is_nothrow_swappable_v = 32020: is_nothrow_swappable<_Tp>::value; 32020: 32020: 32020: namespace __swappable_with_details { 32020: using std::swap; 32020: 32020: struct __do_is_swappable_with_impl 32020: { 32020: template(), std::declval<_Up>())), 32020: typename 32020: = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> 32020: static true_type __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: }; 32020: 32020: struct __do_is_nothrow_swappable_with_impl 32020: { 32020: template 32020: static __bool_constant< 32020: noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) 32020: && 32020: noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) 32020: > __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: }; 32020: 32020: } 32020: 32020: template 32020: struct __is_swappable_with_impl 32020: : public __swappable_with_details::__do_is_swappable_with_impl 32020: { 32020: typedef decltype(__test<_Tp, _Up>(0)) type; 32020: }; 32020: 32020: 32020: template 32020: struct __is_swappable_with_impl<_Tp&, _Tp&> 32020: : public __swappable_details::__do_is_swappable_impl 32020: { 32020: typedef decltype(__test<_Tp&>(0)) type; 32020: }; 32020: 32020: template 32020: struct __is_nothrow_swappable_with_impl 32020: : public __swappable_with_details::__do_is_nothrow_swappable_with_impl 32020: { 32020: typedef decltype(__test<_Tp, _Up>(0)) type; 32020: }; 32020: 32020: 32020: template 32020: struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> 32020: : public __swappable_details::__do_is_nothrow_swappable_impl 32020: { 32020: typedef decltype(__test<_Tp&>(0)) type; 32020: }; 32020: 32020: 32020: template 32020: struct is_swappable_with 32020: : public __is_swappable_with_impl<_Tp, _Up>::type 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_swappable_with 32020: : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type 32020: { }; 32020: 32020: 32020: 32020: template 32020: inline constexpr bool is_swappable_with_v = 32020: is_swappable_with<_Tp, _Up>::value; 32020: 32020: 32020: template 32020: inline constexpr bool is_nothrow_swappable_with_v = 32020: is_nothrow_swappable_with<_Tp, _Up>::value; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template::value, typename = void> 32020: struct __is_invocable_impl : false_type { }; 32020: 32020: 32020: template 32020: struct __is_invocable_impl<_Result, _Ret, 32020: true, 32020: __void_t> 32020: : true_type 32020: { }; 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" 32020: 32020: template 32020: struct __is_invocable_impl<_Result, _Ret, 32020: false, 32020: __void_t> 32020: { 32020: private: 32020: 32020: 32020: static typename _Result::type _S_get(); 32020: 32020: template 32020: static void _S_conv(_Tp); 32020: 32020: 32020: template(_S_get()))> 32020: static true_type 32020: _S_test(int); 32020: 32020: template 32020: static false_type 32020: _S_test(...); 32020: 32020: public: 32020: using type = decltype(_S_test<_Ret>(1)); 32020: }; 32020: #pragma GCC diagnostic pop 32020: 32020: template 32020: struct __is_invocable 32020: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type 32020: { }; 32020: 32020: template 32020: constexpr bool __call_is_nt(__invoke_memfun_ref) 32020: { 32020: using _Up = typename __inv_unwrap<_Tp>::type; 32020: return noexcept((std::declval<_Up>().*std::declval<_Fn>())( 32020: std::declval<_Args>()...)); 32020: } 32020: 32020: template 32020: constexpr bool __call_is_nt(__invoke_memfun_deref) 32020: { 32020: return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( 32020: std::declval<_Args>()...)); 32020: } 32020: 32020: template 32020: constexpr bool __call_is_nt(__invoke_memobj_ref) 32020: { 32020: using _Up = typename __inv_unwrap<_Tp>::type; 32020: return noexcept(std::declval<_Up>().*std::declval<_Fn>()); 32020: } 32020: 32020: template 32020: constexpr bool __call_is_nt(__invoke_memobj_deref) 32020: { 32020: return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); 32020: } 32020: 32020: template 32020: constexpr bool __call_is_nt(__invoke_other) 32020: { 32020: return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); 32020: } 32020: 32020: template 32020: struct __call_is_nothrow 32020: : __bool_constant< 32020: std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) 32020: > 32020: { }; 32020: 32020: template 32020: using __call_is_nothrow_ 32020: = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; 32020: 32020: 32020: template 32020: struct __is_nothrow_invocable 32020: : __and_<__is_invocable<_Fn, _Args...>, 32020: __call_is_nothrow_<_Fn, _Args...>>::type 32020: { }; 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" 32020: struct __nonesuchbase {}; 32020: struct __nonesuch : private __nonesuchbase { 32020: ~__nonesuch() = delete; 32020: __nonesuch(__nonesuch const&) = delete; 32020: void operator=(__nonesuch const&) = delete; 32020: }; 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct invoke_result 32020: : public __invoke_result<_Functor, _ArgTypes...> 32020: { }; 32020: 32020: 32020: template 32020: using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; 32020: 32020: 32020: template 32020: struct is_invocable 32020: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), 32020: "_Fn must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_invocable_r 32020: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), 32020: "_Fn must be a complete class or an unbounded array"); 32020: }; 32020: 32020: 32020: template 32020: struct is_nothrow_invocable 32020: : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, 32020: __call_is_nothrow_<_Fn, _ArgTypes...>>::type 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), 32020: "_Fn must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template 32020: struct __is_nt_invocable_impl : false_type { }; 32020: 32020: template 32020: struct __is_nt_invocable_impl<_Result, _Ret, 32020: __void_t> 32020: : __or_, 32020: __is_nothrow_convertible> 32020: { }; 32020: 32020: 32020: template 32020: struct is_nothrow_invocable_r 32020: : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, 32020: __call_is_nothrow_<_Fn, _ArgTypes...>>::type 32020: { }; 32020: 32020: 32020: template 32020: inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; 32020: 32020: 32020: template 32020: inline constexpr bool is_nothrow_invocable_v 32020: = is_nothrow_invocable<_Fn, _Args...>::value; 32020: 32020: 32020: template 32020: inline constexpr bool is_invocable_r_v 32020: = is_invocable_r<_Ret, _Fn, _Args...>::value; 32020: 32020: 32020: template 32020: inline constexpr bool is_nothrow_invocable_r_v 32020: = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr bool is_void_v = is_void<_Tp>::value; 32020: template 32020: inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; 32020: template 32020: inline constexpr bool is_integral_v = is_integral<_Tp>::value; 32020: template 32020: inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; 32020: template 32020: inline constexpr bool is_array_v = is_array<_Tp>::value; 32020: template 32020: inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; 32020: template 32020: inline constexpr bool is_lvalue_reference_v = 32020: is_lvalue_reference<_Tp>::value; 32020: template 32020: inline constexpr bool is_rvalue_reference_v = 32020: is_rvalue_reference<_Tp>::value; 32020: template 32020: inline constexpr bool is_member_object_pointer_v = 32020: is_member_object_pointer<_Tp>::value; 32020: template 32020: inline constexpr bool is_member_function_pointer_v = 32020: is_member_function_pointer<_Tp>::value; 32020: template 32020: inline constexpr bool is_enum_v = is_enum<_Tp>::value; 32020: template 32020: inline constexpr bool is_union_v = is_union<_Tp>::value; 32020: template 32020: inline constexpr bool is_class_v = is_class<_Tp>::value; 32020: template 32020: inline constexpr bool is_function_v = is_function<_Tp>::value; 32020: template 32020: inline constexpr bool is_reference_v = is_reference<_Tp>::value; 32020: template 32020: inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; 32020: template 32020: inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; 32020: template 32020: inline constexpr bool is_object_v = is_object<_Tp>::value; 32020: template 32020: inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; 32020: template 32020: inline constexpr bool is_compound_v = is_compound<_Tp>::value; 32020: template 32020: inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value; 32020: template 32020: inline constexpr bool is_const_v = is_const<_Tp>::value; 32020: template 32020: inline constexpr bool is_volatile_v = is_volatile<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivial_v = is_trivial<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_copyable_v = 32020: is_trivially_copyable<_Tp>::value; 32020: template 32020: inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value; 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: template 32020: 32020: inline constexpr bool is_pod_v = is_pod<_Tp>::value; 32020: #pragma GCC diagnostic pop 32020: template 32020: inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value; 32020: template 32020: inline constexpr bool is_empty_v = is_empty<_Tp>::value; 32020: template 32020: inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value; 32020: template 32020: inline constexpr bool is_abstract_v = is_abstract<_Tp>::value; 32020: template 32020: inline constexpr bool is_final_v = is_final<_Tp>::value; 32020: template 32020: inline constexpr bool is_signed_v = is_signed<_Tp>::value; 32020: template 32020: inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; 32020: template 32020: inline constexpr bool is_constructible_v = 32020: is_constructible<_Tp, _Args...>::value; 32020: template 32020: inline constexpr bool is_default_constructible_v = 32020: is_default_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_copy_constructible_v = 32020: is_copy_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_move_constructible_v = 32020: is_move_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value; 32020: template 32020: inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; 32020: template 32020: inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; 32020: template 32020: inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_constructible_v = 32020: is_trivially_constructible<_Tp, _Args...>::value; 32020: template 32020: inline constexpr bool is_trivially_default_constructible_v = 32020: is_trivially_default_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_copy_constructible_v = 32020: is_trivially_copy_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_move_constructible_v = 32020: is_trivially_move_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_assignable_v = 32020: is_trivially_assignable<_Tp, _Up>::value; 32020: template 32020: inline constexpr bool is_trivially_copy_assignable_v = 32020: is_trivially_copy_assignable<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_move_assignable_v = 32020: is_trivially_move_assignable<_Tp>::value; 32020: template 32020: inline constexpr bool is_trivially_destructible_v = 32020: is_trivially_destructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_nothrow_constructible_v = 32020: is_nothrow_constructible<_Tp, _Args...>::value; 32020: template 32020: inline constexpr bool is_nothrow_default_constructible_v = 32020: is_nothrow_default_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_nothrow_copy_constructible_v = 32020: is_nothrow_copy_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_nothrow_move_constructible_v = 32020: is_nothrow_move_constructible<_Tp>::value; 32020: template 32020: inline constexpr bool is_nothrow_assignable_v = 32020: is_nothrow_assignable<_Tp, _Up>::value; 32020: template 32020: inline constexpr bool is_nothrow_copy_assignable_v = 32020: is_nothrow_copy_assignable<_Tp>::value; 32020: template 32020: inline constexpr bool is_nothrow_move_assignable_v = 32020: is_nothrow_move_assignable<_Tp>::value; 32020: template 32020: inline constexpr bool is_nothrow_destructible_v = 32020: is_nothrow_destructible<_Tp>::value; 32020: template 32020: inline constexpr bool has_virtual_destructor_v = 32020: has_virtual_destructor<_Tp>::value; 32020: template 32020: inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; 32020: template 32020: inline constexpr size_t rank_v = rank<_Tp>::value; 32020: template 32020: inline constexpr size_t extent_v = extent<_Tp, _Idx>::value; 32020: 32020: template 32020: inline constexpr bool is_same_v = __is_same_as(_Tp, _Up); 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value; 32020: template 32020: inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; 32020: 32020: 32020: 32020: 32020: template 32020: struct has_unique_object_representations 32020: : bool_constant<__has_unique_object_representations( 32020: remove_cv_t> 32020: )> 32020: { 32020: static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), 32020: "template argument must be a complete class or an unbounded array"); 32020: }; 32020: 32020: template 32020: inline constexpr bool has_unique_object_representations_v 32020: = has_unique_object_representations<_Tp>::value; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_aggregate 32020: : bool_constant<__is_aggregate(remove_cv_t<_Tp>)> 32020: { }; 32020: 32020: 32020: template 32020: inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value; 32020: # 3455 "/usr/arm-linux-gnueabihf/include/c++/10/type_traits" 3 32020: 32020: } 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 74 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 3 32020: template 32020: constexpr _Tp&& 32020: forward(typename std::remove_reference<_Tp>::type& __t) noexcept 32020: { return static_cast<_Tp&&>(__t); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr _Tp&& 32020: forward(typename std::remove_reference<_Tp>::type&& __t) noexcept 32020: { 32020: static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" 32020: " substituting _Tp is an lvalue reference type"); 32020: return static_cast<_Tp&&>(__t); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr typename std::remove_reference<_Tp>::type&& 32020: move(_Tp&& __t) noexcept 32020: { return static_cast::type&&>(__t); } 32020: 32020: 32020: template 32020: struct __move_if_noexcept_cond 32020: : public __and_<__not_>, 32020: is_copy_constructible<_Tp>>::type { }; 32020: # 118 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 3 32020: template 32020: constexpr typename 32020: conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type 32020: move_if_noexcept(_Tp& __x) noexcept 32020: { return std::move(__x); } 32020: # 138 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 3 32020: template 32020: inline constexpr _Tp* 32020: addressof(_Tp& __r) noexcept 32020: { return std::__addressof(__r); } 32020: 32020: 32020: 32020: template 32020: const _Tp* addressof(const _Tp&&) = delete; 32020: 32020: 32020: template 32020: 32020: inline _Tp 32020: __exchange(_Tp& __obj, _Up&& __new_val) 32020: { 32020: _Tp __old_val = std::move(__obj); 32020: __obj = std::forward<_Up>(__new_val); 32020: return __old_val; 32020: } 32020: # 179 "/usr/arm-linux-gnueabihf/include/c++/10/bits/move.h" 3 32020: template 32020: 32020: inline 32020: 32020: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 32020: is_move_constructible<_Tp>, 32020: is_move_assignable<_Tp>>::value>::type 32020: 32020: 32020: 32020: swap(_Tp& __a, _Tp& __b) 32020: noexcept(__and_, is_nothrow_move_assignable<_Tp>>::value) 32020: 32020: { 32020: 32020: 32020: 32020: 32020: _Tp __tmp = std::move(__a); 32020: __a = std::move(__b); 32020: __b = std::move(__tmp); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline 32020: 32020: typename enable_if<__is_swappable<_Tp>::value>::type 32020: 32020: 32020: 32020: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 32020: noexcept(__is_nothrow_swappable<_Tp>::value) 32020: { 32020: for (size_t __n = 0; __n < _Nm; ++__n) 32020: swap(__a[__n], __b[__n]); 32020: } 32020: 32020: 32020: 32020: } 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 2 3 32020: # 69 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 80 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; 32020: 32020: 32020: inline constexpr piecewise_construct_t piecewise_construct = 32020: piecewise_construct_t(); 32020: 32020: 32020: 32020: 32020: template 32020: class tuple; 32020: 32020: template 32020: struct _Index_tuple; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _PCC 32020: { 32020: template 32020: static constexpr bool _ConstructiblePair() 32020: { 32020: return __and_, 32020: is_constructible<_T2, const _U2&>>::value; 32020: } 32020: 32020: template 32020: static constexpr bool _ImplicitlyConvertiblePair() 32020: { 32020: return __and_, 32020: is_convertible>::value; 32020: } 32020: 32020: template 32020: static constexpr bool _MoveConstructiblePair() 32020: { 32020: return __and_, 32020: is_constructible<_T2, _U2&&>>::value; 32020: } 32020: 32020: template 32020: static constexpr bool _ImplicitlyMoveConvertiblePair() 32020: { 32020: return __and_, 32020: is_convertible<_U2&&, _T2>>::value; 32020: } 32020: 32020: template 32020: static constexpr bool _CopyMovePair() 32020: { 32020: using __do_converts = __and_, 32020: is_convertible<_U2&&, _T2>>; 32020: using __converts = typename conditional<__implicit, 32020: __do_converts, 32020: __not_<__do_converts>>::type; 32020: return __and_, 32020: is_constructible<_T2, _U2&&>, 32020: __converts 32020: >::value; 32020: } 32020: 32020: template 32020: static constexpr bool _MoveCopyPair() 32020: { 32020: using __do_converts = __and_, 32020: is_convertible>; 32020: using __converts = typename conditional<__implicit, 32020: __do_converts, 32020: __not_<__do_converts>>::type; 32020: return __and_, 32020: is_constructible<_T2, const _U2&&>, 32020: __converts 32020: >::value; 32020: } 32020: }; 32020: 32020: template 32020: struct _PCC 32020: { 32020: template 32020: static constexpr bool _ConstructiblePair() 32020: { 32020: return false; 32020: } 32020: 32020: template 32020: static constexpr bool _ImplicitlyConvertiblePair() 32020: { 32020: return false; 32020: } 32020: 32020: template 32020: static constexpr bool _MoveConstructiblePair() 32020: { 32020: return false; 32020: } 32020: 32020: template 32020: static constexpr bool _ImplicitlyMoveConvertiblePair() 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: 32020: template class __pair_base 32020: { 32020: 32020: template friend struct pair; 32020: __pair_base() = default; 32020: ~__pair_base() = default; 32020: __pair_base(const __pair_base&) = default; 32020: __pair_base& operator=(const __pair_base&) = delete; 32020: 32020: }; 32020: # 210 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: template 32020: struct pair 32020: : private __pair_base<_T1, _T2> 32020: { 32020: typedef _T1 first_type; 32020: typedef _T2 second_type; 32020: 32020: _T1 first; 32020: _T2 second; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template , 32020: __is_implicitly_default_constructible<_U2>> 32020: ::value, bool>::type = true> 32020: 32020: constexpr pair() 32020: : first(), second() { } 32020: 32020: 32020: template , 32020: is_default_constructible<_U2>, 32020: __not_< 32020: __and_<__is_implicitly_default_constructible<_U1>, 32020: __is_implicitly_default_constructible<_U2>>>> 32020: ::value, bool>::type = false> 32020: explicit constexpr pair() 32020: : first(), second() { } 32020: # 256 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: using _PCCP = _PCC; 32020: 32020: 32020: 32020: template() 32020: && _PCCP::template 32020: _ImplicitlyConvertiblePair<_U1, _U2>(), 32020: bool>::type=true> 32020: constexpr pair(const _T1& __a, const _T2& __b) 32020: : first(__a), second(__b) { } 32020: 32020: 32020: template() 32020: && !_PCCP::template 32020: _ImplicitlyConvertiblePair<_U1, _U2>(), 32020: bool>::type=false> 32020: explicit constexpr pair(const _T1& __a, const _T2& __b) 32020: : first(__a), second(__b) { } 32020: # 288 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: template 32020: using _PCCFP = _PCC::value 32020: || !is_same<_T2, _U2>::value, 32020: _T1, _T2>; 32020: 32020: 32020: template::template 32020: _ConstructiblePair<_U1, _U2>() 32020: && _PCCFP<_U1, _U2>::template 32020: _ImplicitlyConvertiblePair<_U1, _U2>(), 32020: bool>::type=true> 32020: constexpr pair(const pair<_U1, _U2>& __p) 32020: : first(__p.first), second(__p.second) { } 32020: 32020: template::template 32020: _ConstructiblePair<_U1, _U2>() 32020: && !_PCCFP<_U1, _U2>::template 32020: _ImplicitlyConvertiblePair<_U1, _U2>(), 32020: bool>::type=false> 32020: explicit constexpr pair(const pair<_U1, _U2>& __p) 32020: : first(__p.first), second(__p.second) { } 32020: 32020: 32020: 32020: constexpr pair(const pair&) = default; 32020: constexpr pair(pair&&) = default; 32020: 32020: 32020: template(), 32020: bool>::type=true> 32020: constexpr pair(_U1&& __x, const _T2& __y) 32020: : first(std::forward<_U1>(__x)), second(__y) { } 32020: 32020: template(), 32020: bool>::type=false> 32020: explicit constexpr pair(_U1&& __x, const _T2& __y) 32020: : first(std::forward<_U1>(__x)), second(__y) { } 32020: 32020: template(), 32020: bool>::type=true> 32020: constexpr pair(const _T1& __x, _U2&& __y) 32020: : first(__x), second(std::forward<_U2>(__y)) { } 32020: 32020: template(), 32020: bool>::type=false> 32020: explicit pair(const _T1& __x, _U2&& __y) 32020: : first(__x), second(std::forward<_U2>(__y)) { } 32020: 32020: template() 32020: && _PCCP::template 32020: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 32020: bool>::type=true> 32020: constexpr pair(_U1&& __x, _U2&& __y) 32020: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 32020: 32020: template() 32020: && !_PCCP::template 32020: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 32020: bool>::type=false> 32020: explicit constexpr pair(_U1&& __x, _U2&& __y) 32020: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 32020: 32020: 32020: template::template 32020: _MoveConstructiblePair<_U1, _U2>() 32020: && _PCCFP<_U1, _U2>::template 32020: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 32020: bool>::type=true> 32020: constexpr pair(pair<_U1, _U2>&& __p) 32020: : first(std::forward<_U1>(__p.first)), 32020: second(std::forward<_U2>(__p.second)) { } 32020: 32020: template::template 32020: _MoveConstructiblePair<_U1, _U2>() 32020: && !_PCCFP<_U1, _U2>::template 32020: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 32020: bool>::type=false> 32020: explicit constexpr pair(pair<_U1, _U2>&& __p) 32020: : first(std::forward<_U1>(__p.first)), 32020: second(std::forward<_U2>(__p.second)) { } 32020: 32020: template 32020: 32020: pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); 32020: 32020: pair& 32020: operator=(typename conditional< 32020: __and_, 32020: is_copy_assignable<_T2>>::value, 32020: const pair&, const __nonesuch&>::type __p) 32020: { 32020: first = __p.first; 32020: second = __p.second; 32020: return *this; 32020: } 32020: 32020: pair& 32020: operator=(typename conditional< 32020: __and_, 32020: is_move_assignable<_T2>>::value, 32020: pair&&, __nonesuch&&>::type __p) 32020: noexcept(__and_, 32020: is_nothrow_move_assignable<_T2>>::value) 32020: { 32020: first = std::forward(__p.first); 32020: second = std::forward(__p.second); 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: typename enable_if<__and_, 32020: is_assignable<_T2&, const _U2&>>::value, 32020: pair&>::type 32020: operator=(const pair<_U1, _U2>& __p) 32020: { 32020: first = __p.first; 32020: second = __p.second; 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: typename enable_if<__and_, 32020: is_assignable<_T2&, _U2&&>>::value, 32020: pair&>::type 32020: operator=(pair<_U1, _U2>&& __p) 32020: { 32020: first = std::forward<_U1>(__p.first); 32020: second = std::forward<_U2>(__p.second); 32020: return *this; 32020: } 32020: 32020: 32020: void 32020: swap(pair& __p) 32020: noexcept(__and_<__is_nothrow_swappable<_T1>, 32020: __is_nothrow_swappable<_T2>>::value) 32020: { 32020: using std::swap; 32020: swap(first, __p.first); 32020: swap(second, __p.second); 32020: } 32020: 32020: private: 32020: template 32020: 32020: pair(tuple<_Args1...>&, tuple<_Args2...>&, 32020: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: template pair(_T1, _T2) -> pair<_T1, _T2>; 32020: 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 32020: { return __x.first == __y.first && __x.second == __y.second; } 32020: # 487 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: template 32020: inline constexpr bool 32020: operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 32020: { return __x.first < __y.first 32020: || (!(__y.first < __x.first) && __x.second < __y.second); } 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 32020: { return __y < __x; } 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 32020: { return !(__x < __y); } 32020: # 524 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: template 32020: inline 32020: 32020: 32020: typename enable_if<__and_<__is_swappable<_T1>, 32020: __is_swappable<_T2>>::value>::type 32020: 32020: 32020: 32020: swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: template 32020: typename enable_if, 32020: __is_swappable<_T2>>::value>::type 32020: swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; 32020: # 564 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: template 32020: constexpr pair::__type, 32020: typename __decay_and_strip<_T2>::__type> 32020: make_pair(_T1&& __x, _T2&& __y) 32020: { 32020: typedef typename __decay_and_strip<_T1>::__type __ds_type1; 32020: typedef typename __decay_and_strip<_T2>::__type __ds_type2; 32020: typedef pair<__ds_type1, __ds_type2> __pair_type; 32020: return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); 32020: } 32020: # 583 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_pair.h" 3 32020: 32020: } 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 1 3 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: # 74 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 93 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: struct input_iterator_tag { }; 32020: 32020: 32020: struct output_iterator_tag { }; 32020: 32020: 32020: struct forward_iterator_tag : public input_iterator_tag { }; 32020: 32020: 32020: 32020: struct bidirectional_iterator_tag : public forward_iterator_tag { }; 32020: 32020: 32020: 32020: struct random_access_iterator_tag : public bidirectional_iterator_tag { }; 32020: # 125 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: template 32020: struct iterator 32020: { 32020: 32020: typedef _Category iterator_category; 32020: 32020: typedef _Tp value_type; 32020: 32020: typedef _Distance difference_type; 32020: 32020: typedef _Pointer pointer; 32020: 32020: typedef _Reference reference; 32020: }; 32020: # 149 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: template 32020: struct iterator_traits; 32020: 32020: 32020: 32020: 32020: template> 32020: struct __iterator_traits { }; 32020: 32020: 32020: 32020: template 32020: struct __iterator_traits<_Iterator, 32020: __void_t> 32020: { 32020: typedef typename _Iterator::iterator_category iterator_category; 32020: typedef typename _Iterator::value_type value_type; 32020: typedef typename _Iterator::difference_type difference_type; 32020: typedef typename _Iterator::pointer pointer; 32020: typedef typename _Iterator::reference reference; 32020: }; 32020: 32020: 32020: template 32020: struct iterator_traits 32020: : public __iterator_traits<_Iterator> { }; 32020: # 209 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_types.h" 3 32020: template 32020: struct iterator_traits<_Tp*> 32020: { 32020: typedef random_access_iterator_tag iterator_category; 32020: typedef _Tp value_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Tp* pointer; 32020: typedef _Tp& reference; 32020: }; 32020: 32020: 32020: template 32020: struct iterator_traits 32020: { 32020: typedef random_access_iterator_tag iterator_category; 32020: typedef _Tp value_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef const _Tp* pointer; 32020: typedef const _Tp& reference; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr 32020: typename iterator_traits<_Iter>::iterator_category 32020: __iterator_category(const _Iter&) 32020: { return typename iterator_traits<_Iter>::iterator_category(); } 32020: 32020: 32020: 32020: 32020: template 32020: using __iterator_category_t 32020: = typename iterator_traits<_Iter>::iterator_category; 32020: 32020: template 32020: using _RequireInputIter = 32020: __enable_if_t, 32020: input_iterator_tag>::value>; 32020: 32020: template> 32020: struct __is_random_access_iter 32020: : is_base_of 32020: { 32020: typedef is_base_of _Base; 32020: enum { __value = _Base::value }; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 66 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 1 3 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 3 32020: 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/concept_check.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/concept_check.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/concept_check.h" 3 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/debug/assertions.h" 1 3 32020: # 66 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template struct _List_iterator; 32020: template struct _List_const_iterator; 32020: 32020: 32020: template 32020: inline constexpr 32020: typename iterator_traits<_InputIterator>::difference_type 32020: __distance(_InputIterator __first, _InputIterator __last, 32020: input_iterator_tag) 32020: { 32020: 32020: 32020: 32020: typename iterator_traits<_InputIterator>::difference_type __n = 0; 32020: while (__first != __last) 32020: { 32020: ++__first; 32020: ++__n; 32020: } 32020: return __n; 32020: } 32020: 32020: template 32020: inline constexpr 32020: typename iterator_traits<_RandomAccessIterator>::difference_type 32020: __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: random_access_iterator_tag) 32020: { 32020: 32020: 32020: 32020: return __last - __first; 32020: } 32020: 32020: 32020: 32020: template 32020: ptrdiff_t 32020: __distance(std::_List_iterator<_Tp>, 32020: std::_List_iterator<_Tp>, 32020: input_iterator_tag); 32020: 32020: template 32020: ptrdiff_t 32020: __distance(std::_List_const_iterator<_Tp>, 32020: std::_List_const_iterator<_Tp>, 32020: input_iterator_tag); 32020: # 135 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 3 32020: template 32020: inline constexpr 32020: typename iterator_traits<_InputIterator>::difference_type 32020: distance(_InputIterator __first, _InputIterator __last) 32020: { 32020: 32020: return std::__distance(__first, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: template 32020: inline constexpr void 32020: __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) 32020: { 32020: 32020: 32020: ; 32020: while (__n--) 32020: ++__i; 32020: } 32020: 32020: template 32020: inline constexpr void 32020: __advance(_BidirectionalIterator& __i, _Distance __n, 32020: bidirectional_iterator_tag) 32020: { 32020: 32020: 32020: 32020: if (__n > 0) 32020: while (__n--) 32020: ++__i; 32020: else 32020: while (__n++) 32020: --__i; 32020: } 32020: 32020: template 32020: inline constexpr void 32020: __advance(_RandomAccessIterator& __i, _Distance __n, 32020: random_access_iterator_tag) 32020: { 32020: 32020: 32020: 32020: if (__builtin_constant_p(__n) && __n == 1) 32020: ++__i; 32020: else if (__builtin_constant_p(__n) && __n == -1) 32020: --__i; 32020: else 32020: __i += __n; 32020: } 32020: # 200 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator_base_funcs.h" 3 32020: template 32020: inline constexpr void 32020: advance(_InputIterator& __i, _Distance __n) 32020: { 32020: 32020: typename iterator_traits<_InputIterator>::difference_type __d = __n; 32020: std::__advance(__i, __d, std::__iterator_category(__i)); 32020: } 32020: 32020: 32020: 32020: template 32020: inline constexpr _InputIterator 32020: next(_InputIterator __x, typename 32020: iterator_traits<_InputIterator>::difference_type __n = 1) 32020: { 32020: 32020: 32020: std::advance(__x, __n); 32020: return __x; 32020: } 32020: 32020: template 32020: inline constexpr _BidirectionalIterator 32020: prev(_BidirectionalIterator __x, typename 32020: iterator_traits<_BidirectionalIterator>::difference_type __n = 1) 32020: { 32020: 32020: 32020: 32020: std::advance(__x, -__n); 32020: return __x; 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 1 3 32020: # 66 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ptr_traits.h" 1 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ptr_traits.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: class __undefined; 32020: 32020: 32020: template 32020: struct __get_first_arg 32020: { using type = __undefined; }; 32020: 32020: template class _Template, typename _Tp, 32020: typename... _Types> 32020: struct __get_first_arg<_Template<_Tp, _Types...>> 32020: { using type = _Tp; }; 32020: 32020: template 32020: using __get_first_arg_t = typename __get_first_arg<_Tp>::type; 32020: 32020: 32020: template 32020: struct __replace_first_arg 32020: { }; 32020: 32020: template class _Template, typename _Up, 32020: typename _Tp, typename... _Types> 32020: struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> 32020: { using type = _Template<_Up, _Types...>; }; 32020: 32020: template 32020: using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; 32020: 32020: template 32020: using __make_not_void 32020: = typename conditional::value, __undefined, _Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct pointer_traits 32020: { 32020: private: 32020: template 32020: using __element_type = typename _Tp::element_type; 32020: 32020: template 32020: using __difference_type = typename _Tp::difference_type; 32020: 32020: template 32020: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 32020: 32020: template 32020: struct __rebind<_Tp, _Up, __void_t>> 32020: { using type = typename _Tp::template rebind<_Up>; }; 32020: 32020: public: 32020: 32020: using pointer = _Ptr; 32020: 32020: 32020: using element_type 32020: = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>; 32020: 32020: 32020: using difference_type 32020: = __detected_or_t; 32020: 32020: 32020: template 32020: using rebind = typename __rebind<_Ptr, _Up>::type; 32020: 32020: static _Ptr 32020: pointer_to(__make_not_void& __e) 32020: { return _Ptr::pointer_to(__e); } 32020: 32020: static_assert(!is_same::value, 32020: "pointer type defines element_type or is like SomePointer"); 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct pointer_traits<_Tp*> 32020: { 32020: 32020: typedef _Tp* pointer; 32020: 32020: typedef _Tp element_type; 32020: 32020: typedef ptrdiff_t difference_type; 32020: 32020: template 32020: using rebind = _Up*; 32020: 32020: 32020: 32020: 32020: 32020: 32020: static pointer 32020: pointer_to(__make_not_void& __r) noexcept 32020: { return std::addressof(__r); } 32020: }; 32020: 32020: 32020: template 32020: using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; 32020: 32020: template 32020: constexpr _Tp* 32020: __to_address(_Tp* __ptr) noexcept 32020: { 32020: static_assert(!std::is_function<_Tp>::value, "not a function pointer"); 32020: return __ptr; 32020: } 32020: 32020: 32020: template 32020: constexpr typename std::pointer_traits<_Ptr>::element_type* 32020: __to_address(const _Ptr& __ptr) 32020: { return std::__to_address(__ptr.operator->()); } 32020: # 210 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ptr_traits.h" 3 32020: 32020: } 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 2 3 32020: # 85 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 124 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: class reverse_iterator 32020: : public iterator::iterator_category, 32020: typename iterator_traits<_Iterator>::value_type, 32020: typename iterator_traits<_Iterator>::difference_type, 32020: typename iterator_traits<_Iterator>::pointer, 32020: typename iterator_traits<_Iterator>::reference> 32020: { 32020: protected: 32020: _Iterator current; 32020: 32020: typedef iterator_traits<_Iterator> __traits_type; 32020: 32020: public: 32020: typedef _Iterator iterator_type; 32020: typedef typename __traits_type::difference_type difference_type; 32020: typedef typename __traits_type::pointer pointer; 32020: typedef typename __traits_type::reference reference; 32020: # 160 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: constexpr 32020: reverse_iterator() : current() { } 32020: 32020: 32020: 32020: 32020: explicit constexpr 32020: reverse_iterator(iterator_type __x) : current(__x) { } 32020: 32020: 32020: 32020: 32020: constexpr 32020: reverse_iterator(const reverse_iterator& __x) 32020: : current(__x.current) { } 32020: 32020: 32020: reverse_iterator& operator=(const reverse_iterator&) = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr 32020: reverse_iterator(const reverse_iterator<_Iter>& __x) 32020: : current(__x.base()) { } 32020: 32020: 32020: 32020: 32020: constexpr iterator_type 32020: base() const 32020: { return current; } 32020: # 206 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: constexpr reference 32020: operator*() const 32020: { 32020: _Iterator __tmp = current; 32020: return *--__tmp; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr pointer 32020: operator->() const 32020: 32020: 32020: 32020: 32020: { 32020: 32020: 32020: _Iterator __tmp = current; 32020: --__tmp; 32020: return _S_to_pointer(__tmp); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator& 32020: operator++() 32020: { 32020: --current; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator 32020: operator++(int) 32020: { 32020: reverse_iterator __tmp = *this; 32020: --current; 32020: return __tmp; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator& 32020: operator--() 32020: { 32020: ++current; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator 32020: operator--(int) 32020: { 32020: reverse_iterator __tmp = *this; 32020: ++current; 32020: return __tmp; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator 32020: operator+(difference_type __n) const 32020: { return reverse_iterator(current - __n); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator& 32020: operator+=(difference_type __n) 32020: { 32020: current -= __n; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator 32020: operator-(difference_type __n) const 32020: { return reverse_iterator(current + __n); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reverse_iterator& 32020: operator-=(difference_type __n) 32020: { 32020: current += __n; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr reference 32020: operator[](difference_type __n) const 32020: { return *(*this + __n); } 32020: # 360 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: private: 32020: template 32020: static constexpr _Tp* 32020: _S_to_pointer(_Tp* __p) 32020: { return __p; } 32020: 32020: template 32020: static constexpr pointer 32020: _S_to_pointer(_Tp __t) 32020: { return __t.operator->(); } 32020: }; 32020: # 383 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: inline constexpr bool 32020: operator==(const reverse_iterator<_Iterator>& __x, 32020: const reverse_iterator<_Iterator>& __y) 32020: { return __x.base() == __y.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator<(const reverse_iterator<_Iterator>& __x, 32020: const reverse_iterator<_Iterator>& __y) 32020: { return __y.base() < __x.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator!=(const reverse_iterator<_Iterator>& __x, 32020: const reverse_iterator<_Iterator>& __y) 32020: { return !(__x == __y); } 32020: 32020: template 32020: inline constexpr bool 32020: operator>(const reverse_iterator<_Iterator>& __x, 32020: const reverse_iterator<_Iterator>& __y) 32020: { return __y < __x; } 32020: 32020: template 32020: inline constexpr bool 32020: operator<=(const reverse_iterator<_Iterator>& __x, 32020: const reverse_iterator<_Iterator>& __y) 32020: { return !(__y < __x); } 32020: 32020: template 32020: inline constexpr bool 32020: operator>=(const reverse_iterator<_Iterator>& __x, 32020: const reverse_iterator<_Iterator>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator==(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: { return __x.base() == __y.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator<(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: { return __y.base() < __x.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator!=(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: { return !(__x == __y); } 32020: 32020: template 32020: inline constexpr bool 32020: operator>(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: { return __y < __x; } 32020: 32020: template 32020: inline constexpr bool 32020: operator<=(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: { return !(__y < __x); } 32020: 32020: template 32020: inline constexpr bool 32020: operator>=(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: { return !(__x < __y); } 32020: # 523 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: inline constexpr auto 32020: operator-(const reverse_iterator<_IteratorL>& __x, 32020: const reverse_iterator<_IteratorR>& __y) 32020: -> decltype(__y.base() - __x.base()) 32020: { return __y.base() - __x.base(); } 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator<_Iterator> 32020: operator+(typename reverse_iterator<_Iterator>::difference_type __n, 32020: const reverse_iterator<_Iterator>& __x) 32020: { return reverse_iterator<_Iterator>(__x.base() - __n); } 32020: 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator<_Iterator> 32020: __make_reverse_iterator(_Iterator __i) 32020: { return reverse_iterator<_Iterator>(__i); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator<_Iterator> 32020: make_reverse_iterator(_Iterator __i) 32020: { return reverse_iterator<_Iterator>(__i); } 32020: # 564 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: 32020: auto 32020: __niter_base(reverse_iterator<_Iterator> __it) 32020: -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) 32020: { return __make_reverse_iterator(__niter_base(__it.base())); } 32020: 32020: template 32020: struct __is_move_iterator > 32020: : __is_move_iterator<_Iterator> 32020: { }; 32020: 32020: template 32020: 32020: auto 32020: __miter_base(reverse_iterator<_Iterator> __it) 32020: -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) 32020: { return __make_reverse_iterator(__miter_base(__it.base())); } 32020: # 595 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: class back_insert_iterator 32020: : public iterator 32020: { 32020: protected: 32020: _Container* container; 32020: 32020: public: 32020: 32020: typedef _Container container_type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: back_insert_iterator(_Container& __x) 32020: : container(std::__addressof(__x)) { } 32020: # 635 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: 32020: back_insert_iterator& 32020: operator=(const typename _Container::value_type& __value) 32020: { 32020: container->push_back(__value); 32020: return *this; 32020: } 32020: 32020: 32020: back_insert_iterator& 32020: operator=(typename _Container::value_type&& __value) 32020: { 32020: container->push_back(std::move(__value)); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: back_insert_iterator& 32020: operator*() 32020: { return *this; } 32020: 32020: 32020: 32020: back_insert_iterator& 32020: operator++() 32020: { return *this; } 32020: 32020: 32020: 32020: back_insert_iterator 32020: operator++(int) 32020: { return *this; } 32020: }; 32020: # 682 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: 32020: inline back_insert_iterator<_Container> 32020: back_inserter(_Container& __x) 32020: { return back_insert_iterator<_Container>(__x); } 32020: # 698 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: class front_insert_iterator 32020: : public iterator 32020: { 32020: protected: 32020: _Container* container; 32020: 32020: public: 32020: 32020: typedef _Container container_type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: front_insert_iterator(_Container& __x) 32020: : container(std::__addressof(__x)) { } 32020: # 738 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: 32020: front_insert_iterator& 32020: operator=(const typename _Container::value_type& __value) 32020: { 32020: container->push_front(__value); 32020: return *this; 32020: } 32020: 32020: 32020: front_insert_iterator& 32020: operator=(typename _Container::value_type&& __value) 32020: { 32020: container->push_front(std::move(__value)); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: front_insert_iterator& 32020: operator*() 32020: { return *this; } 32020: 32020: 32020: 32020: front_insert_iterator& 32020: operator++() 32020: { return *this; } 32020: 32020: 32020: 32020: front_insert_iterator 32020: operator++(int) 32020: { return *this; } 32020: }; 32020: # 785 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: 32020: inline front_insert_iterator<_Container> 32020: front_inserter(_Container& __x) 32020: { return front_insert_iterator<_Container>(__x); } 32020: # 805 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: class insert_iterator 32020: : public iterator 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef typename _Container::iterator _Iter; 32020: 32020: protected: 32020: _Container* container; 32020: _Iter iter; 32020: 32020: 32020: public: 32020: 32020: typedef _Container container_type; 32020: # 837 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: 32020: insert_iterator(_Container& __x, _Iter __i) 32020: : container(std::__addressof(__x)), iter(__i) {} 32020: # 873 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: 32020: insert_iterator& 32020: operator=(const typename _Container::value_type& __value) 32020: { 32020: iter = container->insert(iter, __value); 32020: ++iter; 32020: return *this; 32020: } 32020: 32020: 32020: insert_iterator& 32020: operator=(typename _Container::value_type&& __value) 32020: { 32020: iter = container->insert(iter, std::move(__value)); 32020: ++iter; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: insert_iterator& 32020: operator*() 32020: { return *this; } 32020: 32020: 32020: 32020: insert_iterator& 32020: operator++() 32020: { return *this; } 32020: 32020: 32020: 32020: insert_iterator& 32020: operator++(int) 32020: { return *this; } 32020: }; 32020: # 929 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: inline insert_iterator<_Container> 32020: inserter(_Container& __x, _Iterator __i) 32020: { 32020: return insert_iterator<_Container>(__x, 32020: typename _Container::iterator(__i)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 954 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: class __normal_iterator 32020: { 32020: protected: 32020: _Iterator _M_current; 32020: 32020: typedef std::iterator_traits<_Iterator> __traits_type; 32020: 32020: public: 32020: typedef _Iterator iterator_type; 32020: typedef typename __traits_type::iterator_category iterator_category; 32020: typedef typename __traits_type::value_type value_type; 32020: typedef typename __traits_type::difference_type difference_type; 32020: typedef typename __traits_type::reference reference; 32020: typedef typename __traits_type::pointer pointer; 32020: 32020: 32020: 32020: 32020: 32020: constexpr __normal_iterator() noexcept 32020: : _M_current(_Iterator()) { } 32020: 32020: explicit 32020: __normal_iterator(const _Iterator& __i) noexcept 32020: : _M_current(__i) { } 32020: 32020: 32020: template 32020: 32020: __normal_iterator(const __normal_iterator<_Iter, 32020: typename __enable_if< 32020: (std::__are_same<_Iter, typename _Container::pointer>::__value), 32020: _Container>::__type>& __i) noexcept 32020: : _M_current(__i.base()) { } 32020: 32020: 32020: 32020: reference 32020: operator*() const noexcept 32020: { return *_M_current; } 32020: 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return _M_current; } 32020: 32020: 32020: __normal_iterator& 32020: operator++() noexcept 32020: { 32020: ++_M_current; 32020: return *this; 32020: } 32020: 32020: 32020: __normal_iterator 32020: operator++(int) noexcept 32020: { return __normal_iterator(_M_current++); } 32020: 32020: 32020: 32020: __normal_iterator& 32020: operator--() noexcept 32020: { 32020: --_M_current; 32020: return *this; 32020: } 32020: 32020: 32020: __normal_iterator 32020: operator--(int) noexcept 32020: { return __normal_iterator(_M_current--); } 32020: 32020: 32020: 32020: reference 32020: operator[](difference_type __n) const noexcept 32020: { return _M_current[__n]; } 32020: 32020: 32020: __normal_iterator& 32020: operator+=(difference_type __n) noexcept 32020: { _M_current += __n; return *this; } 32020: 32020: 32020: __normal_iterator 32020: operator+(difference_type __n) const noexcept 32020: { return __normal_iterator(_M_current + __n); } 32020: 32020: 32020: __normal_iterator& 32020: operator-=(difference_type __n) noexcept 32020: { _M_current -= __n; return *this; } 32020: 32020: 32020: __normal_iterator 32020: operator-(difference_type __n) const noexcept 32020: { return __normal_iterator(_M_current - __n); } 32020: 32020: 32020: const _Iterator& 32020: base() const noexcept 32020: { return _M_current; } 32020: }; 32020: # 1086 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: 32020: inline bool 32020: operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() == __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator==(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() == __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() != __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() != __rhs.base(); } 32020: 32020: 32020: template 32020: inline bool 32020: operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() < __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator<(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() < __rhs.base(); } 32020: 32020: template 32020: inline bool 32020: operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() > __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator>(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() > __rhs.base(); } 32020: 32020: template 32020: inline bool 32020: operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() <= __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() <= __rhs.base(); } 32020: 32020: template 32020: inline bool 32020: operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() >= __rhs.base(); } 32020: 32020: template 32020: 32020: inline bool 32020: operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() >= __rhs.base(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: 32020: 32020: inline auto 32020: operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, 32020: const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept 32020: -> decltype(__lhs.base() - __rhs.base()) 32020: 32020: 32020: 32020: 32020: 32020: { return __lhs.base() - __rhs.base(); } 32020: 32020: template 32020: 32020: inline typename __normal_iterator<_Iterator, _Container>::difference_type 32020: operator-(const __normal_iterator<_Iterator, _Container>& __lhs, 32020: const __normal_iterator<_Iterator, _Container>& __rhs) 32020: noexcept 32020: { return __lhs.base() - __rhs.base(); } 32020: 32020: template 32020: 32020: inline __normal_iterator<_Iterator, _Container> 32020: operator+(typename __normal_iterator<_Iterator, _Container>::difference_type 32020: __n, const __normal_iterator<_Iterator, _Container>& __i) 32020: noexcept 32020: { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } 32020: 32020: 32020: } 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: 32020: _Iterator 32020: __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) 32020: noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) 32020: { return __it.base(); } 32020: # 1285 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: class move_iterator 32020: { 32020: _Iterator _M_current; 32020: 32020: using __traits_type = iterator_traits<_Iterator>; 32020: 32020: 32020: 32020: using __base_ref = typename __traits_type::reference; 32020: 32020: 32020: public: 32020: using iterator_type = _Iterator; 32020: # 1309 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: typedef typename __traits_type::iterator_category iterator_category; 32020: typedef typename __traits_type::value_type value_type; 32020: typedef typename __traits_type::difference_type difference_type; 32020: 32020: typedef _Iterator pointer; 32020: 32020: 32020: typedef typename conditional::value, 32020: typename remove_reference<__base_ref>::type&&, 32020: __base_ref>::type reference; 32020: 32020: 32020: constexpr 32020: move_iterator() 32020: : _M_current() { } 32020: 32020: explicit constexpr 32020: move_iterator(iterator_type __i) 32020: : _M_current(std::move(__i)) { } 32020: 32020: template 32020: constexpr 32020: move_iterator(const move_iterator<_Iter>& __i) 32020: : _M_current(__i.base()) { } 32020: 32020: 32020: constexpr iterator_type 32020: base() const 32020: { return _M_current; } 32020: # 1351 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: constexpr reference 32020: operator*() const 32020: 32020: 32020: 32020: { return static_cast(*_M_current); } 32020: 32020: 32020: constexpr pointer 32020: operator->() const 32020: { return _M_current; } 32020: 32020: constexpr move_iterator& 32020: operator++() 32020: { 32020: ++_M_current; 32020: return *this; 32020: } 32020: 32020: constexpr move_iterator 32020: operator++(int) 32020: { 32020: move_iterator __tmp = *this; 32020: ++_M_current; 32020: return __tmp; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr move_iterator& 32020: operator--() 32020: { 32020: --_M_current; 32020: return *this; 32020: } 32020: 32020: constexpr move_iterator 32020: operator--(int) 32020: { 32020: move_iterator __tmp = *this; 32020: --_M_current; 32020: return __tmp; 32020: } 32020: 32020: constexpr move_iterator 32020: operator+(difference_type __n) const 32020: { return move_iterator(_M_current + __n); } 32020: 32020: constexpr move_iterator& 32020: operator+=(difference_type __n) 32020: { 32020: _M_current += __n; 32020: return *this; 32020: } 32020: 32020: constexpr move_iterator 32020: operator-(difference_type __n) const 32020: { return move_iterator(_M_current - __n); } 32020: 32020: constexpr move_iterator& 32020: operator-=(difference_type __n) 32020: { 32020: _M_current -= __n; 32020: return *this; 32020: } 32020: 32020: constexpr reference 32020: operator[](difference_type __n) const 32020: 32020: 32020: 32020: { return std::move(_M_current[__n]); } 32020: # 1456 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: }; 32020: 32020: template 32020: inline constexpr bool 32020: operator==(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: 32020: 32020: 32020: { return __x.base() == __y.base(); } 32020: # 1475 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: inline constexpr bool 32020: operator!=(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline constexpr bool 32020: operator<(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: 32020: 32020: 32020: { return __x.base() < __y.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator<=(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: 32020: 32020: 32020: { return !(__y < __x); } 32020: 32020: template 32020: inline constexpr bool 32020: operator>(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: 32020: 32020: 32020: { return __y < __x; } 32020: 32020: template 32020: inline constexpr bool 32020: operator>=(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: 32020: 32020: 32020: { return !(__x < __y); } 32020: # 1526 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: inline constexpr bool 32020: operator==(const move_iterator<_Iterator>& __x, 32020: const move_iterator<_Iterator>& __y) 32020: { return __x.base() == __y.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator!=(const move_iterator<_Iterator>& __x, 32020: const move_iterator<_Iterator>& __y) 32020: { return !(__x == __y); } 32020: 32020: template 32020: inline constexpr bool 32020: operator<(const move_iterator<_Iterator>& __x, 32020: const move_iterator<_Iterator>& __y) 32020: { return __x.base() < __y.base(); } 32020: 32020: template 32020: inline constexpr bool 32020: operator<=(const move_iterator<_Iterator>& __x, 32020: const move_iterator<_Iterator>& __y) 32020: { return !(__y < __x); } 32020: 32020: template 32020: inline constexpr bool 32020: operator>(const move_iterator<_Iterator>& __x, 32020: const move_iterator<_Iterator>& __y) 32020: { return __y < __x; } 32020: 32020: template 32020: inline constexpr bool 32020: operator>=(const move_iterator<_Iterator>& __x, 32020: const move_iterator<_Iterator>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: operator-(const move_iterator<_IteratorL>& __x, 32020: const move_iterator<_IteratorR>& __y) 32020: -> decltype(__x.base() - __y.base()) 32020: { return __x.base() - __y.base(); } 32020: 32020: template 32020: inline constexpr move_iterator<_Iterator> 32020: operator+(typename move_iterator<_Iterator>::difference_type __n, 32020: const move_iterator<_Iterator>& __x) 32020: { return __x + __n; } 32020: 32020: template 32020: inline constexpr move_iterator<_Iterator> 32020: make_move_iterator(_Iterator __i) 32020: { return move_iterator<_Iterator>(std::move(__i)); } 32020: 32020: template::value_type>::value, 32020: _Iterator, move_iterator<_Iterator>>::type> 32020: inline constexpr _ReturnType 32020: __make_move_if_noexcept_iterator(_Iterator __i) 32020: { return _ReturnType(__i); } 32020: 32020: 32020: 32020: template::value, 32020: const _Tp*, move_iterator<_Tp*>>::type> 32020: inline constexpr _ReturnType 32020: __make_move_if_noexcept_iterator(_Tp* __i) 32020: { return _ReturnType(__i); } 32020: # 2183 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: auto 32020: __niter_base(move_iterator<_Iterator> __it) 32020: -> decltype(make_move_iterator(__niter_base(__it.base()))) 32020: { return make_move_iterator(__niter_base(__it.base())); } 32020: 32020: template 32020: struct __is_move_iterator > 32020: { 32020: enum { __value = 1 }; 32020: typedef __true_type __type; 32020: }; 32020: 32020: template 32020: auto 32020: __miter_base(move_iterator<_Iterator> __it) 32020: -> decltype(__miter_base(__it.base())) 32020: { return __miter_base(__it.base()); } 32020: # 2213 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_iterator.h" 3 32020: template 32020: using __iter_key_t = remove_const_t< 32020: typename iterator_traits<_InputIterator>::value_type::first_type>; 32020: 32020: template 32020: using __iter_val_t = 32020: typename iterator_traits<_InputIterator>::value_type::second_type; 32020: 32020: template 32020: struct pair; 32020: 32020: template 32020: using __iter_to_alloc_t = 32020: pair>, 32020: __iter_val_t<_InputIterator>>; 32020: 32020: 32020: 32020: } 32020: # 68 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/debug/debug.h" 1 3 32020: # 48 "/usr/arm-linux-gnueabihf/include/c++/10/debug/debug.h" 3 32020: namespace std 32020: { 32020: namespace __debug { } 32020: } 32020: 32020: 32020: 32020: 32020: namespace __gnu_debug 32020: { 32020: using namespace std::__debug; 32020: 32020: template 32020: struct _Safe_iterator; 32020: } 32020: # 70 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/predefined_ops.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/predefined_ops.h" 3 32020: namespace __gnu_cxx 32020: { 32020: namespace __ops 32020: { 32020: struct _Iter_less_iter 32020: { 32020: template 32020: constexpr 32020: bool 32020: operator()(_Iterator1 __it1, _Iterator2 __it2) const 32020: { return *__it1 < *__it2; } 32020: }; 32020: 32020: constexpr 32020: inline _Iter_less_iter 32020: __iter_less_iter() 32020: { return _Iter_less_iter(); } 32020: 32020: struct _Iter_less_val 32020: { 32020: 32020: constexpr _Iter_less_val() = default; 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: _Iter_less_val(_Iter_less_iter) { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it, _Value& __val) const 32020: { return *__it < __val; } 32020: }; 32020: 32020: 32020: inline _Iter_less_val 32020: __iter_less_val() 32020: { return _Iter_less_val(); } 32020: 32020: 32020: inline _Iter_less_val 32020: __iter_comp_val(_Iter_less_iter) 32020: { return _Iter_less_val(); } 32020: 32020: struct _Val_less_iter 32020: { 32020: 32020: constexpr _Val_less_iter() = default; 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: _Val_less_iter(_Iter_less_iter) { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Value& __val, _Iterator __it) const 32020: { return __val < *__it; } 32020: }; 32020: 32020: 32020: inline _Val_less_iter 32020: __val_less_iter() 32020: { return _Val_less_iter(); } 32020: 32020: 32020: inline _Val_less_iter 32020: __val_comp_iter(_Iter_less_iter) 32020: { return _Val_less_iter(); } 32020: 32020: struct _Iter_equal_to_iter 32020: { 32020: template 32020: 32020: bool 32020: operator()(_Iterator1 __it1, _Iterator2 __it2) const 32020: { return *__it1 == *__it2; } 32020: }; 32020: 32020: 32020: inline _Iter_equal_to_iter 32020: __iter_equal_to_iter() 32020: { return _Iter_equal_to_iter(); } 32020: 32020: struct _Iter_equal_to_val 32020: { 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it, _Value& __val) const 32020: { return *__it == __val; } 32020: }; 32020: 32020: 32020: inline _Iter_equal_to_val 32020: __iter_equal_to_val() 32020: { return _Iter_equal_to_val(); } 32020: 32020: 32020: inline _Iter_equal_to_val 32020: __iter_comp_val(_Iter_equal_to_iter) 32020: { return _Iter_equal_to_val(); } 32020: 32020: template 32020: struct _Iter_comp_iter 32020: { 32020: _Compare _M_comp; 32020: 32020: explicit constexpr 32020: _Iter_comp_iter(_Compare __comp) 32020: : _M_comp(std::move(__comp)) 32020: { } 32020: 32020: template 32020: constexpr 32020: bool 32020: operator()(_Iterator1 __it1, _Iterator2 __it2) 32020: { return bool(_M_comp(*__it1, *__it2)); } 32020: }; 32020: 32020: template 32020: constexpr 32020: inline _Iter_comp_iter<_Compare> 32020: __iter_comp_iter(_Compare __comp) 32020: { return _Iter_comp_iter<_Compare>(std::move(__comp)); } 32020: 32020: template 32020: struct _Iter_comp_val 32020: { 32020: _Compare _M_comp; 32020: 32020: 32020: explicit 32020: _Iter_comp_val(_Compare __comp) 32020: : _M_comp(std::move(__comp)) 32020: { } 32020: 32020: 32020: explicit 32020: _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) 32020: : _M_comp(__comp._M_comp) 32020: { } 32020: 32020: 32020: 32020: explicit 32020: _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) 32020: : _M_comp(std::move(__comp._M_comp)) 32020: { } 32020: 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it, _Value& __val) 32020: { return bool(_M_comp(*__it, __val)); } 32020: }; 32020: 32020: template 32020: 32020: inline _Iter_comp_val<_Compare> 32020: __iter_comp_val(_Compare __comp) 32020: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 32020: 32020: template 32020: 32020: inline _Iter_comp_val<_Compare> 32020: __iter_comp_val(_Iter_comp_iter<_Compare> __comp) 32020: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 32020: 32020: template 32020: struct _Val_comp_iter 32020: { 32020: _Compare _M_comp; 32020: 32020: 32020: explicit 32020: _Val_comp_iter(_Compare __comp) 32020: : _M_comp(std::move(__comp)) 32020: { } 32020: 32020: 32020: explicit 32020: _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) 32020: : _M_comp(__comp._M_comp) 32020: { } 32020: 32020: 32020: 32020: explicit 32020: _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) 32020: : _M_comp(std::move(__comp._M_comp)) 32020: { } 32020: 32020: 32020: template 32020: 32020: bool 32020: operator()(_Value& __val, _Iterator __it) 32020: { return bool(_M_comp(__val, *__it)); } 32020: }; 32020: 32020: template 32020: 32020: inline _Val_comp_iter<_Compare> 32020: __val_comp_iter(_Compare __comp) 32020: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 32020: 32020: template 32020: 32020: inline _Val_comp_iter<_Compare> 32020: __val_comp_iter(_Iter_comp_iter<_Compare> __comp) 32020: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 32020: 32020: template 32020: struct _Iter_equals_val 32020: { 32020: _Value& _M_value; 32020: 32020: 32020: explicit 32020: _Iter_equals_val(_Value& __value) 32020: : _M_value(__value) 32020: { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it) 32020: { return *__it == _M_value; } 32020: }; 32020: 32020: template 32020: 32020: inline _Iter_equals_val<_Value> 32020: __iter_equals_val(_Value& __val) 32020: { return _Iter_equals_val<_Value>(__val); } 32020: 32020: template 32020: struct _Iter_equals_iter 32020: { 32020: _Iterator1 _M_it1; 32020: 32020: 32020: explicit 32020: _Iter_equals_iter(_Iterator1 __it1) 32020: : _M_it1(__it1) 32020: { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator2 __it2) 32020: { return *__it2 == *_M_it1; } 32020: }; 32020: 32020: template 32020: 32020: inline _Iter_equals_iter<_Iterator> 32020: __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) 32020: { return _Iter_equals_iter<_Iterator>(__it); } 32020: 32020: template 32020: struct _Iter_pred 32020: { 32020: _Predicate _M_pred; 32020: 32020: 32020: explicit 32020: _Iter_pred(_Predicate __pred) 32020: : _M_pred(std::move(__pred)) 32020: { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it) 32020: { return bool(_M_pred(*__it)); } 32020: }; 32020: 32020: template 32020: 32020: inline _Iter_pred<_Predicate> 32020: __pred_iter(_Predicate __pred) 32020: { return _Iter_pred<_Predicate>(std::move(__pred)); } 32020: 32020: template 32020: struct _Iter_comp_to_val 32020: { 32020: _Compare _M_comp; 32020: _Value& _M_value; 32020: 32020: 32020: _Iter_comp_to_val(_Compare __comp, _Value& __value) 32020: : _M_comp(std::move(__comp)), _M_value(__value) 32020: { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it) 32020: { return bool(_M_comp(*__it, _M_value)); } 32020: }; 32020: 32020: template 32020: _Iter_comp_to_val<_Compare, _Value> 32020: 32020: __iter_comp_val(_Compare __comp, _Value &__val) 32020: { 32020: return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val); 32020: } 32020: 32020: template 32020: struct _Iter_comp_to_iter 32020: { 32020: _Compare _M_comp; 32020: _Iterator1 _M_it1; 32020: 32020: 32020: _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) 32020: : _M_comp(std::move(__comp)), _M_it1(__it1) 32020: { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator2 __it2) 32020: { return bool(_M_comp(*__it2, *_M_it1)); } 32020: }; 32020: 32020: template 32020: 32020: inline _Iter_comp_to_iter<_Compare, _Iterator> 32020: __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) 32020: { 32020: return _Iter_comp_to_iter<_Compare, _Iterator>( 32020: std::move(__comp._M_comp), __it); 32020: } 32020: 32020: template 32020: struct _Iter_negate 32020: { 32020: _Predicate _M_pred; 32020: 32020: 32020: explicit 32020: _Iter_negate(_Predicate __pred) 32020: : _M_pred(std::move(__pred)) 32020: { } 32020: 32020: template 32020: 32020: bool 32020: operator()(_Iterator __it) 32020: { return !bool(_M_pred(*__it)); } 32020: }; 32020: 32020: template 32020: 32020: inline _Iter_negate<_Predicate> 32020: __negate(_Iter_pred<_Predicate> __pred) 32020: { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } 32020: 32020: } 32020: } 32020: # 72 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr 32020: inline int 32020: __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num) 32020: { 32020: 32020: static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp"); 32020: # 105 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); 32020: } 32020: # 149 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline void 32020: iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) 32020: { 32020: 32020: 32020: 32020: 32020: # 182 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: swap(*__a, *__b); 32020: 32020: } 32020: # 198 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: _ForwardIterator2 32020: swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1, (void)++__first2) 32020: std::iter_swap(__first1, __first2); 32020: return __first2; 32020: } 32020: # 227 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: constexpr 32020: inline const _Tp& 32020: min(const _Tp& __a, const _Tp& __b) 32020: { 32020: 32020: 32020: 32020: if (__b < __a) 32020: return __b; 32020: return __a; 32020: } 32020: # 251 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: constexpr 32020: inline const _Tp& 32020: max(const _Tp& __a, const _Tp& __b) 32020: { 32020: 32020: 32020: 32020: if (__a < __b) 32020: return __b; 32020: return __a; 32020: } 32020: # 275 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: constexpr 32020: inline const _Tp& 32020: min(const _Tp& __a, const _Tp& __b, _Compare __comp) 32020: { 32020: 32020: if (__comp(__b, __a)) 32020: return __b; 32020: return __a; 32020: } 32020: # 297 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: constexpr 32020: inline const _Tp& 32020: max(const _Tp& __a, const _Tp& __b, _Compare __comp) 32020: { 32020: 32020: if (__comp(__a, __b)) 32020: return __b; 32020: return __a; 32020: } 32020: 32020: 32020: 32020: template 32020: 32020: inline _Iterator 32020: __niter_base(_Iterator __it) 32020: noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) 32020: { return __it; } 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline _From 32020: __niter_wrap(_From __from, _To __res) 32020: { return __from + (__res - std::__niter_base(__from)); } 32020: 32020: 32020: template 32020: 32020: inline _Iterator 32020: __niter_wrap(const _Iterator&, _Iterator __res) 32020: { return __res; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __copy_move 32020: { 32020: template 32020: 32020: static _OI 32020: __copy_m(_II __first, _II __last, _OI __result) 32020: { 32020: for (; __first != __last; ++__result, (void)++__first) 32020: *__result = *__first; 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct __copy_move 32020: { 32020: template 32020: 32020: static _OI 32020: __copy_m(_II __first, _II __last, _OI __result) 32020: { 32020: for (; __first != __last; ++__result, (void)++__first) 32020: *__result = std::move(*__first); 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template<> 32020: struct __copy_move 32020: { 32020: template 32020: 32020: static _OI 32020: __copy_m(_II __first, _II __last, _OI __result) 32020: { 32020: typedef typename iterator_traits<_II>::difference_type _Distance; 32020: for(_Distance __n = __last - __first; __n > 0; --__n) 32020: { 32020: *__result = *__first; 32020: ++__first; 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template<> 32020: struct __copy_move 32020: { 32020: template 32020: 32020: static _OI 32020: __copy_m(_II __first, _II __last, _OI __result) 32020: { 32020: typedef typename iterator_traits<_II>::difference_type _Distance; 32020: for(_Distance __n = __last - __first; __n > 0; --__n) 32020: { 32020: *__result = std::move(*__first); 32020: ++__first; 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct __copy_move<_IsMove, true, random_access_iterator_tag> 32020: { 32020: template 32020: 32020: static _Tp* 32020: __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) 32020: { 32020: 32020: using __assignable = conditional<_IsMove, 32020: is_move_assignable<_Tp>, 32020: is_copy_assignable<_Tp>>; 32020: 32020: static_assert( __assignable::type::value, "type is not assignable" ); 32020: 32020: const ptrdiff_t _Num = __last - __first; 32020: if (_Num) 32020: __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); 32020: return __result + _Num; 32020: } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct char_traits; 32020: 32020: template 32020: class istreambuf_iterator; 32020: 32020: template 32020: class ostreambuf_iterator; 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 32020: __copy_move_a2(_CharT*, _CharT*, 32020: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 32020: __copy_move_a2(const _CharT*, const _CharT*, 32020: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: _CharT*>::__type 32020: __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, 32020: istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); 32020: 32020: template 32020: 32020: inline _OI 32020: __copy_move_a2(_II __first, _II __last, _OI __result) 32020: { 32020: typedef typename iterator_traits<_II>::iterator_category _Category; 32020: 32020: 32020: 32020: 32020: 32020: return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value, 32020: _Category>::__copy_m(__first, __last, __result); 32020: } 32020: 32020: 32020: 32020: template 32020: struct _Deque_iterator; 32020: 32020: 32020: 32020: template 32020: _OI 32020: __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr>, 32020: _OI); 32020: 32020: template 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*> 32020: __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>, 32020: std::_Deque_iterator<_ITp, _IRef, _IPtr>, 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*>); 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type 32020: __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>); 32020: 32020: template 32020: 32020: inline _OI 32020: __copy_move_a1(_II __first, _II __last, _OI __result) 32020: { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } 32020: 32020: template 32020: 32020: inline _OI 32020: __copy_move_a(_II __first, _II __last, _OI __result) 32020: { 32020: return std::__niter_wrap(__result, 32020: std::__copy_move_a1<_IsMove>(std::__niter_base(__first), 32020: std::__niter_base(__last), 32020: std::__niter_base(__result))); 32020: } 32020: 32020: template 32020: _OI 32020: __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, 32020: const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, 32020: _OI); 32020: 32020: template 32020: __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> 32020: __copy_move_a(_II, _II, 32020: const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); 32020: 32020: template 32020: ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> 32020: __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, 32020: const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, 32020: const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); 32020: # 557 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline _OI 32020: copy(_II __first, _II __last, _OI __result) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__copy_move_a<__is_move_iterator<_II>::__value> 32020: (std::__miter_base(__first), std::__miter_base(__last), __result); 32020: } 32020: # 590 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline _OI 32020: move(_II __first, _II __last, _OI __result) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__copy_move_a(std::__miter_base(__first), 32020: std::__miter_base(__last), __result); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __copy_move_backward 32020: { 32020: template 32020: 32020: static _BI2 32020: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: while (__first != __last) 32020: *--__result = *--__last; 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct __copy_move_backward 32020: { 32020: template 32020: 32020: static _BI2 32020: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: while (__first != __last) 32020: *--__result = std::move(*--__last); 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template<> 32020: struct __copy_move_backward 32020: { 32020: template 32020: 32020: static _BI2 32020: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: typename iterator_traits<_BI1>::difference_type 32020: __n = __last - __first; 32020: for (; __n > 0; --__n) 32020: *--__result = *--__last; 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template<> 32020: struct __copy_move_backward 32020: { 32020: template 32020: 32020: static _BI2 32020: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: typename iterator_traits<_BI1>::difference_type 32020: __n = __last - __first; 32020: for (; __n > 0; --__n) 32020: *--__result = std::move(*--__last); 32020: return __result; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> 32020: { 32020: template 32020: 32020: static _Tp* 32020: __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) 32020: { 32020: 32020: using __assignable = conditional<_IsMove, 32020: is_move_assignable<_Tp>, 32020: is_copy_assignable<_Tp>>; 32020: 32020: static_assert( __assignable::type::value, "type is not assignable" ); 32020: 32020: const ptrdiff_t _Num = __last - __first; 32020: if (_Num) 32020: __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); 32020: return __result - _Num; 32020: } 32020: }; 32020: 32020: template 32020: 32020: inline _BI2 32020: __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: typedef typename iterator_traits<_BI1>::iterator_category _Category; 32020: 32020: 32020: 32020: 32020: 32020: return std::__copy_move_backward<_IsMove, 32020: __memcpyable<_BI2, _BI1>::__value, 32020: _Category>::__copy_move_b(__first, 32020: __last, 32020: __result); 32020: } 32020: 32020: template 32020: 32020: inline _BI2 32020: __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); } 32020: 32020: template 32020: _OI 32020: __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr>, 32020: _OI); 32020: 32020: template 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*> 32020: __copy_move_backward_a1( 32020: std::_Deque_iterator<_ITp, _IRef, _IPtr>, 32020: std::_Deque_iterator<_ITp, _IRef, _IPtr>, 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*>); 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type 32020: __copy_move_backward_a1(_II, _II, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*>); 32020: 32020: template 32020: 32020: inline _OI 32020: __copy_move_backward_a(_II __first, _II __last, _OI __result) 32020: { 32020: return std::__niter_wrap(__result, 32020: std::__copy_move_backward_a1<_IsMove> 32020: (std::__niter_base(__first), std::__niter_base(__last), 32020: std::__niter_base(__result))); 32020: } 32020: 32020: template 32020: _OI 32020: __copy_move_backward_a( 32020: const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, 32020: const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, 32020: _OI); 32020: 32020: template 32020: __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> 32020: __copy_move_backward_a(_II, _II, 32020: const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); 32020: 32020: template 32020: ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> 32020: __copy_move_backward_a( 32020: const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, 32020: const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, 32020: const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); 32020: # 794 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline _BI2 32020: copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value> 32020: (std::__miter_base(__first), std::__miter_base(__last), __result); 32020: } 32020: # 830 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline _BI2 32020: move_backward(_BI1 __first, _BI1 __last, _BI2 __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__copy_move_backward_a(std::__miter_base(__first), 32020: std::__miter_base(__last), 32020: __result); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline typename 32020: __gnu_cxx::__enable_if::__value, void>::__type 32020: __fill_a1(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __value) 32020: { 32020: for (; __first != __last; ++__first) 32020: *__first = __value; 32020: } 32020: 32020: template 32020: 32020: inline typename 32020: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type 32020: __fill_a1(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __value) 32020: { 32020: const _Tp __tmp = __value; 32020: for (; __first != __last; ++__first) 32020: *__first = __tmp; 32020: } 32020: 32020: 32020: template 32020: 32020: inline typename 32020: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type 32020: __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c) 32020: { 32020: const _Tp __tmp = __c; 32020: # 892 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: if (const size_t __len = __last - __first) 32020: __builtin_memset(__first, static_cast(__tmp), __len); 32020: } 32020: 32020: template 32020: 32020: inline void 32020: __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first, 32020: ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last, 32020: const _Tp& __value) 32020: { std::__fill_a1(__first.base(), __last.base(), __value); } 32020: 32020: template 32020: void 32020: __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, 32020: const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, 32020: const _VTp&); 32020: 32020: template 32020: 32020: inline void 32020: __fill_a(_FIte __first, _FIte __last, const _Tp& __value) 32020: { std::__fill_a1(__first, __last, __value); } 32020: 32020: template 32020: void 32020: __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, 32020: const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, 32020: const _Tp&); 32020: # 934 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline void 32020: fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: std::__fill_a(__first, __last, __value); 32020: } 32020: 32020: 32020: inline constexpr int 32020: __size_to_integer(int __n) { return __n; } 32020: inline constexpr unsigned 32020: __size_to_integer(unsigned __n) { return __n; } 32020: inline constexpr long 32020: __size_to_integer(long __n) { return __n; } 32020: inline constexpr unsigned long 32020: __size_to_integer(unsigned long __n) { return __n; } 32020: inline constexpr long long 32020: __size_to_integer(long long __n) { return __n; } 32020: inline constexpr unsigned long long 32020: __size_to_integer(unsigned long long __n) { return __n; } 32020: # 986 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: inline constexpr long long 32020: __size_to_integer(float __n) { return __n; } 32020: inline constexpr long long 32020: __size_to_integer(double __n) { return __n; } 32020: inline constexpr long long 32020: __size_to_integer(long double __n) { return __n; } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline typename 32020: __gnu_cxx::__enable_if::__value, _OutputIterator>::__type 32020: __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) 32020: { 32020: for (; __n > 0; --__n, (void) ++__first) 32020: *__first = __value; 32020: return __first; 32020: } 32020: 32020: template 32020: 32020: inline typename 32020: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type 32020: __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) 32020: { 32020: const _Tp __tmp = __value; 32020: for (; __n > 0; --__n, (void) ++__first) 32020: *__first = __tmp; 32020: return __first; 32020: } 32020: 32020: template 32020: ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> 32020: __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first, 32020: _Size __n, const _Tp& __value, 32020: std::input_iterator_tag); 32020: 32020: template 32020: 32020: inline _OutputIterator 32020: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, 32020: std::output_iterator_tag) 32020: { 32020: 32020: static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); 32020: 32020: return __fill_n_a1(__first, __n, __value); 32020: } 32020: 32020: template 32020: 32020: inline _OutputIterator 32020: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, 32020: std::input_iterator_tag) 32020: { 32020: 32020: static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); 32020: 32020: return __fill_n_a1(__first, __n, __value); 32020: } 32020: 32020: template 32020: 32020: inline _OutputIterator 32020: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, 32020: std::random_access_iterator_tag) 32020: { 32020: 32020: static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); 32020: 32020: if (__n <= 0) 32020: return __first; 32020: 32020: ; 32020: 32020: std::__fill_a(__first, __first + __n, __value); 32020: return __first + __n; 32020: } 32020: # 1086 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline _OI 32020: fill_n(_OI __first, _Size __n, const _Tp& __value) 32020: { 32020: 32020: 32020: 32020: return std::__fill_n_a(__first, std::__size_to_integer(__n), __value, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: template 32020: struct __equal 32020: { 32020: template 32020: 32020: static bool 32020: equal(_II1 __first1, _II1 __last1, _II2 __first2) 32020: { 32020: for (; __first1 != __last1; ++__first1, (void) ++__first2) 32020: if (!(*__first1 == *__first2)) 32020: return false; 32020: return true; 32020: } 32020: }; 32020: 32020: template<> 32020: struct __equal 32020: { 32020: template 32020: 32020: static bool 32020: equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) 32020: { 32020: if (const size_t __len = (__last1 - __first1)) 32020: return !std::__memcmp(__first1, __first2, __len); 32020: return true; 32020: } 32020: }; 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, bool>::__type 32020: __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr>, 32020: _II); 32020: 32020: template 32020: bool 32020: __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, 32020: std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, 32020: std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, bool>::__type 32020: __equal_aux1(_II, _II, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr>); 32020: 32020: template 32020: 32020: inline bool 32020: __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2) 32020: { 32020: typedef typename iterator_traits<_II1>::value_type _ValueType1; 32020: const bool __simple = ((__is_integer<_ValueType1>::__value 32020: || __is_pointer<_ValueType1>::__value) 32020: && __memcmpable<_II1, _II2>::__value); 32020: return std::__equal<__simple>::equal(__first1, __last1, __first2); 32020: } 32020: 32020: template 32020: 32020: inline bool 32020: __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) 32020: { 32020: return std::__equal_aux1(std::__niter_base(__first1), 32020: std::__niter_base(__last1), 32020: std::__niter_base(__first2)); 32020: } 32020: 32020: template 32020: bool 32020: __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, 32020: const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, 32020: _II2); 32020: 32020: template 32020: bool 32020: __equal_aux(_II1, _II1, 32020: const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); 32020: 32020: template 32020: bool 32020: __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, 32020: const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, 32020: const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); 32020: 32020: template 32020: struct __lc_rai 32020: { 32020: template 32020: 32020: static _II1 32020: __newlast1(_II1, _II1 __last1, _II2, _II2) 32020: { return __last1; } 32020: 32020: template 32020: 32020: static bool 32020: __cnd2(_II __first, _II __last) 32020: { return __first != __last; } 32020: }; 32020: 32020: template<> 32020: struct __lc_rai 32020: { 32020: template 32020: 32020: static _RAI1 32020: __newlast1(_RAI1 __first1, _RAI1 __last1, 32020: _RAI2 __first2, _RAI2 __last2) 32020: { 32020: const typename iterator_traits<_RAI1>::difference_type 32020: __diff1 = __last1 - __first1; 32020: const typename iterator_traits<_RAI2>::difference_type 32020: __diff2 = __last2 - __first2; 32020: return __diff2 < __diff1 ? __first1 + __diff2 : __last1; 32020: } 32020: 32020: template 32020: static bool 32020: __cnd2(_RAI, _RAI) 32020: { return true; } 32020: }; 32020: 32020: template 32020: 32020: bool 32020: __lexicographical_compare_impl(_II1 __first1, _II1 __last1, 32020: _II2 __first2, _II2 __last2, 32020: _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_II1>::iterator_category _Category1; 32020: typedef typename iterator_traits<_II2>::iterator_category _Category2; 32020: typedef std::__lc_rai<_Category1, _Category2> __rai_type; 32020: 32020: __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); 32020: for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); 32020: ++__first1, (void)++__first2) 32020: { 32020: if (__comp(__first1, __first2)) 32020: return true; 32020: if (__comp(__first2, __first1)) 32020: return false; 32020: } 32020: return __first1 == __last1 && __first2 != __last2; 32020: } 32020: 32020: template 32020: struct __lexicographical_compare 32020: { 32020: template 32020: 32020: static bool 32020: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 32020: { 32020: using __gnu_cxx::__ops::__iter_less_iter; 32020: return std::__lexicographical_compare_impl(__first1, __last1, 32020: __first2, __last2, 32020: __iter_less_iter()); 32020: } 32020: }; 32020: 32020: template<> 32020: struct __lexicographical_compare 32020: { 32020: template 32020: 32020: static bool 32020: __lc(const _Tp* __first1, const _Tp* __last1, 32020: const _Up* __first2, const _Up* __last2) 32020: { 32020: const size_t __len1 = __last1 - __first1; 32020: const size_t __len2 = __last2 - __first2; 32020: if (const size_t __len = std::min(__len1, __len2)) 32020: if (int __result = std::__memcmp(__first1, __first2, __len)) 32020: return __result < 0; 32020: return __len1 < __len2; 32020: } 32020: }; 32020: 32020: template 32020: 32020: inline bool 32020: __lexicographical_compare_aux(_II1 __first1, _II1 __last1, 32020: _II2 __first2, _II2 __last2) 32020: { 32020: typedef typename iterator_traits<_II1>::value_type _ValueType1; 32020: typedef typename iterator_traits<_II2>::value_type _ValueType2; 32020: const bool __simple = 32020: (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value 32020: && __is_pointer<_II1>::__value 32020: && __is_pointer<_II2>::__value 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ); 32020: 32020: return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, 32020: __first2, __last2); 32020: } 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __lower_bound(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::difference_type 32020: _DistanceType; 32020: 32020: _DistanceType __len = std::distance(__first, __last); 32020: 32020: while (__len > 0) 32020: { 32020: _DistanceType __half = __len >> 1; 32020: _ForwardIterator __middle = __first; 32020: std::advance(__middle, __half); 32020: if (__comp(__middle, __val)) 32020: { 32020: __first = __middle; 32020: ++__first; 32020: __len = __len - __half - 1; 32020: } 32020: else 32020: __len = __half; 32020: } 32020: return __first; 32020: } 32020: # 1345 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__lower_bound(__first, __last, __val, 32020: __gnu_cxx::__ops::__iter_less_val()); 32020: } 32020: 32020: 32020: 32020: inline constexpr int 32020: __lg(int __n) 32020: { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); } 32020: 32020: inline constexpr unsigned 32020: __lg(unsigned __n) 32020: { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); } 32020: 32020: inline constexpr long 32020: __lg(long __n) 32020: { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 32020: 32020: inline constexpr unsigned long 32020: __lg(unsigned long __n) 32020: { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 32020: 32020: inline constexpr long long 32020: __lg(long long __n) 32020: { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 32020: 32020: inline constexpr unsigned long long 32020: __lg(unsigned long long __n) 32020: { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 32020: 32020: 32020: # 1401 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: equal(_II1 __first1, _II1 __last1, _II2 __first2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__equal_aux(__first1, __last1, __first2); 32020: } 32020: # 1432 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: equal(_IIter1 __first1, _IIter1 __last1, 32020: _IIter2 __first2, _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1, (void)++__first2) 32020: if (!bool(__binary_pred(*__first1, *__first2))) 32020: return false; 32020: return true; 32020: } 32020: 32020: 32020: 32020: template 32020: 32020: inline bool 32020: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 32020: { 32020: using _RATag = random_access_iterator_tag; 32020: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 32020: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 32020: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 32020: if (_RAIters()) 32020: { 32020: auto __d1 = std::distance(__first1, __last1); 32020: auto __d2 = std::distance(__first2, __last2); 32020: if (__d1 != __d2) 32020: return false; 32020: return std::equal(__first1, __last1, __first2); 32020: } 32020: 32020: for (; __first1 != __last1 && __first2 != __last2; 32020: ++__first1, (void)++__first2) 32020: if (!(*__first1 == *__first2)) 32020: return false; 32020: return __first1 == __last1 && __first2 == __last2; 32020: } 32020: 32020: 32020: template 32020: 32020: inline bool 32020: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: using _RATag = random_access_iterator_tag; 32020: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 32020: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 32020: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 32020: if (_RAIters()) 32020: { 32020: auto __d1 = std::distance(__first1, __last1); 32020: auto __d2 = std::distance(__first2, __last2); 32020: if (__d1 != __d2) 32020: return false; 32020: return std::equal(__first1, __last1, __first2, 32020: __binary_pred); 32020: } 32020: 32020: for (; __first1 != __last1 && __first2 != __last2; 32020: ++__first1, (void)++__first2) 32020: if (!bool(__binary_pred(*__first1, *__first2))) 32020: return false; 32020: return __first1 == __last1 && __first2 == __last2; 32020: } 32020: # 1522 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__equal4(__first1, __last1, __first2, __last2); 32020: } 32020: # 1555 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: equal(_IIter1 __first1, _IIter1 __last1, 32020: _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__equal4(__first1, __last1, __first2, __last2, 32020: __binary_pred); 32020: } 32020: # 1587 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: lexicographical_compare(_II1 __first1, _II1 __last1, 32020: _II2 __first2, _II2 __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__lexicographical_compare_aux(std::__niter_base(__first1), 32020: std::__niter_base(__last1), 32020: std::__niter_base(__first2), 32020: std::__niter_base(__last2)); 32020: } 32020: # 1624 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: lexicographical_compare(_II1 __first1, _II1 __last1, 32020: _II2 __first2, _II2 __last2, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__lexicographical_compare_impl 32020: (__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: # 1737 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: pair<_InputIterator1, _InputIterator2> 32020: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 32020: { 32020: while (__first1 != __last1 && __binary_pred(__first1, __first2)) 32020: { 32020: ++__first1; 32020: ++__first2; 32020: } 32020: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 32020: } 32020: # 1765 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline pair<_InputIterator1, _InputIterator2> 32020: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__mismatch(__first1, __last1, __first2, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 1799 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline pair<_InputIterator1, _InputIterator2> 32020: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__mismatch(__first1, __last1, __first2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 32020: } 32020: 32020: 32020: 32020: template 32020: 32020: pair<_InputIterator1, _InputIterator2> 32020: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2 32020: && __binary_pred(__first1, __first2)) 32020: { 32020: ++__first1; 32020: ++__first2; 32020: } 32020: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 32020: } 32020: # 1848 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline pair<_InputIterator1, _InputIterator2> 32020: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__mismatch(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 1884 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline pair<_InputIterator1, _InputIterator2> 32020: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__mismatch(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline _InputIterator 32020: __find_if(_InputIterator __first, _InputIterator __last, 32020: _Predicate __pred, input_iterator_tag) 32020: { 32020: while (__first != __last && !__pred(__first)) 32020: ++__first; 32020: return __first; 32020: } 32020: 32020: 32020: template 32020: 32020: _RandomAccessIterator 32020: __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Predicate __pred, random_access_iterator_tag) 32020: { 32020: typename iterator_traits<_RandomAccessIterator>::difference_type 32020: __trip_count = (__last - __first) >> 2; 32020: 32020: for (; __trip_count > 0; --__trip_count) 32020: { 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: } 32020: 32020: switch (__last - __first) 32020: { 32020: case 3: 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: 32020: case 2: 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: 32020: case 1: 32020: if (__pred(__first)) 32020: return __first; 32020: ++__first; 32020: 32020: case 0: 32020: default: 32020: return __last; 32020: } 32020: } 32020: 32020: template 32020: 32020: inline _Iterator 32020: __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) 32020: { 32020: return __find_if(__first, __last, __pred, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: template 32020: 32020: typename iterator_traits<_InputIterator>::difference_type 32020: __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 32020: { 32020: typename iterator_traits<_InputIterator>::difference_type __n = 0; 32020: for (; __first != __last; ++__first) 32020: if (__pred(__first)) 32020: ++__n; 32020: return __n; 32020: } 32020: 32020: 32020: template 32020: 32020: bool 32020: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _BinaryPredicate __pred) 32020: { 32020: 32020: 32020: for (; __first1 != __last1; ++__first1, (void)++__first2) 32020: if (!__pred(__first1, __first2)) 32020: break; 32020: 32020: if (__first1 == __last1) 32020: return true; 32020: 32020: 32020: 32020: _ForwardIterator2 __last2 = __first2; 32020: std::advance(__last2, std::distance(__first1, __last1)); 32020: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 32020: { 32020: if (__scan != std::__find_if(__first1, __scan, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 32020: continue; 32020: 32020: auto __matches 32020: = std::__count_if(__first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 32020: if (0 == __matches || 32020: std::__count_if(__scan, __last1, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 32020: != __matches) 32020: return false; 32020: } 32020: return true; 32020: } 32020: # 2041 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algobase.h" 3 32020: template 32020: 32020: inline bool 32020: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__is_permutation(__first1, __last1, __first2, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 1 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/wchar.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/floatn.h" 1 3 32020: # 52 "/usr/arm-linux-gnueabihf/include/bits/floatn.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/floatn-common.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/floatn-common.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/long-double.h" 1 3 32020: # 25 "/usr/arm-linux-gnueabihf/include/bits/floatn-common.h" 2 3 32020: # 214 "/usr/arm-linux-gnueabihf/include/bits/floatn-common.h" 3 32020: typedef float _Float32; 32020: # 238 "/usr/arm-linux-gnueabihf/include/bits/floatn-common.h" 3 32020: typedef long double _Float64; 32020: # 268 "/usr/arm-linux-gnueabihf/include/bits/floatn-common.h" 3 32020: typedef double _Float32x; 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/floatn.h" 2 3 32020: # 31 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 209 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 3 4 32020: typedef unsigned int size_t; 32020: # 36 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdarg.h" 1 3 4 32020: # 40 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdarg.h" 3 4 32020: typedef __builtin_va_list __gnuc_va_list; 32020: # 39 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wchar.h" 1 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/wint_t.h" 1 3 32020: # 20 "/usr/arm-linux-gnueabihf/include/bits/types/wint_t.h" 3 32020: typedef unsigned int wint_t; 32020: # 42 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/mbstate_t.h" 1 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/__mbstate_t.h" 1 3 32020: # 13 "/usr/arm-linux-gnueabihf/include/bits/types/__mbstate_t.h" 3 32020: typedef struct 32020: { 32020: int __count; 32020: union 32020: { 32020: unsigned int __wch; 32020: char __wchb[4]; 32020: } __value; 32020: } __mbstate_t; 32020: # 5 "/usr/arm-linux-gnueabihf/include/bits/types/mbstate_t.h" 2 3 32020: 32020: typedef __mbstate_t mbstate_t; 32020: # 43 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/__FILE.h" 1 3 32020: 32020: 32020: 32020: struct _IO_FILE; 32020: typedef struct _IO_FILE __FILE; 32020: # 44 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/FILE.h" 1 3 32020: 32020: 32020: 32020: struct _IO_FILE; 32020: 32020: 32020: typedef struct _IO_FILE FILE; 32020: # 47 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/locale_t.h" 1 3 32020: # 22 "/usr/arm-linux-gnueabihf/include/bits/types/locale_t.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/__locale_t.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/bits/types/__locale_t.h" 3 32020: struct __locale_struct 32020: { 32020: 32020: struct __locale_data *__locales[13]; 32020: 32020: 32020: const unsigned short int *__ctype_b; 32020: const int *__ctype_tolower; 32020: const int *__ctype_toupper; 32020: 32020: 32020: const char *__names[13]; 32020: }; 32020: 32020: typedef struct __locale_struct *__locale_t; 32020: # 23 "/usr/arm-linux-gnueabihf/include/bits/types/locale_t.h" 2 3 32020: 32020: typedef __locale_t locale_t; 32020: # 50 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: # 79 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern "C" { 32020: 32020: 32020: 32020: struct tm; 32020: 32020: 32020: 32020: extern wchar_t *wcscpy (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern wchar_t *wcsncpy (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern wchar_t *wcscat (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern wchar_t *wcsncat (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw (); 32020: 32020: 32020: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, 32020: size_t __n) throw (); 32020: 32020: 32020: 32020: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 32020: locale_t __loc) throw (); 32020: 32020: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 32020: size_t __n, locale_t __loc) throw (); 32020: 32020: 32020: 32020: 32020: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw (); 32020: 32020: 32020: 32020: extern size_t wcsxfrm (wchar_t *__restrict __s1, 32020: const wchar_t *__restrict __s2, size_t __n) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, 32020: locale_t __loc) throw (); 32020: 32020: 32020: 32020: 32020: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, 32020: size_t __n, locale_t __loc) throw (); 32020: 32020: 32020: extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__)); 32020: 32020: 32020: 32020: 32020: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) 32020: throw () __asm ("wcschr") __attribute__ ((__pure__)); 32020: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) 32020: throw () __asm ("wcschr") __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) 32020: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 32020: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) 32020: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 32020: # 181 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) 32020: throw () __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) 32020: throw () __attribute__ ((__pure__)); 32020: 32020: 32020: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) 32020: throw () __attribute__ ((__pure__)); 32020: 32020: 32020: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) 32020: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 32020: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, 32020: const wchar_t *__accept) 32020: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) 32020: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 32020: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, 32020: const wchar_t *__needle) 32020: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wchar_t *wcstok (wchar_t *__restrict __s, 32020: const wchar_t *__restrict __delim, 32020: wchar_t **__restrict __ptr) throw (); 32020: 32020: 32020: extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) 32020: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 32020: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, 32020: const wchar_t *__needle) 32020: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 32020: # 240 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) 32020: throw () __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) 32020: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 32020: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, 32020: size_t __n) 32020: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 32020: throw () __attribute__ ((__pure__)); 32020: 32020: 32020: extern wchar_t *wmemcpy (wchar_t *__restrict __s1, 32020: const wchar_t *__restrict __s2, size_t __n) throw (); 32020: 32020: 32020: 32020: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) 32020: throw (); 32020: 32020: 32020: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); 32020: 32020: 32020: 32020: 32020: extern wchar_t *wmempcpy (wchar_t *__restrict __s1, 32020: const wchar_t *__restrict __s2, size_t __n) 32020: throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t btowc (int __c) throw (); 32020: 32020: 32020: 32020: extern int wctob (wint_t __c) throw (); 32020: 32020: 32020: 32020: extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: extern size_t mbrtowc (wchar_t *__restrict __pwc, 32020: const char *__restrict __s, size_t __n, 32020: mbstate_t *__restrict __p) throw (); 32020: 32020: 32020: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, 32020: mbstate_t *__restrict __ps) throw (); 32020: 32020: 32020: extern size_t __mbrlen (const char *__restrict __s, size_t __n, 32020: mbstate_t *__restrict __ps) throw (); 32020: extern size_t mbrlen (const char *__restrict __s, size_t __n, 32020: mbstate_t *__restrict __ps) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t __btowc_alias (int __c) __asm ("btowc"); 32020: extern __inline __attribute__ ((__gnu_inline__)) wint_t 32020: __attribute__ ((__leaf__)) btowc (int __c) throw () 32020: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' 32020: ? (wint_t) __c : __btowc_alias (__c)); } 32020: 32020: extern int __wctob_alias (wint_t __c) __asm ("wctob"); 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: __attribute__ ((__leaf__)) wctob (wint_t __wc) throw () 32020: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' 32020: ? (int) __wc : __wctob_alias (__wc)); } 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) size_t 32020: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () 32020: 32020: { return (__ps != __null 32020: ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } 32020: 32020: 32020: 32020: 32020: extern size_t mbsrtowcs (wchar_t *__restrict __dst, 32020: const char **__restrict __src, size_t __len, 32020: mbstate_t *__restrict __ps) throw (); 32020: 32020: 32020: 32020: extern size_t wcsrtombs (char *__restrict __dst, 32020: const wchar_t **__restrict __src, size_t __len, 32020: mbstate_t *__restrict __ps) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern size_t mbsnrtowcs (wchar_t *__restrict __dst, 32020: const char **__restrict __src, size_t __nmc, 32020: size_t __len, mbstate_t *__restrict __ps) throw (); 32020: 32020: 32020: 32020: extern size_t wcsnrtombs (char *__restrict __dst, 32020: const wchar_t **__restrict __src, 32020: size_t __nwc, size_t __len, 32020: mbstate_t *__restrict __ps) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int wcwidth (wchar_t __c) throw (); 32020: 32020: 32020: 32020: extern int wcswidth (const wchar_t *__s, size_t __n) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern double wcstod (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr) throw (); 32020: 32020: 32020: 32020: extern float wcstof (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr) throw (); 32020: extern long double wcstold (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr) throw (); 32020: # 396 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr) throw (); 32020: 32020: 32020: 32020: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr) throw (); 32020: # 411 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr) throw (); 32020: # 428 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern long int wcstol (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, int __base) throw (); 32020: 32020: 32020: 32020: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, int __base) 32020: throw (); 32020: 32020: 32020: 32020: 32020: __extension__ 32020: extern long long int wcstoll (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, int __base) 32020: throw (); 32020: 32020: 32020: 32020: __extension__ 32020: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: int __base) throw (); 32020: 32020: 32020: 32020: 32020: 32020: __extension__ 32020: extern long long int wcstoq (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, int __base) 32020: throw (); 32020: 32020: 32020: 32020: __extension__ 32020: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: int __base) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int wcstol_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, int __base, 32020: locale_t __loc) throw (); 32020: 32020: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: int __base, locale_t __loc) throw (); 32020: 32020: __extension__ 32020: extern long long int wcstoll_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: int __base, locale_t __loc) throw (); 32020: 32020: __extension__ 32020: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: int __base, locale_t __loc) 32020: throw (); 32020: 32020: extern double wcstod_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, locale_t __loc) 32020: throw (); 32020: 32020: extern float wcstof_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, locale_t __loc) 32020: throw (); 32020: 32020: extern long double wcstold_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: locale_t __loc) throw (); 32020: # 511 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: locale_t __loc) throw (); 32020: 32020: 32020: 32020: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: locale_t __loc) throw (); 32020: # 529 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, 32020: wchar_t **__restrict __endptr, 32020: locale_t __loc) throw (); 32020: # 551 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern wchar_t *wcpcpy (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src) throw (); 32020: 32020: 32020: 32020: extern wchar_t *wcpncpy (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, size_t __n) 32020: throw (); 32020: # 567 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern int fwide (__FILE *__fp, int __mode) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fwprintf (__FILE *__restrict __stream, 32020: const wchar_t *__restrict __format, ...) 32020: ; 32020: 32020: 32020: 32020: 32020: extern int wprintf (const wchar_t *__restrict __format, ...) 32020: ; 32020: 32020: extern int swprintf (wchar_t *__restrict __s, size_t __n, 32020: const wchar_t *__restrict __format, ...) 32020: throw () ; 32020: 32020: 32020: 32020: 32020: 32020: extern int vfwprintf (__FILE *__restrict __s, 32020: const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: ; 32020: 32020: 32020: 32020: 32020: extern int vwprintf (const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: ; 32020: 32020: 32020: extern int vswprintf (wchar_t *__restrict __s, size_t __n, 32020: const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: throw () ; 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fwscanf (__FILE *__restrict __stream, 32020: const wchar_t *__restrict __format, ...) 32020: ; 32020: 32020: 32020: 32020: 32020: extern int wscanf (const wchar_t *__restrict __format, ...) 32020: ; 32020: 32020: extern int swscanf (const wchar_t *__restrict __s, 32020: const wchar_t *__restrict __format, ...) 32020: throw () ; 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf") 32020: 32020: 32020: ; 32020: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf") 32020: 32020: ; 32020: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) throw () __asm__ ("" "__isoc99_swscanf") 32020: 32020: 32020: ; 32020: # 671 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern int vfwscanf (__FILE *__restrict __s, 32020: const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: ; 32020: 32020: 32020: 32020: 32020: extern int vwscanf (const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: ; 32020: 32020: extern int vswscanf (const wchar_t *__restrict __s, 32020: const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: throw () ; 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf") 32020: 32020: 32020: ; 32020: extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf") 32020: 32020: ; 32020: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () __asm__ ("" "__isoc99_vswscanf") 32020: 32020: 32020: ; 32020: # 726 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern wint_t fgetwc (__FILE *__stream); 32020: extern wint_t getwc (__FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t getwchar (void); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t fputwc (wchar_t __wc, __FILE *__stream); 32020: extern wint_t putwc (wchar_t __wc, __FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t putwchar (wchar_t __wc); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, 32020: __FILE *__restrict __stream); 32020: 32020: 32020: 32020: 32020: 32020: extern int fputws (const wchar_t *__restrict __ws, 32020: __FILE *__restrict __stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t ungetwc (wint_t __wc, __FILE *__stream); 32020: # 781 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern wint_t getwc_unlocked (__FILE *__stream); 32020: extern wint_t getwchar_unlocked (void); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t fgetwc_unlocked (__FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); 32020: # 807 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); 32020: extern wint_t putwchar_unlocked (wchar_t __wc); 32020: # 817 "/usr/arm-linux-gnueabihf/include/wchar.h" 3 32020: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, 32020: __FILE *__restrict __stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fputws_unlocked (const wchar_t *__restrict __ws, 32020: __FILE *__restrict __stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, 32020: const wchar_t *__restrict __format, 32020: const struct tm *__restrict __tp) throw (); 32020: 32020: 32020: 32020: 32020: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, 32020: const wchar_t *__restrict __format, 32020: const struct tm *__restrict __tp, 32020: locale_t __loc) throw (); 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wchar2.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/wchar2.h" 3 32020: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, 32020: const wchar_t *__restrict __s2, size_t __n, 32020: size_t __ns1) throw (); 32020: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy") 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 32020: 32020: { 32020: if (__builtin_object_size (__s1, 0) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n)) 32020: return __wmemcpy_chk (__s1, __s2, __n, 32020: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 32020: 32020: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 32020: return __wmemcpy_chk_warn (__s1, __s2, __n, 32020: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 32020: } 32020: return __wmemcpy_alias (__s1, __s2, __n); 32020: } 32020: 32020: 32020: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, 32020: size_t __n, size_t __ns1) throw (); 32020: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove") 32020: 32020: ; 32020: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk") 32020: 32020: 32020: __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () 32020: { 32020: if (__builtin_object_size (__s1, 0) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n)) 32020: return __wmemmove_chk (__s1, __s2, __n, 32020: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 32020: 32020: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 32020: return __wmemmove_chk_warn (__s1, __s2, __n, 32020: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 32020: } 32020: return __wmemmove_alias (__s1, __s2, __n); 32020: } 32020: 32020: 32020: 32020: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, 32020: const wchar_t *__restrict __s2, size_t __n, 32020: size_t __ns1) throw (); 32020: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy") 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 32020: 32020: { 32020: if (__builtin_object_size (__s1, 0) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n)) 32020: return __wmempcpy_chk (__s1, __s2, __n, 32020: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 32020: 32020: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 32020: return __wmempcpy_chk_warn (__s1, __s2, __n, 32020: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 32020: } 32020: return __wmempcpy_alias (__s1, __s2, __n); 32020: } 32020: 32020: 32020: 32020: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, 32020: size_t __ns) throw (); 32020: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset") 32020: ; 32020: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk") 32020: 32020: 32020: __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw () 32020: { 32020: if (__builtin_object_size (__s, 0) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n)) 32020: return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); 32020: 32020: if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) 32020: return __wmemset_chk_warn (__s, __c, __n, 32020: __builtin_object_size (__s, 0) / sizeof (wchar_t)); 32020: } 32020: return __wmemset_alias (__s, __c, __n); 32020: } 32020: 32020: 32020: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, 32020: size_t __n) throw (); 32020: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy") 32020: 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 32020: return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: return __wcscpy_alias (__dest, __src); 32020: } 32020: 32020: 32020: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, 32020: size_t __destlen) throw (); 32020: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcpcpy") 32020: 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 32020: return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: return __wcpcpy_alias (__dest, __src); 32020: } 32020: 32020: 32020: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, size_t __n, 32020: size_t __destlen) throw (); 32020: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy") 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n)) 32020: return __wcsncpy_chk (__dest, __src, __n, 32020: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 32020: return __wcsncpy_chk_warn (__dest, __src, __n, 32020: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: } 32020: return __wcsncpy_alias (__dest, __src, __n); 32020: } 32020: 32020: 32020: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, size_t __n, 32020: size_t __destlen) throw (); 32020: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy") 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n)) 32020: return __wcpncpy_chk (__dest, __src, __n, 32020: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 32020: return __wcpncpy_chk_warn (__dest, __src, __n, 32020: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: } 32020: return __wcpncpy_alias (__dest, __src, __n); 32020: } 32020: 32020: 32020: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, 32020: size_t __destlen) throw (); 32020: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat") 32020: 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 32020: return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: return __wcscat_alias (__dest, __src); 32020: } 32020: 32020: 32020: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, 32020: const wchar_t *__restrict __src, 32020: size_t __n, size_t __destlen) throw (); 32020: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat") 32020: 32020: 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 32020: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 32020: return __wcsncat_chk (__dest, __src, __n, 32020: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 32020: return __wcsncat_alias (__dest, __src, __n); 32020: } 32020: 32020: 32020: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, 32020: int __flag, size_t __s_len, 32020: const wchar_t *__restrict __format, ...) 32020: throw () ; 32020: 32020: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf") 32020: 32020: 32020: ; 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () 32020: 32020: { 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 32020: return __swprintf_chk (__s, __n, 2 - 1, 32020: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 32020: __fmt, __builtin_va_arg_pack ()); 32020: return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); 32020: } 32020: # 303 "/usr/arm-linux-gnueabihf/include/bits/wchar2.h" 3 32020: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, 32020: int __flag, size_t __s_len, 32020: const wchar_t *__restrict __format, 32020: __gnuc_va_list __arg) 32020: throw () ; 32020: 32020: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf") 32020: 32020: 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () 32020: 32020: { 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 32020: return __vswprintf_chk (__s, __n, 2 - 1, 32020: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); 32020: return __vswprintf_alias (__s, __n, __fmt, __ap); 32020: } 32020: 32020: 32020: 32020: 32020: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, 32020: const wchar_t *__restrict __format, ...); 32020: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, 32020: ...); 32020: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, 32020: const wchar_t *__restrict __format, 32020: __gnuc_va_list __ap); 32020: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, 32020: __gnuc_va_list __ap); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: wprintf (const wchar_t *__restrict __fmt, ...) 32020: { 32020: return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) 32020: { 32020: return __fwprintf_chk (__stream, 2 - 1, __fmt, 32020: __builtin_va_arg_pack ()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 32020: { 32020: return __vwprintf_chk (2 - 1, __fmt, __ap); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: vfwprintf (__FILE *__restrict __stream, 32020: const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 32020: { 32020: return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); 32020: } 32020: 32020: 32020: 32020: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, 32020: __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 32020: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 32020: { 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n) || __n <= 0) 32020: return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 32020: __n, __stream); 32020: 32020: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 32020: return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 32020: __n, __stream); 32020: } 32020: return __fgetws_alias (__s, __n, __stream); 32020: } 32020: 32020: 32020: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, 32020: int __n, __FILE *__restrict __stream) 32020: __attribute__ ((__warn_unused_result__)); 32020: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") 32020: 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 32020: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 32020: { 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n) || __n <= 0) 32020: return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 32020: __n, __stream); 32020: 32020: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 32020: return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 32020: __n, __stream); 32020: } 32020: return __fgetws_unlocked_alias (__s, __n, __stream); 32020: } 32020: 32020: 32020: 32020: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, 32020: mbstate_t *__restrict __p, 32020: size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); 32020: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb") 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 32020: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () 32020: 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 32020: return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); 32020: return __wcrtomb_alias (__s, __wchar, __ps); 32020: } 32020: 32020: 32020: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, 32020: const char **__restrict __src, 32020: size_t __len, mbstate_t *__restrict __ps, 32020: size_t __dstlen) throw (); 32020: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs") 32020: 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: 32020: __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 32020: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__len)) 32020: return __mbsrtowcs_chk (__dst, __src, __len, __ps, 32020: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 32020: 32020: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 32020: return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, 32020: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 32020: } 32020: return __mbsrtowcs_alias (__dst, __src, __len, __ps); 32020: } 32020: 32020: 32020: extern size_t __wcsrtombs_chk (char *__restrict __dst, 32020: const wchar_t **__restrict __src, 32020: size_t __len, mbstate_t *__restrict __ps, 32020: size_t __dstlen) throw (); 32020: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs") 32020: 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 32020: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__len)) 32020: return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 32020: 32020: if (__len > __builtin_object_size (__dst, 2 > 1)) 32020: return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 32020: } 32020: return __wcsrtombs_alias (__dst, __src, __len, __ps); 32020: } 32020: 32020: 32020: 32020: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, 32020: const char **__restrict __src, size_t __nmc, 32020: size_t __len, mbstate_t *__restrict __ps, 32020: size_t __dstlen) throw (); 32020: 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") 32020: 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: 32020: __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 32020: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__len)) 32020: return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, 32020: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 32020: 32020: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 32020: return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, 32020: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 32020: } 32020: return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); 32020: } 32020: 32020: 32020: extern size_t __wcsnrtombs_chk (char *__restrict __dst, 32020: const wchar_t **__restrict __src, 32020: size_t __nwc, size_t __len, 32020: mbstate_t *__restrict __ps, size_t __dstlen) 32020: throw (); 32020: 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") 32020: 32020: 32020: 32020: ; 32020: 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") 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 32020: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__len)) 32020: return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, 32020: __builtin_object_size (__dst, 2 > 1)); 32020: 32020: if (__len > __builtin_object_size (__dst, 2 > 1)) 32020: return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, 32020: __builtin_object_size (__dst, 2 > 1)); 32020: } 32020: return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); 32020: } 32020: # 850 "/usr/arm-linux-gnueabihf/include/wchar.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 45 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 2 3 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: namespace std 32020: { 32020: using ::mbstate_t; 32020: } 32020: # 135 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: extern "C++" 32020: { 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: using ::wint_t; 32020: 32020: using ::btowc; 32020: using ::fgetwc; 32020: using ::fgetws; 32020: using ::fputwc; 32020: using ::fputws; 32020: using ::fwide; 32020: using ::fwprintf; 32020: using ::fwscanf; 32020: using ::getwc; 32020: using ::getwchar; 32020: using ::mbrlen; 32020: using ::mbrtowc; 32020: using ::mbsinit; 32020: using ::mbsrtowcs; 32020: using ::putwc; 32020: using ::putwchar; 32020: 32020: using ::swprintf; 32020: 32020: using ::swscanf; 32020: using ::ungetwc; 32020: using ::vfwprintf; 32020: 32020: using ::vfwscanf; 32020: 32020: 32020: using ::vswprintf; 32020: 32020: 32020: using ::vswscanf; 32020: 32020: using ::vwprintf; 32020: 32020: using ::vwscanf; 32020: 32020: using ::wcrtomb; 32020: using ::wcscat; 32020: using ::wcscmp; 32020: using ::wcscoll; 32020: using ::wcscpy; 32020: using ::wcscspn; 32020: using ::wcsftime; 32020: using ::wcslen; 32020: using ::wcsncat; 32020: using ::wcsncmp; 32020: using ::wcsncpy; 32020: using ::wcsrtombs; 32020: using ::wcsspn; 32020: using ::wcstod; 32020: 32020: using ::wcstof; 32020: 32020: using ::wcstok; 32020: using ::wcstol; 32020: using ::wcstoul; 32020: using ::wcsxfrm; 32020: using ::wctob; 32020: using ::wmemcmp; 32020: using ::wmemcpy; 32020: using ::wmemmove; 32020: using ::wmemset; 32020: using ::wprintf; 32020: using ::wscanf; 32020: using ::wcschr; 32020: using ::wcspbrk; 32020: using ::wcsrchr; 32020: using ::wcsstr; 32020: using ::wmemchr; 32020: # 234 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx 32020: { 32020: 32020: 32020: 32020: 32020: 32020: using ::wcstold; 32020: # 260 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: using ::wcstoll; 32020: using ::wcstoull; 32020: 32020: } 32020: 32020: namespace std 32020: { 32020: using ::__gnu_cxx::wcstold; 32020: using ::__gnu_cxx::wcstoll; 32020: using ::__gnu_cxx::wcstoull; 32020: } 32020: # 280 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: namespace std 32020: { 32020: 32020: using std::wcstof; 32020: 32020: 32020: using std::vfwscanf; 32020: 32020: 32020: using std::vswscanf; 32020: 32020: 32020: using std::vwscanf; 32020: 32020: 32020: 32020: using std::wcstold; 32020: using std::wcstoll; 32020: using std::wcstoull; 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 2 3 32020: # 68 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 90 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: typedef long long streamoff; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef ptrdiff_t streamsize; 32020: # 111 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: template 32020: class fpos 32020: { 32020: private: 32020: streamoff _M_off; 32020: _StateT _M_state; 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: fpos() 32020: : _M_off(0), _M_state() { } 32020: # 133 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: fpos(streamoff __off) 32020: : _M_off(__off), _M_state() { } 32020: 32020: 32020: fpos(const fpos&) = default; 32020: fpos& operator=(const fpos&) = default; 32020: ~fpos() = default; 32020: 32020: 32020: 32020: operator streamoff() const { return _M_off; } 32020: 32020: 32020: void 32020: state(_StateT __st) 32020: { _M_state = __st; } 32020: 32020: 32020: _StateT 32020: state() const 32020: { return _M_state; } 32020: 32020: 32020: 32020: 32020: 32020: fpos& 32020: operator+=(streamoff __off) 32020: { 32020: _M_off += __off; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: fpos& 32020: operator-=(streamoff __off) 32020: { 32020: _M_off -= __off; 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: fpos 32020: operator+(streamoff __off) const 32020: { 32020: fpos __pos(*this); 32020: __pos += __off; 32020: return __pos; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: fpos 32020: operator-(streamoff __off) const 32020: { 32020: fpos __pos(*this); 32020: __pos -= __off; 32020: return __pos; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: streamoff 32020: operator-(const fpos& __other) const 32020: { return _M_off - __other._M_off; } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 32020: { return streamoff(__lhs) == streamoff(__rhs); } 32020: 32020: template 32020: inline bool 32020: operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 32020: { return streamoff(__lhs) != streamoff(__rhs); } 32020: 32020: 32020: 32020: 32020: 32020: typedef fpos streampos; 32020: 32020: typedef fpos wstreampos; 32020: # 245 "/usr/arm-linux-gnueabihf/include/c++/10/bits/postypes.h" 3 32020: typedef fpos u16streampos; 32020: 32020: typedef fpos u32streampos; 32020: 32020: 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 2 3 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: template 32020: struct _Char_types 32020: { 32020: typedef unsigned long int_type; 32020: typedef std::streampos pos_type; 32020: typedef std::streamoff off_type; 32020: typedef std::mbstate_t state_type; 32020: }; 32020: # 89 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: template 32020: struct char_traits 32020: { 32020: typedef _CharT char_type; 32020: typedef typename _Char_types<_CharT>::int_type int_type; 32020: typedef typename _Char_types<_CharT>::pos_type pos_type; 32020: typedef typename _Char_types<_CharT>::off_type off_type; 32020: typedef typename _Char_types<_CharT>::state_type state_type; 32020: 32020: 32020: 32020: 32020: static constexpr void 32020: assign(char_type& __c1, const char_type& __c2) 32020: { __c1 = __c2; } 32020: 32020: static constexpr bool 32020: eq(const char_type& __c1, const char_type& __c2) 32020: { return __c1 == __c2; } 32020: 32020: static constexpr bool 32020: lt(const char_type& __c1, const char_type& __c2) 32020: { return __c1 < __c2; } 32020: 32020: static constexpr int 32020: compare(const char_type* __s1, const char_type* __s2, std::size_t __n); 32020: 32020: static constexpr std::size_t 32020: length(const char_type* __s); 32020: 32020: static constexpr const char_type* 32020: find(const char_type* __s, std::size_t __n, const char_type& __a); 32020: 32020: static char_type* 32020: move(char_type* __s1, const char_type* __s2, std::size_t __n); 32020: 32020: static char_type* 32020: copy(char_type* __s1, const char_type* __s2, std::size_t __n); 32020: 32020: static char_type* 32020: assign(char_type* __s, std::size_t __n, char_type __a); 32020: 32020: static constexpr char_type 32020: to_char_type(const int_type& __c) 32020: { return static_cast(__c); } 32020: 32020: static constexpr int_type 32020: to_int_type(const char_type& __c) 32020: { return static_cast(__c); } 32020: 32020: static constexpr bool 32020: eq_int_type(const int_type& __c1, const int_type& __c2) 32020: { return __c1 == __c2; } 32020: 32020: static constexpr int_type 32020: eof() 32020: { return static_cast(-1); } 32020: 32020: static constexpr int_type 32020: not_eof(const int_type& __c) 32020: { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } 32020: }; 32020: 32020: template 32020: constexpr int 32020: char_traits<_CharT>:: 32020: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) 32020: { 32020: for (std::size_t __i = 0; __i < __n; ++__i) 32020: if (lt(__s1[__i], __s2[__i])) 32020: return -1; 32020: else if (lt(__s2[__i], __s1[__i])) 32020: return 1; 32020: return 0; 32020: } 32020: 32020: template 32020: constexpr std::size_t 32020: char_traits<_CharT>:: 32020: length(const char_type* __p) 32020: { 32020: std::size_t __i = 0; 32020: while (!eq(__p[__i], char_type())) 32020: ++__i; 32020: return __i; 32020: } 32020: 32020: template 32020: constexpr const typename char_traits<_CharT>::char_type* 32020: char_traits<_CharT>:: 32020: find(const char_type* __s, std::size_t __n, const char_type& __a) 32020: { 32020: for (std::size_t __i = 0; __i < __n; ++__i) 32020: if (eq(__s[__i], __a)) 32020: return __s + __i; 32020: return 0; 32020: } 32020: 32020: template 32020: 32020: typename char_traits<_CharT>::char_type* 32020: char_traits<_CharT>:: 32020: move(char_type* __s1, const char_type* __s2, std::size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: # 205 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, 32020: __n * sizeof(char_type))); 32020: } 32020: 32020: template 32020: 32020: typename char_traits<_CharT>::char_type* 32020: char_traits<_CharT>:: 32020: copy(char_type* __s1, const char_type* __s2, std::size_t __n) 32020: { 32020: 32020: std::copy(__s2, __s2 + __n, __s1); 32020: return __s1; 32020: } 32020: 32020: template 32020: 32020: typename char_traits<_CharT>::char_type* 32020: char_traits<_CharT>:: 32020: assign(char_type* __s, std::size_t __n, char_type __a) 32020: { 32020: 32020: std::fill_n(__s, __n, __a); 32020: return __s; 32020: } 32020: 32020: 32020: } 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 255 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: template 32020: static inline __attribute__((__always_inline__)) constexpr bool 32020: __constant_string_p(const _CharT* __s) 32020: { 32020: 32020: (void) __s; 32020: 32020: return __builtin_is_constant_evaluated(); 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 278 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: template 32020: static inline __attribute__((__always_inline__)) constexpr bool 32020: __constant_char_array_p(const _CharT* __a, size_t __n) 32020: { 32020: 32020: (void) __a; 32020: (void) __n; 32020: 32020: return __builtin_is_constant_evaluated(); 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 309 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: template 32020: struct char_traits : public __gnu_cxx::char_traits<_CharT> 32020: { }; 32020: 32020: 32020: 32020: template<> 32020: struct char_traits 32020: { 32020: typedef char char_type; 32020: typedef int int_type; 32020: typedef streampos pos_type; 32020: typedef streamoff off_type; 32020: typedef mbstate_t state_type; 32020: 32020: 32020: 32020: 32020: static constexpr void 32020: assign(char_type& __c1, const char_type& __c2) noexcept 32020: { __c1 = __c2; } 32020: 32020: static constexpr bool 32020: eq(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr bool 32020: lt(const char_type& __c1, const char_type& __c2) noexcept 32020: { 32020: 32020: return (static_cast(__c1) 32020: < static_cast(__c2)); 32020: } 32020: 32020: static constexpr int 32020: compare(const char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return 0; 32020: 32020: if (__builtin_constant_p(__n) 32020: && __constant_char_array_p(__s1, __n) 32020: && __constant_char_array_p(__s2, __n)) 32020: return __gnu_cxx::char_traits::compare(__s1, __s2, __n); 32020: 32020: return __builtin_memcmp(__s1, __s2, __n); 32020: } 32020: 32020: static constexpr size_t 32020: length(const char_type* __s) 32020: { 32020: 32020: if (__constant_string_p(__s)) 32020: return __gnu_cxx::char_traits::length(__s); 32020: 32020: return __builtin_strlen(__s); 32020: } 32020: 32020: static constexpr const char_type* 32020: find(const char_type* __s, size_t __n, const char_type& __a) 32020: { 32020: if (__n == 0) 32020: return 0; 32020: 32020: if (__builtin_constant_p(__n) 32020: && __builtin_constant_p(__a) 32020: && __constant_char_array_p(__s, __n)) 32020: return __gnu_cxx::char_traits::find(__s, __n, __a); 32020: 32020: return static_cast(__builtin_memchr(__s, __a, __n)); 32020: } 32020: 32020: static char_type* 32020: move(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return static_cast(__builtin_memmove(__s1, __s2, __n)); 32020: } 32020: 32020: static char_type* 32020: copy(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return static_cast(__builtin_memcpy(__s1, __s2, __n)); 32020: } 32020: 32020: static char_type* 32020: assign(char_type* __s, size_t __n, char_type __a) 32020: { 32020: if (__n == 0) 32020: return __s; 32020: 32020: 32020: 32020: 32020: return static_cast(__builtin_memset(__s, __a, __n)); 32020: } 32020: 32020: static constexpr char_type 32020: to_char_type(const int_type& __c) noexcept 32020: { return static_cast(__c); } 32020: 32020: 32020: 32020: static constexpr int_type 32020: to_int_type(const char_type& __c) noexcept 32020: { return static_cast(static_cast(__c)); } 32020: 32020: static constexpr bool 32020: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr int_type 32020: eof() noexcept 32020: { return static_cast(-1); } 32020: 32020: static constexpr int_type 32020: not_eof(const int_type& __c) noexcept 32020: { return (__c == eof()) ? 0 : __c; } 32020: }; 32020: 32020: 32020: 32020: 32020: template<> 32020: struct char_traits 32020: { 32020: typedef wchar_t char_type; 32020: typedef wint_t int_type; 32020: typedef streamoff off_type; 32020: typedef wstreampos pos_type; 32020: typedef mbstate_t state_type; 32020: 32020: 32020: 32020: 32020: static constexpr void 32020: assign(char_type& __c1, const char_type& __c2) noexcept 32020: { __c1 = __c2; } 32020: 32020: static constexpr bool 32020: eq(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr bool 32020: lt(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 < __c2; } 32020: 32020: static constexpr int 32020: compare(const char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return 0; 32020: 32020: if (__builtin_constant_p(__n) 32020: && __constant_char_array_p(__s1, __n) 32020: && __constant_char_array_p(__s2, __n)) 32020: return __gnu_cxx::char_traits::compare(__s1, __s2, __n); 32020: 32020: return wmemcmp(__s1, __s2, __n); 32020: } 32020: 32020: static constexpr size_t 32020: length(const char_type* __s) 32020: { 32020: 32020: if (__constant_string_p(__s)) 32020: return __gnu_cxx::char_traits::length(__s); 32020: 32020: return wcslen(__s); 32020: } 32020: 32020: static constexpr const char_type* 32020: find(const char_type* __s, size_t __n, const char_type& __a) 32020: { 32020: if (__n == 0) 32020: return 0; 32020: 32020: if (__builtin_constant_p(__n) 32020: && __builtin_constant_p(__a) 32020: && __constant_char_array_p(__s, __n)) 32020: return __gnu_cxx::char_traits::find(__s, __n, __a); 32020: 32020: return wmemchr(__s, __a, __n); 32020: } 32020: 32020: static char_type* 32020: move(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return wmemmove(__s1, __s2, __n); 32020: } 32020: 32020: static char_type* 32020: copy(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return wmemcpy(__s1, __s2, __n); 32020: } 32020: 32020: static char_type* 32020: assign(char_type* __s, size_t __n, char_type __a) 32020: { 32020: if (__n == 0) 32020: return __s; 32020: 32020: 32020: 32020: 32020: return wmemset(__s, __a, __n); 32020: } 32020: 32020: static constexpr char_type 32020: to_char_type(const int_type& __c) noexcept 32020: { return char_type(__c); } 32020: 32020: static constexpr int_type 32020: to_int_type(const char_type& __c) noexcept 32020: { return int_type(__c); } 32020: 32020: static constexpr bool 32020: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr int_type 32020: eof() noexcept 32020: { return static_cast((0xffffffffu)); } 32020: 32020: static constexpr int_type 32020: not_eof(const int_type& __c) noexcept 32020: { return eq_int_type(__c, eof()) ? 0 : __c; } 32020: }; 32020: # 687 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: 32020: } 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cstdint" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/cstdint" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/cstdint" 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/cstdint" 3 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdint.h" 1 3 4 32020: # 9 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdint.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/stdint.h" 1 3 4 32020: # 26 "/usr/arm-linux-gnueabihf/include/stdint.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 4 32020: # 27 "/usr/arm-linux-gnueabihf/include/stdint.h" 2 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types.h" 1 3 4 32020: # 27 "/usr/arm-linux-gnueabihf/include/bits/types.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 4 32020: # 28 "/usr/arm-linux-gnueabihf/include/bits/types.h" 2 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/timesize.h" 1 3 4 32020: # 19 "/usr/arm-linux-gnueabihf/include/bits/timesize.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 4 32020: # 20 "/usr/arm-linux-gnueabihf/include/bits/timesize.h" 2 3 4 32020: # 29 "/usr/arm-linux-gnueabihf/include/bits/types.h" 2 3 4 32020: 32020: 32020: typedef unsigned char __u_char; 32020: typedef unsigned short int __u_short; 32020: typedef unsigned int __u_int; 32020: typedef unsigned long int __u_long; 32020: 32020: 32020: typedef signed char __int8_t; 32020: typedef unsigned char __uint8_t; 32020: typedef signed short int __int16_t; 32020: typedef unsigned short int __uint16_t; 32020: typedef signed int __int32_t; 32020: typedef unsigned int __uint32_t; 32020: 32020: 32020: 32020: 32020: __extension__ typedef signed long long int __int64_t; 32020: __extension__ typedef unsigned long long int __uint64_t; 32020: 32020: 32020: 32020: typedef __int8_t __int_least8_t; 32020: typedef __uint8_t __uint_least8_t; 32020: typedef __int16_t __int_least16_t; 32020: typedef __uint16_t __uint_least16_t; 32020: typedef __int32_t __int_least32_t; 32020: typedef __uint32_t __uint_least32_t; 32020: typedef __int64_t __int_least64_t; 32020: typedef __uint64_t __uint_least64_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __extension__ typedef long long int __quad_t; 32020: __extension__ typedef unsigned long long int __u_quad_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __extension__ typedef long long int __intmax_t; 32020: __extension__ typedef unsigned long long int __uintmax_t; 32020: # 141 "/usr/arm-linux-gnueabihf/include/bits/types.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/typesizes.h" 1 3 4 32020: # 142 "/usr/arm-linux-gnueabihf/include/bits/types.h" 2 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/time64.h" 1 3 4 32020: # 143 "/usr/arm-linux-gnueabihf/include/bits/types.h" 2 3 4 32020: 32020: 32020: __extension__ typedef __uint64_t __dev_t; 32020: __extension__ typedef unsigned int __uid_t; 32020: __extension__ typedef unsigned int __gid_t; 32020: __extension__ typedef unsigned long int __ino_t; 32020: __extension__ typedef __uint64_t __ino64_t; 32020: __extension__ typedef unsigned int __mode_t; 32020: __extension__ typedef unsigned int __nlink_t; 32020: __extension__ typedef long int __off_t; 32020: __extension__ typedef __int64_t __off64_t; 32020: __extension__ typedef int __pid_t; 32020: __extension__ typedef struct { int __val[2]; } __fsid_t; 32020: __extension__ typedef long int __clock_t; 32020: __extension__ typedef unsigned long int __rlim_t; 32020: __extension__ typedef __uint64_t __rlim64_t; 32020: __extension__ typedef unsigned int __id_t; 32020: __extension__ typedef long int __time_t; 32020: __extension__ typedef unsigned int __useconds_t; 32020: __extension__ typedef long int __suseconds_t; 32020: 32020: __extension__ typedef int __daddr_t; 32020: __extension__ typedef int __key_t; 32020: 32020: 32020: __extension__ typedef int __clockid_t; 32020: 32020: 32020: __extension__ typedef void * __timer_t; 32020: 32020: 32020: __extension__ typedef long int __blksize_t; 32020: 32020: 32020: 32020: 32020: __extension__ typedef long int __blkcnt_t; 32020: __extension__ typedef __int64_t __blkcnt64_t; 32020: 32020: 32020: __extension__ typedef unsigned long int __fsblkcnt_t; 32020: __extension__ typedef __uint64_t __fsblkcnt64_t; 32020: 32020: 32020: __extension__ typedef unsigned long int __fsfilcnt_t; 32020: __extension__ typedef __uint64_t __fsfilcnt64_t; 32020: 32020: 32020: __extension__ typedef int __fsword_t; 32020: 32020: __extension__ typedef int __ssize_t; 32020: 32020: 32020: __extension__ typedef long int __syscall_slong_t; 32020: 32020: __extension__ typedef unsigned long int __syscall_ulong_t; 32020: 32020: 32020: 32020: typedef __off64_t __loff_t; 32020: typedef char *__caddr_t; 32020: 32020: 32020: __extension__ typedef int __intptr_t; 32020: 32020: 32020: __extension__ typedef unsigned int __socklen_t; 32020: 32020: 32020: 32020: 32020: typedef int __sig_atomic_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __extension__ typedef __int64_t __time64_t; 32020: # 28 "/usr/arm-linux-gnueabihf/include/stdint.h" 2 3 4 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 4 32020: # 30 "/usr/arm-linux-gnueabihf/include/stdint.h" 2 3 4 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdint-intn.h" 1 3 4 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/stdint-intn.h" 3 4 32020: typedef __int8_t int8_t; 32020: typedef __int16_t int16_t; 32020: typedef __int32_t int32_t; 32020: typedef __int64_t int64_t; 32020: # 35 "/usr/arm-linux-gnueabihf/include/stdint.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdint-uintn.h" 1 3 4 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/stdint-uintn.h" 3 4 32020: typedef __uint8_t uint8_t; 32020: typedef __uint16_t uint16_t; 32020: typedef __uint32_t uint32_t; 32020: typedef __uint64_t uint64_t; 32020: # 38 "/usr/arm-linux-gnueabihf/include/stdint.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: typedef __int_least8_t int_least8_t; 32020: typedef __int_least16_t int_least16_t; 32020: typedef __int_least32_t int_least32_t; 32020: typedef __int_least64_t int_least64_t; 32020: 32020: 32020: typedef __uint_least8_t uint_least8_t; 32020: typedef __uint_least16_t uint_least16_t; 32020: typedef __uint_least32_t uint_least32_t; 32020: typedef __uint_least64_t uint_least64_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef signed char int_fast8_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef int int_fast16_t; 32020: typedef int int_fast32_t; 32020: __extension__ 32020: typedef long long int int_fast64_t; 32020: 32020: 32020: 32020: typedef unsigned char uint_fast8_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef unsigned int uint_fast16_t; 32020: typedef unsigned int uint_fast32_t; 32020: __extension__ 32020: typedef unsigned long long int uint_fast64_t; 32020: # 93 "/usr/arm-linux-gnueabihf/include/stdint.h" 3 4 32020: typedef int intptr_t; 32020: 32020: 32020: typedef unsigned int uintptr_t; 32020: 32020: 32020: 32020: 32020: typedef __intmax_t intmax_t; 32020: typedef __uintmax_t uintmax_t; 32020: # 10 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdint.h" 2 3 4 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/cstdint" 2 3 32020: 32020: 32020: namespace std 32020: { 32020: 32020: using ::int8_t; 32020: using ::int16_t; 32020: using ::int32_t; 32020: using ::int64_t; 32020: 32020: using ::int_fast8_t; 32020: using ::int_fast16_t; 32020: using ::int_fast32_t; 32020: using ::int_fast64_t; 32020: 32020: using ::int_least8_t; 32020: using ::int_least16_t; 32020: using ::int_least32_t; 32020: using ::int_least64_t; 32020: 32020: using ::intmax_t; 32020: using ::intptr_t; 32020: 32020: using ::uint8_t; 32020: using ::uint16_t; 32020: using ::uint32_t; 32020: using ::uint64_t; 32020: 32020: using ::uint_fast8_t; 32020: using ::uint_fast16_t; 32020: using ::uint_fast32_t; 32020: using ::uint_fast64_t; 32020: 32020: using ::uint_least8_t; 32020: using ::uint_least16_t; 32020: using ::uint_least32_t; 32020: using ::uint_least64_t; 32020: 32020: using ::uintmax_t; 32020: using ::uintptr_t; 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 693 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template<> 32020: struct char_traits 32020: { 32020: typedef char16_t char_type; 32020: 32020: typedef uint_least16_t int_type; 32020: 32020: 32020: 32020: 32020: 32020: typedef streamoff off_type; 32020: typedef u16streampos pos_type; 32020: typedef mbstate_t state_type; 32020: 32020: 32020: 32020: 32020: static constexpr void 32020: assign(char_type& __c1, const char_type& __c2) noexcept 32020: { __c1 = __c2; } 32020: 32020: static constexpr bool 32020: eq(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr bool 32020: lt(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 < __c2; } 32020: 32020: static constexpr int 32020: compare(const char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: for (size_t __i = 0; __i < __n; ++__i) 32020: if (lt(__s1[__i], __s2[__i])) 32020: return -1; 32020: else if (lt(__s2[__i], __s1[__i])) 32020: return 1; 32020: return 0; 32020: } 32020: 32020: static constexpr size_t 32020: length(const char_type* __s) 32020: { 32020: size_t __i = 0; 32020: while (!eq(__s[__i], char_type())) 32020: ++__i; 32020: return __i; 32020: } 32020: 32020: static constexpr const char_type* 32020: find(const char_type* __s, size_t __n, const char_type& __a) 32020: { 32020: for (size_t __i = 0; __i < __n; ++__i) 32020: if (eq(__s[__i], __a)) 32020: return __s + __i; 32020: return 0; 32020: } 32020: 32020: static char_type* 32020: move(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return (static_cast 32020: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 32020: } 32020: 32020: static char_type* 32020: copy(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return (static_cast 32020: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 32020: } 32020: 32020: static char_type* 32020: assign(char_type* __s, size_t __n, char_type __a) 32020: { 32020: for (size_t __i = 0; __i < __n; ++__i) 32020: assign(__s[__i], __a); 32020: return __s; 32020: } 32020: 32020: static constexpr char_type 32020: to_char_type(const int_type& __c) noexcept 32020: { return char_type(__c); } 32020: 32020: static constexpr int_type 32020: to_int_type(const char_type& __c) noexcept 32020: { return __c == eof() ? int_type(0xfffd) : int_type(__c); } 32020: 32020: static constexpr bool 32020: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr int_type 32020: eof() noexcept 32020: { return static_cast(-1); } 32020: 32020: static constexpr int_type 32020: not_eof(const int_type& __c) noexcept 32020: { return eq_int_type(__c, eof()) ? 0 : __c; } 32020: }; 32020: 32020: template<> 32020: struct char_traits 32020: { 32020: typedef char32_t char_type; 32020: 32020: typedef uint_least32_t int_type; 32020: 32020: 32020: 32020: 32020: 32020: typedef streamoff off_type; 32020: typedef u32streampos pos_type; 32020: typedef mbstate_t state_type; 32020: 32020: 32020: 32020: 32020: static constexpr void 32020: assign(char_type& __c1, const char_type& __c2) noexcept 32020: { __c1 = __c2; } 32020: 32020: static constexpr bool 32020: eq(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr bool 32020: lt(const char_type& __c1, const char_type& __c2) noexcept 32020: { return __c1 < __c2; } 32020: 32020: static constexpr int 32020: compare(const char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: for (size_t __i = 0; __i < __n; ++__i) 32020: if (lt(__s1[__i], __s2[__i])) 32020: return -1; 32020: else if (lt(__s2[__i], __s1[__i])) 32020: return 1; 32020: return 0; 32020: } 32020: 32020: static constexpr size_t 32020: length(const char_type* __s) 32020: { 32020: size_t __i = 0; 32020: while (!eq(__s[__i], char_type())) 32020: ++__i; 32020: return __i; 32020: } 32020: 32020: static constexpr const char_type* 32020: find(const char_type* __s, size_t __n, const char_type& __a) 32020: { 32020: for (size_t __i = 0; __i < __n; ++__i) 32020: if (eq(__s[__i], __a)) 32020: return __s + __i; 32020: return 0; 32020: } 32020: 32020: static char_type* 32020: move(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return (static_cast 32020: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 32020: } 32020: 32020: static char_type* 32020: copy(char_type* __s1, const char_type* __s2, size_t __n) 32020: { 32020: if (__n == 0) 32020: return __s1; 32020: 32020: 32020: 32020: 32020: return (static_cast 32020: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 32020: } 32020: 32020: static char_type* 32020: assign(char_type* __s, size_t __n, char_type __a) 32020: { 32020: for (size_t __i = 0; __i < __n; ++__i) 32020: assign(__s[__i], __a); 32020: return __s; 32020: } 32020: 32020: static constexpr char_type 32020: to_char_type(const int_type& __c) noexcept 32020: { return char_type(__c); } 32020: 32020: static constexpr int_type 32020: to_int_type(const char_type& __c) noexcept 32020: { return int_type(__c); } 32020: 32020: static constexpr bool 32020: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 32020: { return __c1 == __c2; } 32020: 32020: static constexpr int_type 32020: eof() noexcept 32020: { return static_cast(-1); } 32020: 32020: static constexpr int_type 32020: not_eof(const int_type& __c) noexcept 32020: { return eq_int_type(__c, eof()) ? 0 : __c; } 32020: }; 32020: # 945 "/usr/arm-linux-gnueabihf/include/c++/10/bits/char_traits.h" 3 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h" 1 3 32020: # 46 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++allocator.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++allocator.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/new" 1 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/new" 3 32020: 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/new" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 3 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception.h" 1 3 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception.h" 3 32020: 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception.h" 3 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: 32020: 32020: extern "C++" { 32020: 32020: namespace std 32020: { 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception.h" 3 32020: class exception 32020: { 32020: public: 32020: exception() noexcept { } 32020: virtual ~exception() noexcept; 32020: 32020: exception(const exception&) = default; 32020: exception& operator=(const exception&) = default; 32020: exception(exception&&) = default; 32020: exception& operator=(exception&&) = default; 32020: 32020: 32020: 32020: 32020: virtual const char* 32020: what() const noexcept; 32020: }; 32020: 32020: } 32020: 32020: } 32020: 32020: #pragma GCC visibility pop 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 2 3 32020: 32020: extern "C++" { 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: class bad_exception : public exception 32020: { 32020: public: 32020: bad_exception() noexcept { } 32020: 32020: 32020: 32020: virtual ~bad_exception() noexcept; 32020: 32020: 32020: virtual const char* 32020: what() const noexcept; 32020: }; 32020: 32020: 32020: typedef void (*terminate_handler) (); 32020: 32020: 32020: typedef void (*unexpected_handler) (); 32020: 32020: 32020: terminate_handler set_terminate(terminate_handler) noexcept; 32020: 32020: 32020: 32020: terminate_handler get_terminate() noexcept; 32020: 32020: 32020: 32020: 32020: void terminate() noexcept __attribute__ ((__noreturn__)); 32020: 32020: 32020: unexpected_handler set_unexpected(unexpected_handler) noexcept; 32020: 32020: 32020: 32020: unexpected_handler get_unexpected() noexcept; 32020: 32020: 32020: 32020: 32020: void unexpected() __attribute__ ((__noreturn__)); 32020: # 105 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 3 32020: [[__deprecated__]] 32020: bool uncaught_exception() noexcept __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: 32020: int uncaught_exceptions() noexcept __attribute__ ((__pure__)); 32020: 32020: 32020: 32020: } 32020: 32020: namespace __gnu_cxx 32020: { 32020: 32020: # 137 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 3 32020: void __verbose_terminate_handler(); 32020: 32020: 32020: } 32020: 32020: } 32020: 32020: #pragma GCC visibility pop 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 1 3 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 3 32020: #pragma GCC visibility push(default) 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_init_exception.h" 1 3 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_init_exception.h" 3 32020: 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_init_exception.h" 3 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 143 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 3 4 32020: typedef int ptrdiff_t; 32020: # 415 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 3 4 32020: typedef struct { 32020: long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); 32020: long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); 32020: # 426 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 3 4 32020: } max_align_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef decltype(nullptr) nullptr_t; 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_init_exception.h" 2 3 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_init_exception.h" 3 32020: namespace std 32020: { 32020: class type_info; 32020: } 32020: 32020: namespace __cxxabiv1 32020: { 32020: struct __cxa_refcounted_exception; 32020: 32020: extern "C" 32020: { 32020: 32020: void* 32020: __cxa_allocate_exception(size_t) noexcept; 32020: 32020: void 32020: __cxa_free_exception(void*) noexcept; 32020: 32020: 32020: __cxa_refcounted_exception* 32020: __cxa_init_primary_exception(void *object, std::type_info *tinfo, 32020: void ( *dest) (void *)) noexcept; 32020: 32020: } 32020: } 32020: 32020: 32020: 32020: #pragma GCC visibility pop 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/typeinfo" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/typeinfo" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/typeinfo" 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hash_bytes.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hash_bytes.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hash_bytes.h" 3 32020: 32020: 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_t 32020: _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); 32020: 32020: 32020: 32020: 32020: 32020: size_t 32020: _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); 32020: 32020: 32020: } 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/typeinfo" 2 3 32020: 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: extern "C++" { 32020: 32020: namespace __cxxabiv1 32020: { 32020: class __class_type_info; 32020: } 32020: # 80 "/usr/arm-linux-gnueabihf/include/c++/10/typeinfo" 3 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: class type_info 32020: { 32020: public: 32020: 32020: 32020: 32020: 32020: virtual ~type_info(); 32020: 32020: 32020: 32020: const char* name() const noexcept 32020: { return __name[0] == '*' ? __name + 1 : __name; } 32020: 32020: 32020: 32020: 32020: 32020: bool before(const type_info& __arg) const noexcept; 32020: bool operator==(const type_info& __arg) const noexcept; 32020: # 138 "/usr/arm-linux-gnueabihf/include/c++/10/typeinfo" 3 32020: bool operator!=(const type_info& __arg) const noexcept 32020: { return !operator==(__arg); } 32020: 32020: 32020: 32020: size_t hash_code() const noexcept 32020: { 32020: 32020: return _Hash_bytes(name(), __builtin_strlen(name()), 32020: static_cast(0xc70f6907UL)); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: virtual bool __is_pointer_p() const; 32020: 32020: 32020: virtual bool __is_function_p() const; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, 32020: unsigned __outer) const; 32020: 32020: 32020: virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, 32020: void **__obj_ptr) const; 32020: 32020: protected: 32020: const char *__name; 32020: 32020: explicit type_info(const char *__n): __name(__n) { } 32020: 32020: private: 32020: 32020: type_info& operator=(const type_info&); 32020: type_info(const type_info&); 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class bad_cast : public exception 32020: { 32020: public: 32020: bad_cast() noexcept { } 32020: 32020: 32020: 32020: virtual ~bad_cast() noexcept; 32020: 32020: 32020: virtual const char* what() const noexcept; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: class bad_typeid : public exception 32020: { 32020: public: 32020: bad_typeid () noexcept { } 32020: 32020: 32020: 32020: virtual ~bad_typeid() noexcept; 32020: 32020: 32020: virtual const char* what() const noexcept; 32020: }; 32020: } 32020: 32020: } 32020: 32020: #pragma GCC visibility pop 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/new" 1 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 2 3 32020: 32020: extern "C++" { 32020: 32020: namespace std 32020: { 32020: class type_info; 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __exception_ptr 32020: { 32020: class exception_ptr; 32020: } 32020: 32020: using __exception_ptr::exception_ptr; 32020: 32020: 32020: 32020: 32020: 32020: exception_ptr current_exception() noexcept; 32020: 32020: template 32020: exception_ptr make_exception_ptr(_Ex) noexcept; 32020: 32020: 32020: void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); 32020: 32020: namespace __exception_ptr 32020: { 32020: using std::rethrow_exception; 32020: 32020: 32020: 32020: 32020: 32020: class exception_ptr 32020: { 32020: void* _M_exception_object; 32020: 32020: explicit exception_ptr(void* __e) noexcept; 32020: 32020: void _M_addref() noexcept; 32020: void _M_release() noexcept; 32020: 32020: void *_M_get() const noexcept __attribute__ ((__pure__)); 32020: 32020: friend exception_ptr std::current_exception() noexcept; 32020: friend void std::rethrow_exception(exception_ptr); 32020: template 32020: friend exception_ptr std::make_exception_ptr(_Ex) noexcept; 32020: 32020: public: 32020: exception_ptr() noexcept; 32020: 32020: exception_ptr(const exception_ptr&) noexcept; 32020: 32020: 32020: exception_ptr(nullptr_t) noexcept 32020: : _M_exception_object(0) 32020: { } 32020: 32020: exception_ptr(exception_ptr&& __o) noexcept 32020: : _M_exception_object(__o._M_exception_object) 32020: { __o._M_exception_object = 0; } 32020: # 118 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 3 32020: exception_ptr& 32020: operator=(const exception_ptr&) noexcept; 32020: 32020: 32020: exception_ptr& 32020: operator=(exception_ptr&& __o) noexcept 32020: { 32020: exception_ptr(static_cast(__o)).swap(*this); 32020: return *this; 32020: } 32020: 32020: 32020: ~exception_ptr() noexcept; 32020: 32020: void 32020: swap(exception_ptr&) noexcept; 32020: # 145 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 3 32020: explicit operator bool() const 32020: { return _M_exception_object; } 32020: 32020: 32020: friend bool 32020: operator==(const exception_ptr&, const exception_ptr&) 32020: noexcept __attribute__ ((__pure__)); 32020: 32020: const class std::type_info* 32020: __cxa_exception_type() const noexcept 32020: __attribute__ ((__pure__)); 32020: }; 32020: 32020: 32020: 32020: bool 32020: operator==(const exception_ptr&, const exception_ptr&) 32020: noexcept __attribute__ ((__pure__)); 32020: 32020: bool 32020: operator!=(const exception_ptr&, const exception_ptr&) 32020: noexcept __attribute__ ((__pure__)); 32020: 32020: inline void 32020: swap(exception_ptr& __lhs, exception_ptr& __rhs) 32020: { __lhs.swap(__rhs); } 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: __dest_thunk(void* __x) 32020: { static_cast<_Ex*>(__x)->~_Ex(); } 32020: 32020: 32020: } 32020: 32020: 32020: template 32020: exception_ptr 32020: make_exception_ptr(_Ex __ex) noexcept 32020: { 32020: 32020: void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); 32020: (void) __cxxabiv1::__cxa_init_primary_exception( 32020: __e, const_cast(&typeid(__ex)), 32020: __exception_ptr::__dest_thunk<_Ex>); 32020: try 32020: { 32020: ::new (__e) _Ex(__ex); 32020: return exception_ptr(__e); 32020: } 32020: catch(...) 32020: { 32020: __cxxabiv1::__cxa_free_exception(__e); 32020: return current_exception(); 32020: } 32020: # 215 "/usr/arm-linux-gnueabihf/include/c++/10/bits/exception_ptr.h" 3 32020: } 32020: 32020: 32020: } 32020: 32020: } 32020: 32020: #pragma GCC visibility pop 32020: # 148 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/nested_exception.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/nested_exception.h" 3 32020: #pragma GCC visibility push(default) 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/nested_exception.h" 3 32020: extern "C++" { 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: class nested_exception 32020: { 32020: exception_ptr _M_ptr; 32020: 32020: public: 32020: nested_exception() noexcept : _M_ptr(current_exception()) { } 32020: 32020: nested_exception(const nested_exception&) noexcept = default; 32020: 32020: nested_exception& operator=(const nested_exception&) noexcept = default; 32020: 32020: virtual ~nested_exception() noexcept; 32020: 32020: [[noreturn]] 32020: void 32020: rethrow_nested() const 32020: { 32020: if (_M_ptr) 32020: rethrow_exception(_M_ptr); 32020: std::terminate(); 32020: } 32020: 32020: exception_ptr 32020: nested_ptr() const noexcept 32020: { return _M_ptr; } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct _Nested_exception : public _Except, public nested_exception 32020: { 32020: explicit _Nested_exception(const _Except& __ex) 32020: : _Except(__ex) 32020: { } 32020: 32020: explicit _Nested_exception(_Except&& __ex) 32020: : _Except(static_cast<_Except&&>(__ex)) 32020: { } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: [[noreturn]] 32020: inline void 32020: __throw_with_nested_impl(_Tp&& __t, true_type) 32020: { 32020: using _Up = typename remove_reference<_Tp>::type; 32020: throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; 32020: } 32020: 32020: template 32020: [[noreturn]] 32020: inline void 32020: __throw_with_nested_impl(_Tp&& __t, false_type) 32020: { throw std::forward<_Tp>(__t); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: [[noreturn]] 32020: inline void 32020: throw_with_nested(_Tp&& __t) 32020: { 32020: using _Up = typename decay<_Tp>::type; 32020: using _CopyConstructible 32020: = __and_, is_move_constructible<_Up>>; 32020: static_assert(_CopyConstructible::value, 32020: "throw_with_nested argument must be CopyConstructible"); 32020: using __nest = __and_, __bool_constant, 32020: __not_>>; 32020: std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: using __rethrow_if_nested_cond = typename enable_if< 32020: __and_, 32020: __or_<__not_>, 32020: is_convertible<_Tp*, nested_exception*>>>::value 32020: >::type; 32020: 32020: 32020: template 32020: inline __rethrow_if_nested_cond<_Ex> 32020: __rethrow_if_nested_impl(const _Ex* __ptr) 32020: { 32020: if (auto __ne_ptr = dynamic_cast(__ptr)) 32020: __ne_ptr->rethrow_nested(); 32020: } 32020: 32020: 32020: inline void 32020: __rethrow_if_nested_impl(const void*) 32020: { } 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: rethrow_if_nested(const _Ex& __ex) 32020: { std::__rethrow_if_nested_impl(std::__addressof(__ex)); } 32020: 32020: 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: #pragma GCC visibility pop 32020: # 149 "/usr/arm-linux-gnueabihf/include/c++/10/exception" 2 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/new" 2 3 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: extern "C++" { 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: class bad_alloc : public exception 32020: { 32020: public: 32020: bad_alloc() throw() { } 32020: 32020: 32020: bad_alloc(const bad_alloc&) = default; 32020: bad_alloc& operator=(const bad_alloc&) = default; 32020: 32020: 32020: 32020: 32020: virtual ~bad_alloc() throw(); 32020: 32020: 32020: virtual const char* what() const throw(); 32020: }; 32020: 32020: 32020: class bad_array_new_length : public bad_alloc 32020: { 32020: public: 32020: bad_array_new_length() throw() { } 32020: 32020: 32020: 32020: virtual ~bad_array_new_length() throw(); 32020: 32020: 32020: virtual const char* what() const throw(); 32020: }; 32020: 32020: 32020: 32020: enum class align_val_t: size_t {}; 32020: 32020: 32020: struct nothrow_t 32020: { 32020: 32020: explicit nothrow_t() = default; 32020: 32020: }; 32020: 32020: extern const nothrow_t nothrow; 32020: 32020: 32020: 32020: typedef void (*new_handler)(); 32020: 32020: 32020: 32020: new_handler set_new_handler(new_handler) throw(); 32020: 32020: 32020: 32020: new_handler get_new_handler() noexcept; 32020: 32020: } 32020: # 126 "/usr/arm-linux-gnueabihf/include/c++/10/new" 3 32020: [[__nodiscard__]] void* operator new(std::size_t) 32020: __attribute__((__externally_visible__)); 32020: [[__nodiscard__]] void* operator new[](std::size_t) 32020: __attribute__((__externally_visible__)); 32020: void operator delete(void*) noexcept 32020: __attribute__((__externally_visible__)); 32020: void operator delete[](void*) noexcept 32020: __attribute__((__externally_visible__)); 32020: 32020: void operator delete(void*, std::size_t) noexcept 32020: __attribute__((__externally_visible__)); 32020: void operator delete[](void*, std::size_t) noexcept 32020: __attribute__((__externally_visible__)); 32020: 32020: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept 32020: __attribute__((__externally_visible__, __malloc__)); 32020: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept 32020: __attribute__((__externally_visible__, __malloc__)); 32020: void operator delete(void*, const std::nothrow_t&) noexcept 32020: __attribute__((__externally_visible__)); 32020: void operator delete[](void*, const std::nothrow_t&) noexcept 32020: __attribute__((__externally_visible__)); 32020: 32020: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t) 32020: __attribute__((__externally_visible__)); 32020: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) 32020: noexcept __attribute__((__externally_visible__, __malloc__)); 32020: void operator delete(void*, std::align_val_t) 32020: noexcept __attribute__((__externally_visible__)); 32020: void operator delete(void*, std::align_val_t, const std::nothrow_t&) 32020: noexcept __attribute__((__externally_visible__)); 32020: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t) 32020: __attribute__((__externally_visible__)); 32020: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) 32020: noexcept __attribute__((__externally_visible__, __malloc__)); 32020: void operator delete[](void*, std::align_val_t) 32020: noexcept __attribute__((__externally_visible__)); 32020: void operator delete[](void*, std::align_val_t, const std::nothrow_t&) 32020: noexcept __attribute__((__externally_visible__)); 32020: 32020: void operator delete(void*, std::size_t, std::align_val_t) 32020: noexcept __attribute__((__externally_visible__)); 32020: void operator delete[](void*, std::size_t, std::align_val_t) 32020: noexcept __attribute__((__externally_visible__)); 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept 32020: { return __p; } 32020: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept 32020: { return __p; } 32020: 32020: 32020: inline void operator delete (void*, void*) noexcept { } 32020: inline void operator delete[](void*, void*) noexcept { } 32020: 32020: } 32020: 32020: 32020: 32020: namespace std 32020: { 32020: 32020: 32020: template 32020: [[nodiscard]] constexpr _Tp* 32020: launder(_Tp* __p) noexcept 32020: { return __builtin_launder(__p); } 32020: 32020: 32020: 32020: 32020: template 32020: void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete; 32020: template 32020: void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete; 32020: 32020: void launder(void*) = delete; 32020: void launder(const void*) = delete; 32020: void launder(volatile void*) = delete; 32020: void launder(const volatile void*) = delete; 32020: } 32020: # 230 "/usr/arm-linux-gnueabihf/include/c++/10/new" 3 32020: #pragma GCC visibility pop 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 54 "/usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h" 3 32020: template 32020: class new_allocator 32020: { 32020: public: 32020: typedef _Tp value_type; 32020: typedef std::size_t size_type; 32020: typedef std::ptrdiff_t difference_type; 32020: 32020: typedef _Tp* pointer; 32020: typedef const _Tp* const_pointer; 32020: typedef _Tp& reference; 32020: typedef const _Tp& const_reference; 32020: 32020: template 32020: struct rebind 32020: { typedef new_allocator<_Tp1> other; }; 32020: 32020: 32020: 32020: 32020: 32020: typedef std::true_type propagate_on_container_move_assignment; 32020: 32020: 32020: 32020: new_allocator() noexcept { } 32020: 32020: 32020: new_allocator(const new_allocator&) noexcept { } 32020: 32020: template 32020: 32020: new_allocator(const new_allocator<_Tp1>&) noexcept { } 32020: 32020: 32020: ~new_allocator() noexcept { } 32020: 32020: pointer 32020: address(reference __x) const noexcept 32020: { return std::__addressof(__x); } 32020: 32020: const_pointer 32020: address(const_reference __x) const noexcept 32020: { return std::__addressof(__x); } 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] _Tp* 32020: allocate(size_type __n, const void* = static_cast(0)) 32020: { 32020: if (__n > this->_M_max_size()) 32020: std::__throw_bad_alloc(); 32020: 32020: 32020: if (alignof(_Tp) > 8) 32020: { 32020: std::align_val_t __al = std::align_val_t(alignof(_Tp)); 32020: return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), __al)); 32020: } 32020: 32020: return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); 32020: } 32020: 32020: 32020: void 32020: deallocate(_Tp* __p, size_type __t) 32020: { 32020: 32020: if (alignof(_Tp) > 8) 32020: { 32020: ::operator delete(__p, 32020: 32020: __t * sizeof(_Tp), 32020: 32020: std::align_val_t(alignof(_Tp))); 32020: return; 32020: } 32020: 32020: ::operator delete(__p 32020: 32020: , __t * sizeof(_Tp) 32020: 32020: ); 32020: } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _M_max_size(); } 32020: 32020: 32020: template 32020: void 32020: construct(_Up* __p, _Args&&... __args) 32020: noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) 32020: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 32020: 32020: template 32020: void 32020: destroy(_Up* __p) 32020: noexcept(std::is_nothrow_destructible<_Up>::value) 32020: { __p->~_Up(); } 32020: # 169 "/usr/arm-linux-gnueabihf/include/c++/10/ext/new_allocator.h" 3 32020: template 32020: friend bool 32020: operator==(const new_allocator&, const new_allocator<_Up>&) 32020: noexcept 32020: { return true; } 32020: 32020: 32020: template 32020: friend bool 32020: operator!=(const new_allocator&, const new_allocator<_Up>&) 32020: noexcept 32020: { return false; } 32020: 32020: 32020: private: 32020: constexpr size_type 32020: _M_max_size() const noexcept 32020: { 32020: 32020: return std::size_t(0x7fffffff) / sizeof(_Tp); 32020: 32020: 32020: 32020: } 32020: }; 32020: 32020: 32020: } 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++allocator.h" 2 3 32020: 32020: 32020: namespace std 32020: { 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++allocator.h" 3 32020: template 32020: using __allocator_base = __gnu_cxx::new_allocator<_Tp>; 32020: } 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: class allocator 32020: { 32020: public: 32020: typedef void value_type; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: 32020: typedef void* pointer; 32020: typedef const void* const_pointer; 32020: 32020: template 32020: struct rebind 32020: { typedef allocator<_Tp1> other; }; 32020: # 89 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h" 3 32020: typedef true_type propagate_on_container_move_assignment; 32020: 32020: typedef true_type is_always_equal; 32020: 32020: template 32020: void 32020: construct(_Up* __p, _Args&&... __args) 32020: noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) 32020: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 32020: 32020: template 32020: void 32020: destroy(_Up* __p) 32020: noexcept(std::is_nothrow_destructible<_Up>::value) 32020: { __p->~_Up(); } 32020: 32020: }; 32020: # 115 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h" 3 32020: template 32020: class allocator : public __allocator_base<_Tp> 32020: { 32020: public: 32020: typedef _Tp value_type; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: 32020: typedef _Tp* pointer; 32020: typedef const _Tp* const_pointer; 32020: typedef _Tp& reference; 32020: typedef const _Tp& const_reference; 32020: 32020: template 32020: struct rebind 32020: { typedef allocator<_Tp1> other; }; 32020: 32020: 32020: 32020: 32020: 32020: typedef true_type propagate_on_container_move_assignment; 32020: 32020: typedef true_type is_always_equal; 32020: 32020: 32020: 32020: 32020: 32020: allocator() noexcept { } 32020: 32020: 32020: allocator(const allocator& __a) noexcept 32020: : __allocator_base<_Tp>(__a) { } 32020: 32020: 32020: 32020: allocator& operator=(const allocator&) = default; 32020: 32020: 32020: template 32020: 32020: allocator(const allocator<_Tp1>&) noexcept { } 32020: 32020: 32020: 32020: 32020: ~allocator() noexcept { } 32020: # 191 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocator.h" 3 32020: friend bool 32020: operator==(const allocator&, const allocator&) noexcept 32020: { return true; } 32020: 32020: 32020: friend bool 32020: operator!=(const allocator&, const allocator&) noexcept 32020: { return false; } 32020: 32020: 32020: 32020: }; 32020: 32020: template 32020: inline bool 32020: operator==(const allocator<_T1>&, const allocator<_T2>&) 32020: noexcept 32020: { return true; } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const allocator<_T1>&, const allocator<_T2>&) 32020: noexcept 32020: { return false; } 32020: 32020: 32020: 32020: 32020: template 32020: class allocator 32020: { 32020: public: 32020: typedef _Tp value_type; 32020: template allocator(const allocator<_Up>&) { } 32020: }; 32020: 32020: template 32020: class allocator 32020: { 32020: public: 32020: typedef _Tp value_type; 32020: template allocator(const allocator<_Up>&) { } 32020: }; 32020: 32020: template 32020: class allocator 32020: { 32020: public: 32020: typedef _Tp value_type; 32020: template allocator(const allocator<_Up>&) { } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern template class allocator; 32020: extern template class allocator; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __alloc_swap 32020: { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; 32020: 32020: template 32020: struct __alloc_swap<_Alloc, false> 32020: { 32020: static void 32020: _S_do_it(_Alloc& __one, _Alloc& __two) noexcept 32020: { 32020: 32020: if (__one != __two) 32020: swap(__one, __two); 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct __alloc_neq 32020: { 32020: static bool 32020: _S_do_it(const _Alloc&, const _Alloc&) 32020: { return false; } 32020: }; 32020: 32020: template 32020: struct __alloc_neq<_Alloc, false> 32020: { 32020: static bool 32020: _S_do_it(const _Alloc& __one, const _Alloc& __two) 32020: { return __one != __two; } 32020: }; 32020: 32020: 32020: template, 32020: is_nothrow_move_constructible>::value> 32020: struct __shrink_to_fit_aux 32020: { static bool _S_do_it(_Tp&) noexcept { return false; } }; 32020: 32020: template 32020: struct __shrink_to_fit_aux<_Tp, true> 32020: { 32020: static bool 32020: _S_do_it(_Tp& __c) noexcept 32020: { 32020: 32020: try 32020: { 32020: _Tp(__make_move_if_noexcept_iterator(__c.begin()), 32020: __make_move_if_noexcept_iterator(__c.end()), 32020: __c.get_allocator()).swap(__c); 32020: return true; 32020: } 32020: catch(...) 32020: { return false; } 32020: 32020: 32020: 32020: } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++locale.h" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++locale.h" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++locale.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/clocale" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/clocale" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/clocale" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/locale.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/locale.h" 3 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 29 "/usr/arm-linux-gnueabihf/include/locale.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/locale.h" 1 3 32020: # 30 "/usr/arm-linux-gnueabihf/include/locale.h" 2 3 32020: 32020: extern "C" { 32020: # 51 "/usr/arm-linux-gnueabihf/include/locale.h" 3 32020: struct lconv 32020: { 32020: 32020: 32020: char *decimal_point; 32020: char *thousands_sep; 32020: 32020: 32020: 32020: 32020: 32020: char *grouping; 32020: 32020: 32020: 32020: 32020: 32020: char *int_curr_symbol; 32020: char *currency_symbol; 32020: char *mon_decimal_point; 32020: char *mon_thousands_sep; 32020: char *mon_grouping; 32020: char *positive_sign; 32020: char *negative_sign; 32020: char int_frac_digits; 32020: char frac_digits; 32020: 32020: char p_cs_precedes; 32020: 32020: char p_sep_by_space; 32020: 32020: char n_cs_precedes; 32020: 32020: char n_sep_by_space; 32020: 32020: 32020: 32020: 32020: 32020: 32020: char p_sign_posn; 32020: char n_sign_posn; 32020: 32020: 32020: char int_p_cs_precedes; 32020: 32020: char int_p_sep_by_space; 32020: 32020: char int_n_cs_precedes; 32020: 32020: char int_n_sep_by_space; 32020: 32020: 32020: 32020: 32020: 32020: 32020: char int_p_sign_posn; 32020: char int_n_sign_posn; 32020: # 118 "/usr/arm-linux-gnueabihf/include/locale.h" 3 32020: }; 32020: 32020: 32020: 32020: extern char *setlocale (int __category, const char *__locale) throw (); 32020: 32020: 32020: extern struct lconv *localeconv (void) throw (); 32020: # 141 "/usr/arm-linux-gnueabihf/include/locale.h" 3 32020: extern locale_t newlocale (int __category_mask, const char *__locale, 32020: locale_t __base) throw (); 32020: # 176 "/usr/arm-linux-gnueabihf/include/locale.h" 3 32020: extern locale_t duplocale (locale_t __dataset) throw (); 32020: 32020: 32020: 32020: extern void freelocale (locale_t __dataset) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern locale_t uselocale (locale_t __dataset) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/clocale" 2 3 32020: # 51 "/usr/arm-linux-gnueabihf/include/c++/10/clocale" 3 32020: namespace std 32020: { 32020: using ::lconv; 32020: using ::setlocale; 32020: using ::localeconv; 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++locale.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: extern "C" __typeof(uselocale) __uselocale; 32020: 32020: 32020: } 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: typedef __locale_t __c_locale; 32020: 32020: 32020: 32020: 32020: 32020: inline int 32020: __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), 32020: char* __out, 32020: const int __size __attribute__ ((__unused__)), 32020: const char* __fmt, ...) 32020: { 32020: 32020: __c_locale __old = __gnu_cxx::__uselocale(__cloc); 32020: # 88 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/c++locale.h" 3 32020: __builtin_va_list __args; 32020: __builtin_va_start(__args, __fmt); 32020: 32020: 32020: const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); 32020: 32020: 32020: 32020: 32020: __builtin_va_end(__args); 32020: 32020: 32020: __gnu_cxx::__uselocale(__old); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: return __ret; 32020: } 32020: 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/iosfwd" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/iosfwd" 3 32020: 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/iosfwd" 3 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 74 "/usr/arm-linux-gnueabihf/include/c++/10/iosfwd" 3 32020: class ios_base; 32020: 32020: template > 32020: class basic_ios; 32020: 32020: template > 32020: class basic_streambuf; 32020: 32020: template > 32020: class basic_istream; 32020: 32020: template > 32020: class basic_ostream; 32020: 32020: template > 32020: class basic_iostream; 32020: 32020: 32020: namespace __cxx11 { 32020: 32020: template, 32020: typename _Alloc = allocator<_CharT> > 32020: class basic_stringbuf; 32020: 32020: template, 32020: typename _Alloc = allocator<_CharT> > 32020: class basic_istringstream; 32020: 32020: template, 32020: typename _Alloc = allocator<_CharT> > 32020: class basic_ostringstream; 32020: 32020: template, 32020: typename _Alloc = allocator<_CharT> > 32020: class basic_stringstream; 32020: 32020: } 32020: 32020: template > 32020: class basic_filebuf; 32020: 32020: template > 32020: class basic_ifstream; 32020: 32020: template > 32020: class basic_ofstream; 32020: 32020: template > 32020: class basic_fstream; 32020: 32020: template > 32020: class istreambuf_iterator; 32020: 32020: template > 32020: class ostreambuf_iterator; 32020: 32020: 32020: 32020: typedef basic_ios ios; 32020: 32020: 32020: typedef basic_streambuf streambuf; 32020: 32020: 32020: typedef basic_istream istream; 32020: 32020: 32020: typedef basic_ostream ostream; 32020: 32020: 32020: typedef basic_iostream iostream; 32020: 32020: 32020: typedef basic_stringbuf stringbuf; 32020: 32020: 32020: typedef basic_istringstream istringstream; 32020: 32020: 32020: typedef basic_ostringstream ostringstream; 32020: 32020: 32020: typedef basic_stringstream stringstream; 32020: 32020: 32020: typedef basic_filebuf filebuf; 32020: 32020: 32020: typedef basic_ifstream ifstream; 32020: 32020: 32020: typedef basic_ofstream ofstream; 32020: 32020: 32020: typedef basic_fstream fstream; 32020: 32020: 32020: 32020: typedef basic_ios wios; 32020: 32020: 32020: typedef basic_streambuf wstreambuf; 32020: 32020: 32020: typedef basic_istream wistream; 32020: 32020: 32020: typedef basic_ostream wostream; 32020: 32020: 32020: typedef basic_iostream wiostream; 32020: 32020: 32020: typedef basic_stringbuf wstringbuf; 32020: 32020: 32020: typedef basic_istringstream wistringstream; 32020: 32020: 32020: typedef basic_ostringstream wostringstream; 32020: 32020: 32020: typedef basic_stringstream wstringstream; 32020: 32020: 32020: typedef basic_filebuf wfilebuf; 32020: 32020: 32020: typedef basic_ifstream wifstream; 32020: 32020: 32020: typedef basic_ofstream wofstream; 32020: 32020: 32020: typedef basic_fstream wfstream; 32020: 32020: 32020: 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cctype" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cctype" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cctype" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/ctype.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/ctype.h" 3 32020: extern "C" { 32020: # 39 "/usr/arm-linux-gnueabihf/include/ctype.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/endian.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/bits/endian.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/endianness.h" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/bits/endian.h" 2 3 32020: # 40 "/usr/arm-linux-gnueabihf/include/ctype.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum 32020: { 32020: _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), 32020: _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), 32020: _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), 32020: _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), 32020: _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), 32020: _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), 32020: _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), 32020: _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), 32020: _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), 32020: _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), 32020: _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), 32020: _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) 32020: }; 32020: # 79 "/usr/arm-linux-gnueabihf/include/ctype.h" 3 32020: extern const unsigned short int **__ctype_b_loc (void) 32020: throw () __attribute__ ((__const__)); 32020: extern const __int32_t **__ctype_tolower_loc (void) 32020: throw () __attribute__ ((__const__)); 32020: extern const __int32_t **__ctype_toupper_loc (void) 32020: throw () __attribute__ ((__const__)); 32020: # 108 "/usr/arm-linux-gnueabihf/include/ctype.h" 3 32020: extern int isalnum (int) throw (); 32020: extern int isalpha (int) throw (); 32020: extern int iscntrl (int) throw (); 32020: extern int isdigit (int) throw (); 32020: extern int islower (int) throw (); 32020: extern int isgraph (int) throw (); 32020: extern int isprint (int) throw (); 32020: extern int ispunct (int) throw (); 32020: extern int isspace (int) throw (); 32020: extern int isupper (int) throw (); 32020: extern int isxdigit (int) throw (); 32020: 32020: 32020: 32020: extern int tolower (int __c) throw (); 32020: 32020: 32020: extern int toupper (int __c) throw (); 32020: 32020: 32020: 32020: 32020: extern int isblank (int) throw (); 32020: 32020: 32020: 32020: 32020: extern int isctype (int __c, int __mask) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int isascii (int __c) throw (); 32020: 32020: 32020: 32020: extern int toascii (int __c) throw (); 32020: 32020: 32020: 32020: extern int _toupper (int) throw (); 32020: extern int _tolower (int) throw (); 32020: # 251 "/usr/arm-linux-gnueabihf/include/ctype.h" 3 32020: extern int isalnum_l (int, locale_t) throw (); 32020: extern int isalpha_l (int, locale_t) throw (); 32020: extern int iscntrl_l (int, locale_t) throw (); 32020: extern int isdigit_l (int, locale_t) throw (); 32020: extern int islower_l (int, locale_t) throw (); 32020: extern int isgraph_l (int, locale_t) throw (); 32020: extern int isprint_l (int, locale_t) throw (); 32020: extern int ispunct_l (int, locale_t) throw (); 32020: extern int isspace_l (int, locale_t) throw (); 32020: extern int isupper_l (int, locale_t) throw (); 32020: extern int isxdigit_l (int, locale_t) throw (); 32020: 32020: extern int isblank_l (int, locale_t) throw (); 32020: 32020: 32020: 32020: extern int __tolower_l (int __c, locale_t __l) throw (); 32020: extern int tolower_l (int __c, locale_t __l) throw (); 32020: 32020: 32020: extern int __toupper_l (int __c, locale_t __l) throw (); 32020: extern int toupper_l (int __c, locale_t __l) throw (); 32020: # 327 "/usr/arm-linux-gnueabihf/include/ctype.h" 3 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/cctype" 2 3 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/cctype" 3 32020: namespace std 32020: { 32020: using ::isalnum; 32020: using ::isalpha; 32020: using ::iscntrl; 32020: using ::isdigit; 32020: using ::isgraph; 32020: using ::islower; 32020: using ::isprint; 32020: using ::ispunct; 32020: using ::isspace; 32020: using ::isupper; 32020: using ::isxdigit; 32020: using ::tolower; 32020: using ::toupper; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std 32020: { 32020: using ::isblank; 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 55 "/usr/arm-linux-gnueabihf/include/c++/10/bits/localefwd.h" 3 32020: class locale; 32020: 32020: template 32020: bool 32020: has_facet(const locale&) throw(); 32020: 32020: template 32020: const _Facet& 32020: use_facet(const locale&); 32020: 32020: 32020: template 32020: bool 32020: isspace(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isprint(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: iscntrl(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isupper(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: islower(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isalpha(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isdigit(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: ispunct(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isxdigit(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isalnum(_CharT, const locale&); 32020: 32020: template 32020: bool 32020: isgraph(_CharT, const locale&); 32020: 32020: 32020: template 32020: bool 32020: isblank(_CharT, const locale&); 32020: 32020: 32020: template 32020: _CharT 32020: toupper(_CharT, const locale&); 32020: 32020: template 32020: _CharT 32020: tolower(_CharT, const locale&); 32020: 32020: 32020: class ctype_base; 32020: template 32020: class ctype; 32020: template<> class ctype; 32020: 32020: template<> class ctype; 32020: 32020: template 32020: class ctype_byname; 32020: 32020: 32020: class codecvt_base; 32020: template 32020: class codecvt; 32020: template<> class codecvt; 32020: 32020: template<> class codecvt; 32020: 32020: 32020: template<> class codecvt; 32020: template<> class codecvt; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class codecvt_byname; 32020: 32020: 32020: 32020: template > 32020: class num_get; 32020: template > 32020: class num_put; 32020: 32020: namespace __cxx11 { 32020: template class numpunct; 32020: template class numpunct_byname; 32020: } 32020: 32020: namespace __cxx11 { 32020: 32020: template 32020: class collate; 32020: template 32020: class collate_byname; 32020: } 32020: 32020: 32020: class time_base; 32020: namespace __cxx11 { 32020: template > 32020: class time_get; 32020: template > 32020: class time_get_byname; 32020: } 32020: template > 32020: class time_put; 32020: template > 32020: class time_put_byname; 32020: 32020: 32020: class money_base; 32020: namespace __cxx11 { 32020: template > 32020: class money_get; 32020: template > 32020: class money_put; 32020: } 32020: namespace __cxx11 { 32020: template 32020: class moneypunct; 32020: template 32020: class moneypunct_byname; 32020: } 32020: 32020: 32020: class messages_base; 32020: namespace __cxx11 { 32020: template 32020: class messages; 32020: template 32020: class messages_byname; 32020: } 32020: 32020: 32020: } 32020: # 44 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ostream_insert.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ostream_insert.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ostream_insert.h" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_forced.h" 1 3 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_forced.h" 3 32020: 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/cxxabi_forced.h" 3 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: 32020: namespace __cxxabiv1 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class __forced_unwind 32020: { 32020: virtual ~__forced_unwind() throw(); 32020: 32020: 32020: virtual void __pure_dummy() = 0; 32020: }; 32020: } 32020: 32020: 32020: #pragma GCC visibility pop 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ostream_insert.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: inline void 32020: __ostream_write(basic_ostream<_CharT, _Traits>& __out, 32020: const _CharT* __s, streamsize __n) 32020: { 32020: typedef basic_ostream<_CharT, _Traits> __ostream_type; 32020: typedef typename __ostream_type::ios_base __ios_base; 32020: 32020: const streamsize __put = __out.rdbuf()->sputn(__s, __n); 32020: if (__put != __n) 32020: __out.setstate(__ios_base::badbit); 32020: } 32020: 32020: template 32020: inline void 32020: __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) 32020: { 32020: typedef basic_ostream<_CharT, _Traits> __ostream_type; 32020: typedef typename __ostream_type::ios_base __ios_base; 32020: 32020: const _CharT __c = __out.fill(); 32020: for (; __n > 0; --__n) 32020: { 32020: const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); 32020: if (_Traits::eq_int_type(__put, _Traits::eof())) 32020: { 32020: __out.setstate(__ios_base::badbit); 32020: break; 32020: } 32020: } 32020: } 32020: 32020: template 32020: basic_ostream<_CharT, _Traits>& 32020: __ostream_insert(basic_ostream<_CharT, _Traits>& __out, 32020: const _CharT* __s, streamsize __n) 32020: { 32020: typedef basic_ostream<_CharT, _Traits> __ostream_type; 32020: typedef typename __ostream_type::ios_base __ios_base; 32020: 32020: typename __ostream_type::sentry __cerb(__out); 32020: if (__cerb) 32020: { 32020: try 32020: { 32020: const streamsize __w = __out.width(); 32020: if (__w > __n) 32020: { 32020: const bool __left = ((__out.flags() 32020: & __ios_base::adjustfield) 32020: == __ios_base::left); 32020: if (!__left) 32020: __ostream_fill(__out, __w - __n); 32020: if (__out.good()) 32020: __ostream_write(__out, __s, __n); 32020: if (__left && __out.good()) 32020: __ostream_fill(__out, __w - __n); 32020: } 32020: else 32020: __ostream_write(__out, __s, __n); 32020: __out.width(0); 32020: } 32020: catch(__cxxabiv1::__forced_unwind&) 32020: { 32020: __out._M_setstate(__ios_base::badbit); 32020: throw; 32020: } 32020: catch(...) 32020: { __out._M_setstate(__ios_base::badbit); } 32020: } 32020: return __out; 32020: } 32020: 32020: 32020: 32020: 32020: extern template ostream& __ostream_insert(ostream&, const char*, streamsize); 32020: 32020: 32020: extern template wostream& __ostream_insert(wostream&, const wchar_t*, 32020: streamsize); 32020: 32020: 32020: 32020: 32020: } 32020: # 45 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 1 3 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 104 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: template 32020: struct unary_function 32020: { 32020: 32020: typedef _Arg argument_type; 32020: 32020: 32020: typedef _Result result_type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct binary_function 32020: { 32020: 32020: typedef _Arg1 first_argument_type; 32020: 32020: 32020: typedef _Arg2 second_argument_type; 32020: 32020: 32020: typedef _Result result_type; 32020: }; 32020: # 144 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: struct __is_transparent; 32020: 32020: template 32020: struct plus; 32020: 32020: template 32020: struct minus; 32020: 32020: template 32020: struct multiplies; 32020: 32020: template 32020: struct divides; 32020: 32020: template 32020: struct modulus; 32020: 32020: template 32020: struct negate; 32020: 32020: 32020: 32020: template 32020: struct plus : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x + __y; } 32020: }; 32020: 32020: 32020: template 32020: struct minus : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x - __y; } 32020: }; 32020: 32020: 32020: template 32020: struct multiplies : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x * __y; } 32020: }; 32020: 32020: 32020: template 32020: struct divides : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x / __y; } 32020: }; 32020: 32020: 32020: template 32020: struct modulus : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x % __y; } 32020: }; 32020: 32020: 32020: template 32020: struct negate : public unary_function<_Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x) const 32020: { return -__x; } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct plus 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct minus 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct multiplies 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct divides 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct modulus 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct negate 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t) const 32020: noexcept(noexcept(-std::forward<_Tp>(__t))) 32020: -> decltype(-std::forward<_Tp>(__t)) 32020: { return -std::forward<_Tp>(__t); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: # 330 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: template 32020: struct equal_to; 32020: 32020: template 32020: struct not_equal_to; 32020: 32020: template 32020: struct greater; 32020: 32020: template 32020: struct less; 32020: 32020: template 32020: struct greater_equal; 32020: 32020: template 32020: struct less_equal; 32020: 32020: 32020: 32020: template 32020: struct equal_to : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x == __y; } 32020: }; 32020: 32020: 32020: template 32020: struct not_equal_to : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x != __y; } 32020: }; 32020: 32020: 32020: template 32020: struct greater : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x > __y; } 32020: }; 32020: 32020: 32020: template 32020: struct less : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x < __y; } 32020: }; 32020: 32020: 32020: template 32020: struct greater_equal : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x >= __y; } 32020: }; 32020: 32020: 32020: template 32020: struct less_equal : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x <= __y; } 32020: }; 32020: 32020: 32020: template 32020: struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 32020: { 32020: constexpr bool 32020: operator()(_Tp* __x, _Tp* __y) const noexcept 32020: { 32020: 32020: 32020: if (__builtin_is_constant_evaluated()) 32020: 32020: 32020: 32020: return __x > __y; 32020: 32020: return (unsigned int)__x > (unsigned int)__y; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 32020: { 32020: constexpr bool 32020: operator()(_Tp* __x, _Tp* __y) const noexcept 32020: { 32020: 32020: 32020: if (__builtin_is_constant_evaluated()) 32020: 32020: 32020: 32020: return __x < __y; 32020: 32020: return (unsigned int)__x < (unsigned int)__y; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 32020: { 32020: constexpr bool 32020: operator()(_Tp* __x, _Tp* __y) const noexcept 32020: { 32020: 32020: 32020: if (__builtin_is_constant_evaluated()) 32020: 32020: 32020: 32020: return __x >= __y; 32020: 32020: return (unsigned int)__x >= (unsigned int)__y; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 32020: { 32020: constexpr bool 32020: operator()(_Tp* __x, _Tp* __y) const noexcept 32020: { 32020: 32020: 32020: if (__builtin_is_constant_evaluated()) 32020: 32020: 32020: 32020: return __x <= __y; 32020: 32020: return (unsigned int)__x <= (unsigned int)__y; 32020: } 32020: }; 32020: 32020: 32020: 32020: template<> 32020: struct equal_to 32020: { 32020: template 32020: constexpr auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct not_equal_to 32020: { 32020: template 32020: constexpr auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct greater 32020: { 32020: template 32020: constexpr auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) 32020: { 32020: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 32020: __ptr_cmp<_Tp, _Up>{}); 32020: } 32020: 32020: template 32020: constexpr bool 32020: operator()(_Tp* __t, _Up* __u) const noexcept 32020: { return greater>{}(__t, __u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: 32020: private: 32020: template 32020: static constexpr decltype(auto) 32020: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 32020: { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } 32020: 32020: template 32020: static constexpr bool 32020: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 32020: { 32020: return greater{}( 32020: static_cast(std::forward<_Tp>(__t)), 32020: static_cast(std::forward<_Up>(__u))); 32020: } 32020: 32020: 32020: template 32020: struct __not_overloaded2 : true_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded2<_Tp, _Up, __void_t< 32020: decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 32020: 32020: 32020: template 32020: struct __not_overloaded<_Tp, _Up, __void_t< 32020: decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: template 32020: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 32020: is_convertible<_Tp, const volatile void*>, 32020: is_convertible<_Up, const volatile void*>>; 32020: }; 32020: 32020: 32020: template<> 32020: struct less 32020: { 32020: template 32020: constexpr auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) 32020: { 32020: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 32020: __ptr_cmp<_Tp, _Up>{}); 32020: } 32020: 32020: template 32020: constexpr bool 32020: operator()(_Tp* __t, _Up* __u) const noexcept 32020: { return less>{}(__t, __u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: 32020: private: 32020: template 32020: static constexpr decltype(auto) 32020: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 32020: { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } 32020: 32020: template 32020: static constexpr bool 32020: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 32020: { 32020: return less{}( 32020: static_cast(std::forward<_Tp>(__t)), 32020: static_cast(std::forward<_Up>(__u))); 32020: } 32020: 32020: 32020: template 32020: struct __not_overloaded2 : true_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded2<_Tp, _Up, __void_t< 32020: decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 32020: 32020: 32020: template 32020: struct __not_overloaded<_Tp, _Up, __void_t< 32020: decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: template 32020: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 32020: is_convertible<_Tp, const volatile void*>, 32020: is_convertible<_Up, const volatile void*>>; 32020: }; 32020: 32020: 32020: template<> 32020: struct greater_equal 32020: { 32020: template 32020: constexpr auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) 32020: { 32020: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 32020: __ptr_cmp<_Tp, _Up>{}); 32020: } 32020: 32020: template 32020: constexpr bool 32020: operator()(_Tp* __t, _Up* __u) const noexcept 32020: { return greater_equal>{}(__t, __u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: 32020: private: 32020: template 32020: static constexpr decltype(auto) 32020: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 32020: { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } 32020: 32020: template 32020: static constexpr bool 32020: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 32020: { 32020: return greater_equal{}( 32020: static_cast(std::forward<_Tp>(__t)), 32020: static_cast(std::forward<_Up>(__u))); 32020: } 32020: 32020: 32020: template 32020: struct __not_overloaded2 : true_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded2<_Tp, _Up, __void_t< 32020: decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 32020: 32020: 32020: template 32020: struct __not_overloaded<_Tp, _Up, __void_t< 32020: decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: template 32020: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 32020: is_convertible<_Tp, const volatile void*>, 32020: is_convertible<_Up, const volatile void*>>; 32020: }; 32020: 32020: 32020: template<> 32020: struct less_equal 32020: { 32020: template 32020: constexpr auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) 32020: { 32020: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 32020: __ptr_cmp<_Tp, _Up>{}); 32020: } 32020: 32020: template 32020: constexpr bool 32020: operator()(_Tp* __t, _Up* __u) const noexcept 32020: { return less_equal>{}(__t, __u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: 32020: private: 32020: template 32020: static constexpr decltype(auto) 32020: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 32020: { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } 32020: 32020: template 32020: static constexpr bool 32020: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 32020: { 32020: return less_equal{}( 32020: static_cast(std::forward<_Tp>(__t)), 32020: static_cast(std::forward<_Up>(__u))); 32020: } 32020: 32020: 32020: template 32020: struct __not_overloaded2 : true_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded2<_Tp, _Up, __void_t< 32020: decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: 32020: template 32020: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 32020: 32020: 32020: template 32020: struct __not_overloaded<_Tp, _Up, __void_t< 32020: decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>> 32020: : false_type { }; 32020: 32020: template 32020: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 32020: is_convertible<_Tp, const volatile void*>, 32020: is_convertible<_Up, const volatile void*>>; 32020: }; 32020: # 774 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: template 32020: struct logical_and; 32020: 32020: template 32020: struct logical_or; 32020: 32020: template 32020: struct logical_not; 32020: 32020: 32020: 32020: template 32020: struct logical_and : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x && __y; } 32020: }; 32020: 32020: 32020: template 32020: struct logical_or : public binary_function<_Tp, _Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x || __y; } 32020: }; 32020: 32020: 32020: template 32020: struct logical_not : public unary_function<_Tp, bool> 32020: { 32020: constexpr 32020: bool 32020: operator()(const _Tp& __x) const 32020: { return !__x; } 32020: }; 32020: 32020: 32020: 32020: template<> 32020: struct logical_and 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct logical_or 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: template<> 32020: struct logical_not 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t) const 32020: noexcept(noexcept(!std::forward<_Tp>(__t))) 32020: -> decltype(!std::forward<_Tp>(__t)) 32020: { return !std::forward<_Tp>(__t); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct bit_and; 32020: 32020: template 32020: struct bit_or; 32020: 32020: template 32020: struct bit_xor; 32020: 32020: template 32020: struct bit_not; 32020: 32020: 32020: 32020: 32020: template 32020: struct bit_and : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x & __y; } 32020: }; 32020: 32020: template 32020: struct bit_or : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x | __y; } 32020: }; 32020: 32020: template 32020: struct bit_xor : public binary_function<_Tp, _Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x, const _Tp& __y) const 32020: { return __x ^ __y; } 32020: }; 32020: 32020: template 32020: struct bit_not : public unary_function<_Tp, _Tp> 32020: { 32020: constexpr 32020: _Tp 32020: operator()(const _Tp& __x) const 32020: { return ~__x; } 32020: }; 32020: 32020: 32020: template <> 32020: struct bit_and 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: template <> 32020: struct bit_or 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: template <> 32020: struct bit_xor 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t, _Up&& __u) const 32020: noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) 32020: -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) 32020: { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: 32020: template <> 32020: struct bit_not 32020: { 32020: template 32020: constexpr 32020: auto 32020: operator()(_Tp&& __t) const 32020: noexcept(noexcept(~std::forward<_Tp>(__t))) 32020: -> decltype(~std::forward<_Tp>(__t)) 32020: { return ~std::forward<_Tp>(__t); } 32020: 32020: typedef __is_transparent is_transparent; 32020: }; 32020: # 1002 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: template 32020: class unary_negate 32020: : public unary_function 32020: { 32020: protected: 32020: _Predicate _M_pred; 32020: 32020: public: 32020: constexpr 32020: explicit 32020: unary_negate(const _Predicate& __x) : _M_pred(__x) { } 32020: 32020: constexpr 32020: bool 32020: operator()(const typename _Predicate::argument_type& __x) const 32020: { return !_M_pred(__x); } 32020: }; 32020: 32020: 32020: template 32020: constexpr 32020: inline unary_negate<_Predicate> 32020: not1(const _Predicate& __pred) 32020: { return unary_negate<_Predicate>(__pred); } 32020: 32020: 32020: template 32020: class binary_negate 32020: : public binary_function 32020: { 32020: protected: 32020: _Predicate _M_pred; 32020: 32020: public: 32020: constexpr 32020: explicit 32020: binary_negate(const _Predicate& __x) : _M_pred(__x) { } 32020: 32020: constexpr 32020: bool 32020: operator()(const typename _Predicate::first_argument_type& __x, 32020: const typename _Predicate::second_argument_type& __y) const 32020: { return !_M_pred(__x, __y); } 32020: }; 32020: 32020: 32020: template 32020: constexpr 32020: inline binary_negate<_Predicate> 32020: not2(const _Predicate& __pred) 32020: { return binary_negate<_Predicate>(__pred); } 32020: # 1079 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: template 32020: class pointer_to_unary_function : public unary_function<_Arg, _Result> 32020: { 32020: protected: 32020: _Result (*_M_ptr)(_Arg); 32020: 32020: public: 32020: pointer_to_unary_function() { } 32020: 32020: explicit 32020: pointer_to_unary_function(_Result (*__x)(_Arg)) 32020: : _M_ptr(__x) { } 32020: 32020: _Result 32020: operator()(_Arg __x) const 32020: { return _M_ptr(__x); } 32020: }; 32020: 32020: 32020: template 32020: inline pointer_to_unary_function<_Arg, _Result> 32020: ptr_fun(_Result (*__x)(_Arg)) 32020: { return pointer_to_unary_function<_Arg, _Result>(__x); } 32020: 32020: 32020: template 32020: class pointer_to_binary_function 32020: : public binary_function<_Arg1, _Arg2, _Result> 32020: { 32020: protected: 32020: _Result (*_M_ptr)(_Arg1, _Arg2); 32020: 32020: public: 32020: pointer_to_binary_function() { } 32020: 32020: explicit 32020: pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) 32020: : _M_ptr(__x) { } 32020: 32020: _Result 32020: operator()(_Arg1 __x, _Arg2 __y) const 32020: { return _M_ptr(__x, __y); } 32020: }; 32020: 32020: 32020: template 32020: inline pointer_to_binary_function<_Arg1, _Arg2, _Result> 32020: ptr_fun(_Result (*__x)(_Arg1, _Arg2)) 32020: { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } 32020: 32020: 32020: template 32020: struct _Identity 32020: : public unary_function<_Tp, _Tp> 32020: { 32020: _Tp& 32020: operator()(_Tp& __x) const 32020: { return __x; } 32020: 32020: const _Tp& 32020: operator()(const _Tp& __x) const 32020: { return __x; } 32020: }; 32020: 32020: 32020: template struct _Identity : _Identity<_Tp> { }; 32020: 32020: template 32020: struct _Select1st 32020: : public unary_function<_Pair, typename _Pair::first_type> 32020: { 32020: typename _Pair::first_type& 32020: operator()(_Pair& __x) const 32020: { return __x.first; } 32020: 32020: const typename _Pair::first_type& 32020: operator()(const _Pair& __x) const 32020: { return __x.first; } 32020: 32020: 32020: template 32020: typename _Pair2::first_type& 32020: operator()(_Pair2& __x) const 32020: { return __x.first; } 32020: 32020: template 32020: const typename _Pair2::first_type& 32020: operator()(const _Pair2& __x) const 32020: { return __x.first; } 32020: 32020: }; 32020: 32020: template 32020: struct _Select2nd 32020: : public unary_function<_Pair, typename _Pair::second_type> 32020: { 32020: typename _Pair::second_type& 32020: operator()(_Pair& __x) const 32020: { return __x.second; } 32020: 32020: const typename _Pair::second_type& 32020: operator()(const _Pair& __x) const 32020: { return __x.second; } 32020: }; 32020: # 1202 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 3 32020: template 32020: class mem_fun_t : public unary_function<_Tp*, _Ret> 32020: { 32020: public: 32020: explicit 32020: mem_fun_t(_Ret (_Tp::*__pf)()) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(_Tp* __p) const 32020: { return (__p->*_M_f)(); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)(); 32020: }; 32020: 32020: 32020: 32020: template 32020: class const_mem_fun_t : public unary_function 32020: { 32020: public: 32020: explicit 32020: const_mem_fun_t(_Ret (_Tp::*__pf)() const) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(const _Tp* __p) const 32020: { return (__p->*_M_f)(); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)() const; 32020: }; 32020: 32020: 32020: 32020: template 32020: class mem_fun_ref_t : public unary_function<_Tp, _Ret> 32020: { 32020: public: 32020: explicit 32020: mem_fun_ref_t(_Ret (_Tp::*__pf)()) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(_Tp& __r) const 32020: { return (__r.*_M_f)(); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)(); 32020: }; 32020: 32020: 32020: 32020: template 32020: class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> 32020: { 32020: public: 32020: explicit 32020: const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(const _Tp& __r) const 32020: { return (__r.*_M_f)(); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)() const; 32020: }; 32020: 32020: 32020: 32020: template 32020: class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> 32020: { 32020: public: 32020: explicit 32020: mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(_Tp* __p, _Arg __x) const 32020: { return (__p->*_M_f)(__x); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)(_Arg); 32020: }; 32020: 32020: 32020: 32020: template 32020: class const_mem_fun1_t : public binary_function 32020: { 32020: public: 32020: explicit 32020: const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(const _Tp* __p, _Arg __x) const 32020: { return (__p->*_M_f)(__x); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)(_Arg) const; 32020: }; 32020: 32020: 32020: 32020: template 32020: class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 32020: { 32020: public: 32020: explicit 32020: mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(_Tp& __r, _Arg __x) const 32020: { return (__r.*_M_f)(__x); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)(_Arg); 32020: }; 32020: 32020: 32020: 32020: template 32020: class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 32020: { 32020: public: 32020: explicit 32020: const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) 32020: : _M_f(__pf) { } 32020: 32020: _Ret 32020: operator()(const _Tp& __r, _Arg __x) const 32020: { return (__r.*_M_f)(__x); } 32020: 32020: private: 32020: _Ret (_Tp::*_M_f)(_Arg) const; 32020: }; 32020: 32020: 32020: 32020: template 32020: inline mem_fun_t<_Ret, _Tp> 32020: mem_fun(_Ret (_Tp::*__f)()) 32020: { return mem_fun_t<_Ret, _Tp>(__f); } 32020: 32020: template 32020: inline const_mem_fun_t<_Ret, _Tp> 32020: mem_fun(_Ret (_Tp::*__f)() const) 32020: { return const_mem_fun_t<_Ret, _Tp>(__f); } 32020: 32020: template 32020: inline mem_fun_ref_t<_Ret, _Tp> 32020: mem_fun_ref(_Ret (_Tp::*__f)()) 32020: { return mem_fun_ref_t<_Ret, _Tp>(__f); } 32020: 32020: template 32020: inline const_mem_fun_ref_t<_Ret, _Tp> 32020: mem_fun_ref(_Ret (_Tp::*__f)() const) 32020: { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } 32020: 32020: template 32020: inline mem_fun1_t<_Ret, _Tp, _Arg> 32020: mem_fun(_Ret (_Tp::*__f)(_Arg)) 32020: { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 32020: 32020: template 32020: inline const_mem_fun1_t<_Ret, _Tp, _Arg> 32020: mem_fun(_Ret (_Tp::*__f)(_Arg) const) 32020: { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 32020: 32020: template 32020: inline mem_fun1_ref_t<_Ret, _Tp, _Arg> 32020: mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) 32020: { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 32020: 32020: template 32020: inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> 32020: mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) 32020: { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 32020: 32020: 32020: 32020: 32020: } 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/backward/binders.h" 1 3 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/backward/binders.h" 3 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 107 "/usr/arm-linux-gnueabihf/include/c++/10/backward/binders.h" 3 32020: template 32020: class binder1st 32020: : public unary_function 32020: { 32020: protected: 32020: _Operation op; 32020: typename _Operation::first_argument_type value; 32020: 32020: public: 32020: binder1st(const _Operation& __x, 32020: const typename _Operation::first_argument_type& __y) 32020: : op(__x), value(__y) { } 32020: 32020: typename _Operation::result_type 32020: operator()(const typename _Operation::second_argument_type& __x) const 32020: { return op(value, __x); } 32020: 32020: 32020: 32020: typename _Operation::result_type 32020: operator()(typename _Operation::second_argument_type& __x) const 32020: { return op(value, __x); } 32020: } __attribute__ ((__deprecated__)); 32020: 32020: 32020: template 32020: inline binder1st<_Operation> 32020: bind1st(const _Operation& __fn, const _Tp& __x) 32020: { 32020: typedef typename _Operation::first_argument_type _Arg1_type; 32020: return binder1st<_Operation>(__fn, _Arg1_type(__x)); 32020: } 32020: 32020: 32020: template 32020: class binder2nd 32020: : public unary_function 32020: { 32020: protected: 32020: _Operation op; 32020: typename _Operation::second_argument_type value; 32020: 32020: public: 32020: binder2nd(const _Operation& __x, 32020: const typename _Operation::second_argument_type& __y) 32020: : op(__x), value(__y) { } 32020: 32020: typename _Operation::result_type 32020: operator()(const typename _Operation::first_argument_type& __x) const 32020: { return op(__x, value); } 32020: 32020: 32020: 32020: typename _Operation::result_type 32020: operator()(typename _Operation::first_argument_type& __x) const 32020: { return op(__x, value); } 32020: } __attribute__ ((__deprecated__)); 32020: 32020: 32020: template 32020: inline binder2nd<_Operation> 32020: bind2nd(const _Operation& __fn, const _Tp& __x) 32020: { 32020: typedef typename _Operation::second_argument_type _Arg2_type; 32020: return binder2nd<_Operation>(__fn, _Arg2_type(__x)); 32020: } 32020: 32020: 32020: 32020: } 32020: 32020: #pragma GCC diagnostic pop 32020: # 1393 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_function.h" 2 3 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/initializer_list" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/initializer_list" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/initializer_list" 3 32020: 32020: 32020: 32020: 32020: 32020: #pragma GCC visibility push(default) 32020: 32020: 32020: 32020: namespace std 32020: { 32020: 32020: template 32020: class initializer_list 32020: { 32020: public: 32020: typedef _E value_type; 32020: typedef const _E& reference; 32020: typedef const _E& const_reference; 32020: typedef size_t size_type; 32020: typedef const _E* iterator; 32020: typedef const _E* const_iterator; 32020: 32020: private: 32020: iterator _M_array; 32020: size_type _M_len; 32020: 32020: 32020: constexpr initializer_list(const_iterator __a, size_type __l) 32020: : _M_array(__a), _M_len(__l) { } 32020: 32020: public: 32020: constexpr initializer_list() noexcept 32020: : _M_array(0), _M_len(0) { } 32020: 32020: 32020: constexpr size_type 32020: size() const noexcept { return _M_len; } 32020: 32020: 32020: constexpr const_iterator 32020: begin() const noexcept { return _M_array; } 32020: 32020: 32020: constexpr const_iterator 32020: end() const noexcept { return begin() + size(); } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr const _Tp* 32020: begin(initializer_list<_Tp> __ils) noexcept 32020: { return __ils.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr const _Tp* 32020: end(initializer_list<_Tp> __ils) noexcept 32020: { return __ils.end(); } 32020: } 32020: 32020: #pragma GCC visibility pop 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/iterator_concepts.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/iterator_concepts.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/iterator_concepts.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/concepts" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/bits/iterator_concepts.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_cmp.h" 1 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/iterator_concepts.h" 2 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 2 3 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: begin(_Container& __cont) -> decltype(__cont.begin()) 32020: { return __cont.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: begin(const _Container& __cont) -> decltype(__cont.begin()) 32020: { return __cont.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: end(_Container& __cont) -> decltype(__cont.end()) 32020: { return __cont.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: end(const _Container& __cont) -> decltype(__cont.end()) 32020: { return __cont.end(); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr _Tp* 32020: begin(_Tp (&__arr)[_Nm]) 32020: { return __arr; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr _Tp* 32020: end(_Tp (&__arr)[_Nm]) 32020: { return __arr + _Nm; } 32020: 32020: 32020: 32020: template class valarray; 32020: 32020: template _Tp* begin(valarray<_Tp>&); 32020: template const _Tp* begin(const valarray<_Tp>&); 32020: template _Tp* end(valarray<_Tp>&); 32020: template const _Tp* end(const valarray<_Tp>&); 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) 32020: -> decltype(std::begin(__cont)) 32020: { return std::begin(__cont); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) 32020: -> decltype(std::end(__cont)) 32020: { return std::end(__cont); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: rbegin(_Container& __cont) -> decltype(__cont.rbegin()) 32020: { return __cont.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) 32020: { return __cont.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: rend(_Container& __cont) -> decltype(__cont.rend()) 32020: { return __cont.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: rend(const _Container& __cont) -> decltype(__cont.rend()) 32020: { return __cont.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator<_Tp*> 32020: rbegin(_Tp (&__arr)[_Nm]) 32020: { return reverse_iterator<_Tp*>(__arr + _Nm); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator<_Tp*> 32020: rend(_Tp (&__arr)[_Nm]) 32020: { return reverse_iterator<_Tp*>(__arr); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator 32020: rbegin(initializer_list<_Tp> __il) 32020: { return reverse_iterator(__il.end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr reverse_iterator 32020: rend(initializer_list<_Tp> __il) 32020: { return reverse_iterator(__il.begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) 32020: { return std::rbegin(__cont); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline constexpr auto 32020: crend(const _Container& __cont) -> decltype(std::rend(__cont)) 32020: { return std::rend(__cont); } 32020: # 243 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 3 32020: template 32020: constexpr auto 32020: size(const _Container& __cont) noexcept(noexcept(__cont.size())) 32020: -> decltype(__cont.size()) 32020: { return __cont.size(); } 32020: 32020: 32020: 32020: 32020: template 32020: constexpr size_t 32020: size(const _Tp (&)[_Nm]) noexcept 32020: { return _Nm; } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: [[nodiscard]] constexpr auto 32020: empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) 32020: -> decltype(__cont.empty()) 32020: { return __cont.empty(); } 32020: 32020: 32020: 32020: 32020: template 32020: [[nodiscard]] constexpr bool 32020: empty(const _Tp (&)[_Nm]) noexcept 32020: { return false; } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: [[nodiscard]] constexpr bool 32020: empty(initializer_list<_Tp> __il) noexcept 32020: { return __il.size() == 0;} 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr auto 32020: data(_Container& __cont) noexcept(noexcept(__cont.data())) 32020: -> decltype(__cont.data()) 32020: { return __cont.data(); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr auto 32020: data(const _Container& __cont) noexcept(noexcept(__cont.data())) 32020: -> decltype(__cont.data()) 32020: { return __cont.data(); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr _Tp* 32020: data(_Tp (&__array)[_Nm]) noexcept 32020: { return __array; } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr const _Tp* 32020: data(initializer_list<_Tp> __il) noexcept 32020: { return __il.begin(); } 32020: # 1153 "/usr/arm-linux-gnueabihf/include/c++/10/bits/range_access.h" 3 32020: 32020: } 32020: # 55 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/atomicity.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/atomicity.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/atomicity.h" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr.h" 1 3 32020: # 30 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr.h" 3 32020: #pragma GCC visibility push(default) 32020: # 148 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/pthread.h" 1 3 32020: # 22 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/sched.h" 1 3 32020: # 29 "/usr/arm-linux-gnueabihf/include/sched.h" 3 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 30 "/usr/arm-linux-gnueabihf/include/sched.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/time_t.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __time_t time_t; 32020: # 32 "/usr/arm-linux-gnueabihf/include/sched.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/struct_timespec.h" 1 3 32020: # 10 "/usr/arm-linux-gnueabihf/include/bits/types/struct_timespec.h" 3 32020: struct timespec 32020: { 32020: __time_t tv_sec; 32020: 32020: 32020: 32020: __syscall_slong_t tv_nsec; 32020: # 26 "/usr/arm-linux-gnueabihf/include/bits/types/struct_timespec.h" 3 32020: }; 32020: # 33 "/usr/arm-linux-gnueabihf/include/sched.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: typedef __pid_t pid_t; 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/sched.h" 1 3 32020: # 76 "/usr/arm-linux-gnueabihf/include/bits/sched.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/struct_sched_param.h" 1 3 32020: # 23 "/usr/arm-linux-gnueabihf/include/bits/types/struct_sched_param.h" 3 32020: struct sched_param 32020: { 32020: int sched_priority; 32020: }; 32020: # 77 "/usr/arm-linux-gnueabihf/include/bits/sched.h" 2 3 32020: 32020: extern "C" { 32020: 32020: 32020: 32020: extern int clone (int (*__fn) (void *__arg), void *__child_stack, 32020: int __flags, void *__arg, ...) throw (); 32020: 32020: 32020: extern int unshare (int __flags) throw (); 32020: 32020: 32020: extern int sched_getcpu (void) throw (); 32020: 32020: 32020: extern int getcpu (unsigned int *, unsigned int *) throw (); 32020: 32020: 32020: extern int setns (int __fd, int __nstype) throw (); 32020: 32020: 32020: } 32020: # 44 "/usr/arm-linux-gnueabihf/include/sched.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/cpu-set.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/bits/cpu-set.h" 3 32020: typedef unsigned long int __cpu_mask; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef struct 32020: { 32020: __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; 32020: } cpu_set_t; 32020: # 115 "/usr/arm-linux-gnueabihf/include/bits/cpu-set.h" 3 32020: extern "C" { 32020: 32020: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) 32020: throw (); 32020: extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__)); 32020: extern void __sched_cpufree (cpu_set_t *__set) throw (); 32020: 32020: } 32020: # 45 "/usr/arm-linux-gnueabihf/include/sched.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C" { 32020: 32020: 32020: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) 32020: throw (); 32020: 32020: 32020: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); 32020: 32020: 32020: extern int sched_setscheduler (__pid_t __pid, int __policy, 32020: const struct sched_param *__param) throw (); 32020: 32020: 32020: extern int sched_getscheduler (__pid_t __pid) throw (); 32020: 32020: 32020: extern int sched_yield (void) throw (); 32020: 32020: 32020: extern int sched_get_priority_max (int __algorithm) throw (); 32020: 32020: 32020: extern int sched_get_priority_min (int __algorithm) throw (); 32020: 32020: 32020: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); 32020: # 121 "/usr/arm-linux-gnueabihf/include/sched.h" 3 32020: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, 32020: const cpu_set_t *__cpuset) throw (); 32020: 32020: 32020: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, 32020: cpu_set_t *__cpuset) throw (); 32020: 32020: 32020: } 32020: # 23 "/usr/arm-linux-gnueabihf/include/pthread.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/time.h" 1 3 32020: # 29 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 30 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/time.h" 1 3 32020: # 73 "/usr/arm-linux-gnueabihf/include/bits/time.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/timex.h" 1 3 32020: # 22 "/usr/arm-linux-gnueabihf/include/bits/timex.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/struct_timeval.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct timeval 32020: { 32020: __time_t tv_sec; 32020: __suseconds_t tv_usec; 32020: }; 32020: # 23 "/usr/arm-linux-gnueabihf/include/bits/timex.h" 2 3 32020: 32020: 32020: 32020: struct timex 32020: { 32020: unsigned int modes; 32020: __syscall_slong_t offset; 32020: __syscall_slong_t freq; 32020: __syscall_slong_t maxerror; 32020: __syscall_slong_t esterror; 32020: int status; 32020: __syscall_slong_t constant; 32020: __syscall_slong_t precision; 32020: __syscall_slong_t tolerance; 32020: struct timeval time; 32020: __syscall_slong_t tick; 32020: __syscall_slong_t ppsfreq; 32020: __syscall_slong_t jitter; 32020: int shift; 32020: __syscall_slong_t stabil; 32020: __syscall_slong_t jitcnt; 32020: __syscall_slong_t calcnt; 32020: __syscall_slong_t errcnt; 32020: __syscall_slong_t stbcnt; 32020: 32020: int tai; 32020: 32020: 32020: int :32; int :32; int :32; int :32; 32020: int :32; int :32; int :32; int :32; 32020: int :32; int :32; int :32; 32020: }; 32020: # 74 "/usr/arm-linux-gnueabihf/include/bits/time.h" 2 3 32020: 32020: extern "C" { 32020: 32020: 32020: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); 32020: 32020: } 32020: # 34 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/clock_t.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __clock_t clock_t; 32020: # 38 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/struct_tm.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct tm 32020: { 32020: int tm_sec; 32020: int tm_min; 32020: int tm_hour; 32020: int tm_mday; 32020: int tm_mon; 32020: int tm_year; 32020: int tm_wday; 32020: int tm_yday; 32020: int tm_isdst; 32020: 32020: 32020: long int tm_gmtoff; 32020: const char *tm_zone; 32020: 32020: 32020: 32020: 32020: }; 32020: # 40 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/clockid_t.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __clockid_t clockid_t; 32020: # 47 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/timer_t.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __timer_t timer_t; 32020: # 48 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/struct_itimerspec.h" 1 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct itimerspec 32020: { 32020: struct timespec it_interval; 32020: struct timespec it_value; 32020: }; 32020: # 49 "/usr/arm-linux-gnueabihf/include/time.h" 2 3 32020: struct sigevent; 32020: # 68 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: extern "C" { 32020: 32020: 32020: 32020: extern clock_t clock (void) throw (); 32020: 32020: 32020: extern time_t time (time_t *__timer) throw (); 32020: 32020: 32020: extern double difftime (time_t __time1, time_t __time0) 32020: throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern time_t mktime (struct tm *__tp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern size_t strftime (char *__restrict __s, size_t __maxsize, 32020: const char *__restrict __format, 32020: const struct tm *__restrict __tp) throw (); 32020: 32020: 32020: 32020: 32020: extern char *strptime (const char *__restrict __s, 32020: const char *__restrict __fmt, struct tm *__tp) 32020: throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern size_t strftime_l (char *__restrict __s, size_t __maxsize, 32020: const char *__restrict __format, 32020: const struct tm *__restrict __tp, 32020: locale_t __loc) throw (); 32020: 32020: 32020: 32020: extern char *strptime_l (const char *__restrict __s, 32020: const char *__restrict __fmt, struct tm *__tp, 32020: locale_t __loc) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern struct tm *gmtime (const time_t *__timer) throw (); 32020: 32020: 32020: 32020: extern struct tm *localtime (const time_t *__timer) throw (); 32020: 32020: 32020: 32020: 32020: extern struct tm *gmtime_r (const time_t *__restrict __timer, 32020: struct tm *__restrict __tp) throw (); 32020: 32020: 32020: 32020: extern struct tm *localtime_r (const time_t *__restrict __timer, 32020: struct tm *__restrict __tp) throw (); 32020: 32020: 32020: 32020: 32020: extern char *asctime (const struct tm *__tp) throw (); 32020: 32020: 32020: extern char *ctime (const time_t *__timer) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern char *asctime_r (const struct tm *__restrict __tp, 32020: char *__restrict __buf) throw (); 32020: 32020: 32020: extern char *ctime_r (const time_t *__restrict __timer, 32020: char *__restrict __buf) throw (); 32020: 32020: 32020: 32020: 32020: extern char *__tzname[2]; 32020: extern int __daylight; 32020: extern long int __timezone; 32020: 32020: 32020: 32020: 32020: extern char *tzname[2]; 32020: 32020: 32020: 32020: extern void tzset (void) throw (); 32020: 32020: 32020: 32020: extern int daylight; 32020: extern long int timezone; 32020: # 190 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: extern time_t timegm (struct tm *__tp) throw (); 32020: 32020: 32020: extern time_t timelocal (struct tm *__tp) throw (); 32020: 32020: 32020: extern int dysize (int __year) throw () __attribute__ ((__const__)); 32020: # 205 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: extern int nanosleep (const struct timespec *__requested_time, 32020: struct timespec *__remaining); 32020: 32020: 32020: 32020: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); 32020: 32020: 32020: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); 32020: 32020: 32020: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) 32020: throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int clock_nanosleep (clockid_t __clock_id, int __flags, 32020: const struct timespec *__req, 32020: struct timespec *__rem); 32020: 32020: 32020: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); 32020: 32020: 32020: 32020: 32020: extern int timer_create (clockid_t __clock_id, 32020: struct sigevent *__restrict __evp, 32020: timer_t *__restrict __timerid) throw (); 32020: 32020: 32020: extern int timer_delete (timer_t __timerid) throw (); 32020: 32020: 32020: extern int timer_settime (timer_t __timerid, int __flags, 32020: const struct itimerspec *__restrict __value, 32020: struct itimerspec *__restrict __ovalue) throw (); 32020: 32020: 32020: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) 32020: throw (); 32020: 32020: 32020: extern int timer_getoverrun (timer_t __timerid) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern int timespec_get (struct timespec *__ts, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 274 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: extern int getdate_err; 32020: # 283 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: extern struct tm *getdate (const char *__string); 32020: # 297 "/usr/arm-linux-gnueabihf/include/time.h" 3 32020: extern int getdate_r (const char *__restrict __string, 32020: struct tm *__restrict __resbufp); 32020: 32020: 32020: } 32020: # 24 "/usr/arm-linux-gnueabihf/include/pthread.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/pthreadtypes.h" 1 3 32020: # 23 "/usr/arm-linux-gnueabihf/include/bits/pthreadtypes.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 1 3 32020: # 44 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/pthreadtypes-arch.h" 1 3 32020: # 23 "/usr/arm-linux-gnueabihf/include/bits/pthreadtypes-arch.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/pthreadtypes-arch.h" 2 3 32020: # 45 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 2 3 32020: 32020: 32020: 32020: 32020: typedef struct __pthread_internal_list 32020: { 32020: struct __pthread_internal_list *__prev; 32020: struct __pthread_internal_list *__next; 32020: } __pthread_list_t; 32020: 32020: typedef struct __pthread_internal_slist 32020: { 32020: struct __pthread_internal_slist *__next; 32020: } __pthread_slist_t; 32020: # 74 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/struct_mutex.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/bits/struct_mutex.h" 3 32020: struct __pthread_mutex_s 32020: { 32020: int __lock ; 32020: unsigned int __count; 32020: int __owner; 32020: # 58 "/usr/arm-linux-gnueabihf/include/bits/struct_mutex.h" 3 32020: int __kind; 32020: 32020: unsigned int __nusers; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __extension__ union 32020: { 32020: int __spins; 32020: __pthread_slist_t __list; 32020: }; 32020: 32020: 32020: }; 32020: # 75 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 2 3 32020: # 87 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/struct_rwlock.h" 1 3 32020: # 29 "/usr/arm-linux-gnueabihf/include/bits/struct_rwlock.h" 3 32020: struct __pthread_rwlock_arch_t 32020: { 32020: unsigned int __readers; 32020: unsigned int __writers; 32020: unsigned int __wrphase_futex; 32020: unsigned int __writers_futex; 32020: unsigned int __pad3; 32020: unsigned int __pad4; 32020: # 45 "/usr/arm-linux-gnueabihf/include/bits/struct_rwlock.h" 3 32020: unsigned char __flags; 32020: unsigned char __shared; 32020: unsigned char __pad1; 32020: unsigned char __pad2; 32020: 32020: int __cur_writer; 32020: }; 32020: # 88 "/usr/arm-linux-gnueabihf/include/bits/thread-shared-types.h" 2 3 32020: 32020: 32020: 32020: 32020: struct __pthread_cond_s 32020: { 32020: __extension__ union 32020: { 32020: __extension__ unsigned long long int __wseq; 32020: struct 32020: { 32020: unsigned int __low; 32020: unsigned int __high; 32020: } __wseq32; 32020: }; 32020: __extension__ union 32020: { 32020: __extension__ unsigned long long int __g1_start; 32020: struct 32020: { 32020: unsigned int __low; 32020: unsigned int __high; 32020: } __g1_start32; 32020: }; 32020: unsigned int __g_refs[2] ; 32020: unsigned int __g_size[2]; 32020: unsigned int __g1_orig_size; 32020: unsigned int __wrefs; 32020: unsigned int __g_signals[2]; 32020: }; 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/pthreadtypes.h" 2 3 32020: 32020: 32020: 32020: typedef unsigned long int pthread_t; 32020: 32020: 32020: 32020: 32020: typedef union 32020: { 32020: char __size[4]; 32020: int __align; 32020: } pthread_mutexattr_t; 32020: 32020: 32020: 32020: 32020: typedef union 32020: { 32020: char __size[4]; 32020: int __align; 32020: } pthread_condattr_t; 32020: 32020: 32020: 32020: typedef unsigned int pthread_key_t; 32020: 32020: 32020: 32020: typedef int pthread_once_t; 32020: 32020: 32020: union pthread_attr_t 32020: { 32020: char __size[36]; 32020: long int __align; 32020: }; 32020: 32020: typedef union pthread_attr_t pthread_attr_t; 32020: 32020: 32020: 32020: 32020: typedef union 32020: { 32020: struct __pthread_mutex_s __data; 32020: char __size[24]; 32020: long int __align; 32020: } pthread_mutex_t; 32020: 32020: 32020: typedef union 32020: { 32020: struct __pthread_cond_s __data; 32020: char __size[48]; 32020: __extension__ long long int __align; 32020: } pthread_cond_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef union 32020: { 32020: struct __pthread_rwlock_arch_t __data; 32020: char __size[32]; 32020: long int __align; 32020: } pthread_rwlock_t; 32020: 32020: typedef union 32020: { 32020: char __size[8]; 32020: long int __align; 32020: } pthread_rwlockattr_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef volatile int pthread_spinlock_t; 32020: 32020: 32020: 32020: 32020: typedef union 32020: { 32020: char __size[20]; 32020: long int __align; 32020: } pthread_barrier_t; 32020: 32020: typedef union 32020: { 32020: char __size[4]; 32020: int __align; 32020: } pthread_barrierattr_t; 32020: # 27 "/usr/arm-linux-gnueabihf/include/pthread.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/setjmp.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/bits/setjmp.h" 3 32020: typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); 32020: # 28 "/usr/arm-linux-gnueabihf/include/pthread.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 32020: # 29 "/usr/arm-linux-gnueabihf/include/pthread.h" 2 3 32020: 32020: 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_CREATE_JOINABLE, 32020: 32020: PTHREAD_CREATE_DETACHED 32020: 32020: }; 32020: 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_MUTEX_TIMED_NP, 32020: PTHREAD_MUTEX_RECURSIVE_NP, 32020: PTHREAD_MUTEX_ERRORCHECK_NP, 32020: PTHREAD_MUTEX_ADAPTIVE_NP 32020: 32020: , 32020: PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, 32020: PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, 32020: PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, 32020: PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL 32020: 32020: 32020: 32020: , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_MUTEX_STALLED, 32020: PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, 32020: PTHREAD_MUTEX_ROBUST, 32020: PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_PRIO_NONE, 32020: PTHREAD_PRIO_INHERIT, 32020: PTHREAD_PRIO_PROTECT 32020: }; 32020: # 100 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: enum 32020: { 32020: PTHREAD_RWLOCK_PREFER_READER_NP, 32020: PTHREAD_RWLOCK_PREFER_WRITER_NP, 32020: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 32020: PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP 32020: }; 32020: # 120 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: enum 32020: { 32020: PTHREAD_INHERIT_SCHED, 32020: 32020: PTHREAD_EXPLICIT_SCHED 32020: 32020: }; 32020: 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_SCOPE_SYSTEM, 32020: 32020: PTHREAD_SCOPE_PROCESS 32020: 32020: }; 32020: 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_PROCESS_PRIVATE, 32020: 32020: PTHREAD_PROCESS_SHARED 32020: 32020: }; 32020: # 155 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: struct _pthread_cleanup_buffer 32020: { 32020: void (*__routine) (void *); 32020: void *__arg; 32020: int __canceltype; 32020: struct _pthread_cleanup_buffer *__prev; 32020: }; 32020: 32020: 32020: enum 32020: { 32020: PTHREAD_CANCEL_ENABLE, 32020: 32020: PTHREAD_CANCEL_DISABLE 32020: 32020: }; 32020: enum 32020: { 32020: PTHREAD_CANCEL_DEFERRED, 32020: 32020: PTHREAD_CANCEL_ASYNCHRONOUS 32020: 32020: }; 32020: # 193 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern "C" { 32020: 32020: 32020: 32020: 32020: extern int pthread_create (pthread_t *__restrict __newthread, 32020: const pthread_attr_t *__restrict __attr, 32020: void *(*__start_routine) (void *), 32020: void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: 32020: 32020: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_join (pthread_t __th, void **__thread_return); 32020: 32020: 32020: 32020: 32020: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, 32020: const struct timespec *__abstime); 32020: # 238 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, 32020: clockid_t __clockid, 32020: const struct timespec *__abstime); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_detach (pthread_t __th) throw (); 32020: 32020: 32020: 32020: extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) 32020: throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_attr_destroy (pthread_attr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, 32020: int *__detachstate) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, 32020: int __detachstate) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, 32020: size_t *__guardsize) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_setguardsize (pthread_attr_t *__attr, 32020: size_t __guardsize) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, 32020: struct sched_param *__restrict __param) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, 32020: const struct sched_param *__restrict 32020: __param) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict 32020: __attr, int *__restrict __policy) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict 32020: __attr, int *__restrict __inherit) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, 32020: int __inherit) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, 32020: int *__restrict __scope) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict 32020: __attr, void **__restrict __stackaddr) 32020: throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, 32020: void *__stackaddr) 32020: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); 32020: 32020: 32020: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict 32020: __attr, size_t *__restrict __stacksize) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern int pthread_attr_setstacksize (pthread_attr_t *__attr, 32020: size_t __stacksize) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, 32020: void **__restrict __stackaddr, 32020: size_t *__restrict __stacksize) 32020: throw () __attribute__ ((__nonnull__ (1, 2, 3))); 32020: 32020: 32020: 32020: 32020: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, 32020: size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, 32020: size_t __cpusetsize, 32020: const cpu_set_t *__cpuset) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, 32020: size_t __cpusetsize, 32020: cpu_set_t *__cpuset) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: extern int pthread_getattr_default_np (pthread_attr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_setattr_default_np (const pthread_attr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_setschedparam (pthread_t __target_thread, int __policy, 32020: const struct sched_param *__param) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: 32020: 32020: extern int pthread_getschedparam (pthread_t __target_thread, 32020: int *__restrict __policy, 32020: struct sched_param *__restrict __param) 32020: throw () __attribute__ ((__nonnull__ (2, 3))); 32020: 32020: 32020: extern int pthread_setschedprio (pthread_t __target_thread, int __prio) 32020: throw (); 32020: 32020: 32020: 32020: 32020: extern int pthread_getname_np (pthread_t __target_thread, char *__buf, 32020: size_t __buflen) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: extern int pthread_setname_np (pthread_t __target_thread, const char *__name) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_getconcurrency (void) throw (); 32020: 32020: 32020: extern int pthread_setconcurrency (int __level) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_yield (void) throw (); 32020: 32020: 32020: 32020: 32020: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, 32020: const cpu_set_t *__cpuset) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: 32020: 32020: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, 32020: cpu_set_t *__cpuset) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: # 470 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_once (pthread_once_t *__once_control, 32020: void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); 32020: # 482 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_setcancelstate (int __state, int *__oldstate); 32020: 32020: 32020: 32020: extern int pthread_setcanceltype (int __type, int *__oldtype); 32020: 32020: 32020: extern int pthread_cancel (pthread_t __th); 32020: 32020: 32020: 32020: 32020: extern void pthread_testcancel (void); 32020: 32020: 32020: 32020: 32020: typedef struct 32020: { 32020: struct 32020: { 32020: __jmp_buf __cancel_jmp_buf; 32020: int __mask_was_saved; 32020: } __cancel_jmp_buf[1]; 32020: void *__pad[4]; 32020: } __pthread_unwind_buf_t __attribute__ ((__aligned__)); 32020: # 516 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: struct __pthread_cleanup_frame 32020: { 32020: void (*__cancel_routine) (void *); 32020: void *__cancel_arg; 32020: int __do_it; 32020: int __cancel_type; 32020: }; 32020: 32020: 32020: 32020: 32020: class __pthread_cleanup_class 32020: { 32020: void (*__cancel_routine) (void *); 32020: void *__cancel_arg; 32020: int __do_it; 32020: int __cancel_type; 32020: 32020: public: 32020: __pthread_cleanup_class (void (*__fct) (void *), void *__arg) 32020: : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } 32020: ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } 32020: void __setdoit (int __newval) { __do_it = __newval; } 32020: void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, 32020: &__cancel_type); } 32020: void __restore () const { pthread_setcanceltype (__cancel_type, 0); } 32020: }; 32020: # 718 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: struct __jmp_buf_tag; 32020: extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_mutex_init (pthread_mutex_t *__mutex, 32020: const pthread_mutexattr_t *__mutexattr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_mutex_lock (pthread_mutex_t *__mutex) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, 32020: const struct timespec *__restrict 32020: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, 32020: clockid_t __clockid, 32020: const struct timespec *__restrict 32020: __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_mutex_getprioceiling (const pthread_mutex_t * 32020: __restrict __mutex, 32020: int *__restrict __prioceiling) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, 32020: int __prioceiling, 32020: int *__restrict __old_ceiling) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: 32020: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 789 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * 32020: __restrict __attr, 32020: int *__restrict __pshared) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, 32020: int __pshared) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict 32020: __attr, int *__restrict __kind) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * 32020: __restrict __attr, 32020: int *__restrict __protocol) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, 32020: int __protocol) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * 32020: __restrict __attr, 32020: int *__restrict __prioceiling) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, 32020: int __prioceiling) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, 32020: int *__robustness) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, 32020: int *__robustness) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, 32020: int __robustness) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, 32020: int __robustness) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 871 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, 32020: const pthread_rwlockattr_t *__restrict 32020: __attr) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, 32020: const struct timespec *__restrict 32020: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, 32020: clockid_t __clockid, 32020: const struct timespec *__restrict 32020: __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, 32020: const struct timespec *__restrict 32020: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, 32020: clockid_t __clockid, 32020: const struct timespec *__restrict 32020: __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * 32020: __restrict __attr, 32020: int *__restrict __pshared) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, 32020: int __pshared) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * 32020: __restrict __attr, 32020: int *__restrict __pref) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, 32020: int __pref) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_cond_init (pthread_cond_t *__restrict __cond, 32020: const pthread_condattr_t *__restrict __cond_attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_cond_destroy (pthread_cond_t *__cond) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_cond_signal (pthread_cond_t *__cond) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_cond_broadcast (pthread_cond_t *__cond) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, 32020: pthread_mutex_t *__restrict __mutex) 32020: __attribute__ ((__nonnull__ (1, 2))); 32020: # 997 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, 32020: pthread_mutex_t *__restrict __mutex, 32020: const struct timespec *__restrict __abstime) 32020: __attribute__ ((__nonnull__ (1, 2, 3))); 32020: # 1010 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, 32020: pthread_mutex_t *__restrict __mutex, 32020: __clockid_t __clock_id, 32020: const struct timespec *__restrict __abstime) 32020: __attribute__ ((__nonnull__ (1, 2, 4))); 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_condattr_init (pthread_condattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_condattr_destroy (pthread_condattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_condattr_getpshared (const pthread_condattr_t * 32020: __restrict __attr, 32020: int *__restrict __pshared) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, 32020: int __pshared) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_condattr_getclock (const pthread_condattr_t * 32020: __restrict __attr, 32020: __clockid_t *__restrict __clock_id) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_condattr_setclock (pthread_condattr_t *__attr, 32020: __clockid_t __clock_id) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 1056 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_spin_destroy (pthread_spinlock_t *__lock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_spin_lock (pthread_spinlock_t *__lock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_spin_trylock (pthread_spinlock_t *__lock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_spin_unlock (pthread_spinlock_t *__lock) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, 32020: const pthread_barrierattr_t *__restrict 32020: __attr, unsigned int __count) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_barrier_wait (pthread_barrier_t *__barrier) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * 32020: __restrict __attr, 32020: int *__restrict __pshared) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, 32020: int __pshared) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 1123 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_key_create (pthread_key_t *__key, 32020: void (*__destr_function) (void *)) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int pthread_key_delete (pthread_key_t __key) throw (); 32020: 32020: 32020: extern void *pthread_getspecific (pthread_key_t __key) throw (); 32020: 32020: 32020: extern int pthread_setspecific (pthread_key_t __key, 32020: const void *__pointer) throw () ; 32020: 32020: 32020: 32020: 32020: extern int pthread_getcpuclockid (pthread_t __thread_id, 32020: __clockid_t *__clock_id) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: # 1157 "/usr/arm-linux-gnueabihf/include/pthread.h" 3 32020: extern int pthread_atfork (void (*__prepare) (void), 32020: void (*__parent) (void), 32020: void (*__child) (void)) throw (); 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () 32020: { 32020: return __thread1 == __thread2; 32020: } 32020: 32020: 32020: } 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 2 3 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: typedef pthread_t __gthread_t; 32020: typedef pthread_key_t __gthread_key_t; 32020: typedef pthread_once_t __gthread_once_t; 32020: typedef pthread_mutex_t __gthread_mutex_t; 32020: typedef pthread_mutex_t __gthread_recursive_mutex_t; 32020: typedef pthread_cond_t __gthread_cond_t; 32020: typedef struct timespec __gthread_time_t; 32020: # 102 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"), __copy__ (pthread_once))); 32020: static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"), __copy__ (pthread_getspecific))); 32020: static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"), __copy__ (pthread_setspecific))); 32020: 32020: static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"), __copy__ (pthread_create))); 32020: static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"), __copy__ (pthread_join))); 32020: static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"), __copy__ (pthread_equal))); 32020: static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"), __copy__ (pthread_self))); 32020: static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"), __copy__ (pthread_detach))); 32020: 32020: static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"), __copy__ (pthread_cancel))); 32020: 32020: static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"), __copy__ (sched_yield))); 32020: 32020: static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"), __copy__ (pthread_mutex_lock))); 32020: static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"), __copy__ (pthread_mutex_trylock))); 32020: 32020: static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"), __copy__ (pthread_mutex_timedlock))); 32020: 32020: static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"), __copy__ (pthread_mutex_unlock))); 32020: static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"), __copy__ (pthread_mutex_init))); 32020: static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"), __copy__ (pthread_mutex_destroy))); 32020: 32020: static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"), __copy__ (pthread_cond_init))); 32020: static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"), __copy__ (pthread_cond_broadcast))); 32020: static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"), __copy__ (pthread_cond_signal))); 32020: static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"), __copy__ (pthread_cond_wait))); 32020: static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"), __copy__ (pthread_cond_timedwait))); 32020: static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"), __copy__ (pthread_cond_destroy))); 32020: 32020: static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"), __copy__ (pthread_key_create))); 32020: static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"), __copy__ (pthread_key_delete))); 32020: static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"), __copy__ (pthread_mutexattr_init))); 32020: static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"), __copy__ (pthread_mutexattr_settype))); 32020: static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"), __copy__ (pthread_mutexattr_destroy))); 32020: # 237 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"), __copy__ (pthread_key_create))); 32020: # 247 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: static inline int 32020: __gthread_active_p (void) 32020: { 32020: static void *const __gthread_active_ptr 32020: = __extension__ (void *) &__gthrw___pthread_key_create; 32020: return __gthread_active_ptr != 0; 32020: } 32020: # 659 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: static inline int 32020: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), 32020: void *__args) 32020: { 32020: return __gthrw_pthread_create (__threadid, __null, __func, __args); 32020: } 32020: 32020: static inline int 32020: __gthread_join (__gthread_t __threadid, void **__value_ptr) 32020: { 32020: return __gthrw_pthread_join (__threadid, __value_ptr); 32020: } 32020: 32020: static inline int 32020: __gthread_detach (__gthread_t __threadid) 32020: { 32020: return __gthrw_pthread_detach (__threadid); 32020: } 32020: 32020: static inline int 32020: __gthread_equal (__gthread_t __t1, __gthread_t __t2) 32020: { 32020: return __gthrw_pthread_equal (__t1, __t2); 32020: } 32020: 32020: static inline __gthread_t 32020: __gthread_self (void) 32020: { 32020: return __gthrw_pthread_self (); 32020: } 32020: 32020: static inline int 32020: __gthread_yield (void) 32020: { 32020: return __gthrw_sched_yield (); 32020: } 32020: 32020: static inline int 32020: __gthread_once (__gthread_once_t *__once, void (*__func) (void)) 32020: { 32020: if (__gthread_active_p ()) 32020: return __gthrw_pthread_once (__once, __func); 32020: else 32020: return -1; 32020: } 32020: 32020: static inline int 32020: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) 32020: { 32020: return __gthrw_pthread_key_create (__key, __dtor); 32020: } 32020: 32020: static inline int 32020: __gthread_key_delete (__gthread_key_t __key) 32020: { 32020: return __gthrw_pthread_key_delete (__key); 32020: } 32020: 32020: static inline void * 32020: __gthread_getspecific (__gthread_key_t __key) 32020: { 32020: return __gthrw_pthread_getspecific (__key); 32020: } 32020: 32020: static inline int 32020: __gthread_setspecific (__gthread_key_t __key, const void *__ptr) 32020: { 32020: return __gthrw_pthread_setspecific (__key, __ptr); 32020: } 32020: 32020: static inline void 32020: __gthread_mutex_init_function (__gthread_mutex_t *__mutex) 32020: { 32020: if (__gthread_active_p ()) 32020: __gthrw_pthread_mutex_init (__mutex, __null); 32020: } 32020: 32020: static inline int 32020: __gthread_mutex_destroy (__gthread_mutex_t *__mutex) 32020: { 32020: if (__gthread_active_p ()) 32020: return __gthrw_pthread_mutex_destroy (__mutex); 32020: else 32020: return 0; 32020: } 32020: 32020: static inline int 32020: __gthread_mutex_lock (__gthread_mutex_t *__mutex) 32020: { 32020: if (__gthread_active_p ()) 32020: return __gthrw_pthread_mutex_lock (__mutex); 32020: else 32020: return 0; 32020: } 32020: 32020: static inline int 32020: __gthread_mutex_trylock (__gthread_mutex_t *__mutex) 32020: { 32020: if (__gthread_active_p ()) 32020: return __gthrw_pthread_mutex_trylock (__mutex); 32020: else 32020: return 0; 32020: } 32020: 32020: 32020: static inline int 32020: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex, 32020: const __gthread_time_t *__abs_timeout) 32020: { 32020: if (__gthread_active_p ()) 32020: return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); 32020: else 32020: return 0; 32020: } 32020: 32020: 32020: static inline int 32020: __gthread_mutex_unlock (__gthread_mutex_t *__mutex) 32020: { 32020: if (__gthread_active_p ()) 32020: return __gthrw_pthread_mutex_unlock (__mutex); 32020: else 32020: return 0; 32020: } 32020: # 808 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: static inline int 32020: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) 32020: { 32020: return __gthread_mutex_lock (__mutex); 32020: } 32020: 32020: static inline int 32020: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) 32020: { 32020: return __gthread_mutex_trylock (__mutex); 32020: } 32020: 32020: 32020: static inline int 32020: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, 32020: const __gthread_time_t *__abs_timeout) 32020: { 32020: return __gthread_mutex_timedlock (__mutex, __abs_timeout); 32020: } 32020: 32020: 32020: static inline int 32020: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) 32020: { 32020: return __gthread_mutex_unlock (__mutex); 32020: } 32020: 32020: static inline int 32020: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) 32020: { 32020: return __gthread_mutex_destroy (__mutex); 32020: } 32020: # 850 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr-default.h" 3 32020: static inline int 32020: __gthread_cond_broadcast (__gthread_cond_t *__cond) 32020: { 32020: return __gthrw_pthread_cond_broadcast (__cond); 32020: } 32020: 32020: static inline int 32020: __gthread_cond_signal (__gthread_cond_t *__cond) 32020: { 32020: return __gthrw_pthread_cond_signal (__cond); 32020: } 32020: 32020: static inline int 32020: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) 32020: { 32020: return __gthrw_pthread_cond_wait (__cond, __mutex); 32020: } 32020: 32020: static inline int 32020: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, 32020: const __gthread_time_t *__abs_timeout) 32020: { 32020: return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); 32020: } 32020: 32020: static inline int 32020: __gthread_cond_wait_recursive (__gthread_cond_t *__cond, 32020: __gthread_recursive_mutex_t *__mutex) 32020: { 32020: return __gthread_cond_wait (__cond, __mutex); 32020: } 32020: 32020: static inline int 32020: __gthread_cond_destroy (__gthread_cond_t* __cond) 32020: { 32020: return __gthrw_pthread_cond_destroy (__cond); 32020: } 32020: # 149 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/gthr.h" 2 3 32020: 32020: 32020: #pragma GCC visibility pop 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/ext/atomicity.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/atomic_word.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/atomic_word.h" 3 32020: typedef int _Atomic_word; 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/ext/atomicity.h" 2 3 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline _Atomic_word 32020: __attribute__((__always_inline__)) 32020: __exchange_and_add(volatile _Atomic_word* __mem, int __val) 32020: { return __atomic_fetch_add(__mem, __val, 4); } 32020: 32020: inline void 32020: __attribute__((__always_inline__)) 32020: __atomic_add(volatile _Atomic_word* __mem, int __val) 32020: { __atomic_fetch_add(__mem, __val, 4); } 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/ext/atomicity.h" 3 32020: inline _Atomic_word 32020: __attribute__((__always_inline__)) 32020: __exchange_and_add_single(_Atomic_word* __mem, int __val) 32020: { 32020: _Atomic_word __result = *__mem; 32020: *__mem += __val; 32020: return __result; 32020: } 32020: 32020: inline void 32020: __attribute__((__always_inline__)) 32020: __atomic_add_single(_Atomic_word* __mem, int __val) 32020: { *__mem += __val; } 32020: 32020: inline _Atomic_word 32020: __attribute__ ((__always_inline__)) 32020: __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) 32020: { 32020: 32020: if (__gthread_active_p()) 32020: return __exchange_and_add(__mem, __val); 32020: 32020: return __exchange_and_add_single(__mem, __val); 32020: } 32020: 32020: inline void 32020: __attribute__ ((__always_inline__)) 32020: __atomic_add_dispatch(_Atomic_word* __mem, int __val) 32020: { 32020: 32020: if (__gthread_active_p()) 32020: { 32020: __atomic_add(__mem, __val); 32020: return; 32020: } 32020: 32020: __atomic_add_single(__mem, __val); 32020: } 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/alloc_traits.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/alloc_traits.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/alloc_traits.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_construct.h" 1 3 32020: # 73 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_construct.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: inline void 32020: destroy_at(_Tp* __location) 32020: { 32020: if constexpr (201703L > 201703L && is_array_v<_Tp>) 32020: { 32020: for (auto& __x : *__location) 32020: std::destroy_at(std::__addressof(__x)); 32020: } 32020: else 32020: __location->~_Tp(); 32020: } 32020: # 106 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_construct.h" 3 32020: template 32020: inline void 32020: _Construct(_Tp* __p, _Args&&... __args) 32020: { ::new(static_cast(__p)) _Tp(std::forward<_Args>(__args)...); } 32020: # 121 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_construct.h" 3 32020: template 32020: inline void 32020: _Construct_novalue(_T1* __p) 32020: { ::new(static_cast(__p)) _T1; } 32020: 32020: template 32020: void 32020: _Destroy(_ForwardIterator __first, _ForwardIterator __last); 32020: 32020: 32020: 32020: 32020: template 32020: constexpr inline void 32020: _Destroy(_Tp* __pointer) 32020: { 32020: 32020: 32020: 32020: __pointer->~_Tp(); 32020: 32020: } 32020: 32020: template 32020: struct _Destroy_aux 32020: { 32020: template 32020: static void 32020: __destroy(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: for (; __first != __last; ++__first) 32020: std::_Destroy(std::__addressof(*__first)); 32020: } 32020: }; 32020: 32020: template<> 32020: struct _Destroy_aux 32020: { 32020: template 32020: static void 32020: __destroy(_ForwardIterator, _ForwardIterator) { } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: _Destroy(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _Value_type; 32020: 32020: 32020: static_assert(is_destructible<_Value_type>::value, 32020: "value type is destructible"); 32020: 32020: 32020: 32020: 32020: 32020: std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: 32020: __destroy(__first, __last); 32020: } 32020: 32020: template 32020: struct _Destroy_n_aux 32020: { 32020: template 32020: static _ForwardIterator 32020: __destroy_n(_ForwardIterator __first, _Size __count) 32020: { 32020: for (; __count > 0; (void)++__first, --__count) 32020: std::_Destroy(std::__addressof(*__first)); 32020: return __first; 32020: } 32020: }; 32020: 32020: template<> 32020: struct _Destroy_n_aux 32020: { 32020: template 32020: static _ForwardIterator 32020: __destroy_n(_ForwardIterator __first, _Size __count) 32020: { 32020: std::advance(__first, __count); 32020: return __first; 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: _Destroy_n(_ForwardIterator __first, _Size __count) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _Value_type; 32020: 32020: 32020: static_assert(is_destructible<_Value_type>::value, 32020: "value type is destructible"); 32020: 32020: 32020: 32020: 32020: 32020: return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: 32020: __destroy_n(__first, __count); 32020: } 32020: 32020: 32020: template 32020: inline void 32020: destroy(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: std::_Destroy(__first, __last); 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: destroy_n(_ForwardIterator __first, _Size __count) 32020: { 32020: return std::_Destroy_n(__first, __count); 32020: } 32020: 32020: 32020: 32020: } 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: struct __allocator_traits_base 32020: { 32020: template 32020: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 32020: 32020: template 32020: struct __rebind<_Tp, _Up, 32020: __void_t::other>> 32020: { using type = typename _Tp::template rebind<_Up>::other; }; 32020: 32020: protected: 32020: template 32020: using __pointer = typename _Tp::pointer; 32020: template 32020: using __c_pointer = typename _Tp::const_pointer; 32020: template 32020: using __v_pointer = typename _Tp::void_pointer; 32020: template 32020: using __cv_pointer = typename _Tp::const_void_pointer; 32020: template 32020: using __pocca = typename _Tp::propagate_on_container_copy_assignment; 32020: template 32020: using __pocma = typename _Tp::propagate_on_container_move_assignment; 32020: template 32020: using __pocs = typename _Tp::propagate_on_container_swap; 32020: template 32020: using __equal = typename _Tp::is_always_equal; 32020: }; 32020: 32020: template 32020: using __alloc_rebind 32020: = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct allocator_traits : __allocator_traits_base 32020: { 32020: 32020: typedef _Alloc allocator_type; 32020: 32020: typedef typename _Alloc::value_type value_type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: using pointer = __detected_or_t; 32020: 32020: private: 32020: 32020: template class _Func, typename _Tp, typename = void> 32020: struct _Ptr 32020: { 32020: using type = typename pointer_traits::template rebind<_Tp>; 32020: }; 32020: 32020: template class _Func, typename _Tp> 32020: struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> 32020: { 32020: using type = _Func<_Alloc>; 32020: }; 32020: 32020: 32020: template 32020: struct _Diff 32020: { using type = typename pointer_traits<_PtrT>::difference_type; }; 32020: 32020: template 32020: struct _Diff<_A2, _PtrT, __void_t> 32020: { using type = typename _A2::difference_type; }; 32020: 32020: 32020: template 32020: struct _Size : make_unsigned<_DiffT> { }; 32020: 32020: template 32020: struct _Size<_A2, _DiffT, __void_t> 32020: { using type = typename _A2::size_type; }; 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using void_pointer = typename _Ptr<__v_pointer, void>::type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using difference_type = typename _Diff<_Alloc, pointer>::type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using size_type = typename _Size<_Alloc, difference_type>::type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using propagate_on_container_copy_assignment 32020: = __detected_or_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using propagate_on_container_move_assignment 32020: = __detected_or_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using propagate_on_container_swap 32020: = __detected_or_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: using is_always_equal 32020: = __detected_or_t::type, __equal, _Alloc>; 32020: 32020: template 32020: using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; 32020: template 32020: using rebind_traits = allocator_traits>; 32020: 32020: private: 32020: template 32020: static constexpr auto 32020: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) 32020: -> decltype(__a.allocate(__n, __hint)) 32020: { return __a.allocate(__n, __hint); } 32020: 32020: template 32020: static constexpr pointer 32020: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) 32020: { return __a.allocate(__n); } 32020: 32020: template 32020: struct __construct_helper 32020: { 32020: template()->construct( 32020: std::declval<_Tp*>(), std::declval<_Args>()...))> 32020: static true_type __test(int); 32020: 32020: template 32020: static false_type __test(...); 32020: 32020: using type = decltype(__test<_Alloc>(0)); 32020: }; 32020: 32020: template 32020: using __has_construct 32020: = typename __construct_helper<_Tp, _Args...>::type; 32020: 32020: template 32020: static constexpr _Require<__has_construct<_Tp, _Args...>> 32020: _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 32020: noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...))) 32020: { __a.construct(__p, std::forward<_Args>(__args)...); } 32020: 32020: template 32020: static constexpr 32020: _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, 32020: is_constructible<_Tp, _Args...>>> 32020: _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) 32020: noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value) 32020: { 32020: 32020: ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); 32020: 32020: 32020: 32020: } 32020: 32020: template 32020: static constexpr auto 32020: _S_destroy(_Alloc2& __a, _Tp* __p, int) 32020: noexcept(noexcept(__a.destroy(__p))) 32020: -> decltype(__a.destroy(__p)) 32020: { __a.destroy(__p); } 32020: 32020: template 32020: static constexpr void 32020: _S_destroy(_Alloc2&, _Tp* __p, ...) 32020: noexcept(std::is_nothrow_destructible<_Tp>::value) 32020: { std::_Destroy(__p); } 32020: 32020: template 32020: static constexpr auto 32020: _S_max_size(_Alloc2& __a, int) 32020: -> decltype(__a.max_size()) 32020: { return __a.max_size(); } 32020: 32020: template 32020: static constexpr size_type 32020: _S_max_size(_Alloc2&, ...) 32020: { 32020: 32020: 32020: return __gnu_cxx::__numeric_traits::__max 32020: / sizeof(value_type); 32020: } 32020: 32020: template 32020: static constexpr auto 32020: _S_select(_Alloc2& __a, int) 32020: -> decltype(__a.select_on_container_copy_construction()) 32020: { return __a.select_on_container_copy_construction(); } 32020: 32020: template 32020: static constexpr _Alloc2 32020: _S_select(_Alloc2& __a, ...) 32020: { return __a; } 32020: 32020: public: 32020: # 312 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: [[__nodiscard__]] static pointer 32020: allocate(_Alloc& __a, size_type __n) 32020: { return __a.allocate(__n); } 32020: # 327 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: [[__nodiscard__]] static pointer 32020: allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) 32020: { return _S_allocate(__a, __n, __hint, 0); } 32020: # 339 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: static void 32020: deallocate(_Alloc& __a, pointer __p, size_type __n) 32020: { __a.deallocate(__p, __n); } 32020: # 354 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: static auto 32020: construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 32020: noexcept(noexcept(_S_construct(__a, __p, 32020: std::forward<_Args>(__args)...))) 32020: -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) 32020: { _S_construct(__a, __p, std::forward<_Args>(__args)...); } 32020: # 370 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: static void 32020: destroy(_Alloc& __a, _Tp* __p) 32020: noexcept(noexcept(_S_destroy(__a, __p, 0))) 32020: { _S_destroy(__a, __p, 0); } 32020: # 384 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: static size_type 32020: max_size(const _Alloc& __a) noexcept 32020: { return _S_max_size(__a, 0); } 32020: # 396 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: static _Alloc 32020: select_on_container_copy_construction(const _Alloc& __rhs) 32020: { return _S_select(__rhs, 0); } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct allocator_traits> 32020: { 32020: 32020: using allocator_type = allocator<_Tp>; 32020: 32020: 32020: using value_type = _Tp; 32020: 32020: 32020: using pointer = _Tp*; 32020: 32020: 32020: using const_pointer = const _Tp*; 32020: 32020: 32020: using void_pointer = void*; 32020: 32020: 32020: using const_void_pointer = const void*; 32020: 32020: 32020: using difference_type = std::ptrdiff_t; 32020: 32020: 32020: using size_type = std::size_t; 32020: 32020: 32020: using propagate_on_container_copy_assignment = false_type; 32020: 32020: 32020: using propagate_on_container_move_assignment = true_type; 32020: 32020: 32020: using propagate_on_container_swap = false_type; 32020: 32020: 32020: using is_always_equal = true_type; 32020: 32020: template 32020: using rebind_alloc = allocator<_Up>; 32020: 32020: template 32020: using rebind_traits = allocator_traits>; 32020: # 458 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: [[__nodiscard__]] static pointer 32020: allocate(allocator_type& __a, size_type __n) 32020: { return __a.allocate(__n); } 32020: # 472 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: [[__nodiscard__]] static pointer 32020: allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) 32020: { 32020: 32020: return __a.allocate(__n, __hint); 32020: 32020: 32020: 32020: } 32020: # 490 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: static void 32020: deallocate(allocator_type& __a, pointer __p, size_type __n) 32020: { __a.deallocate(__p, __n); } 32020: # 505 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: static void 32020: construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, 32020: _Args&&... __args) 32020: noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) 32020: { 32020: 32020: __a.construct(__p, std::forward<_Args>(__args)...); 32020: 32020: 32020: 32020: } 32020: # 525 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: static void 32020: destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) 32020: noexcept(is_nothrow_destructible<_Up>::value) 32020: { 32020: 32020: __a.destroy(__p); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: static size_type 32020: max_size(const allocator_type& __a __attribute__((__unused__))) noexcept 32020: { 32020: 32020: return __a.max_size(); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: static allocator_type 32020: select_on_container_copy_construction(const allocator_type& __rhs) 32020: { return __rhs; } 32020: }; 32020: # 574 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: constexpr inline void 32020: __alloc_on_copy(_Alloc& __one, const _Alloc& __two) 32020: { 32020: typedef allocator_traits<_Alloc> __traits; 32020: typedef typename __traits::propagate_on_container_copy_assignment __pocca; 32020: 32020: if constexpr (__pocca::value) 32020: __one = __two; 32020: 32020: 32020: 32020: } 32020: 32020: template 32020: constexpr _Alloc 32020: __alloc_on_copy(const _Alloc& __a) 32020: { 32020: typedef allocator_traits<_Alloc> __traits; 32020: return __traits::select_on_container_copy_construction(__a); 32020: } 32020: # 606 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: constexpr inline void 32020: __alloc_on_move(_Alloc& __one, _Alloc& __two) 32020: { 32020: typedef allocator_traits<_Alloc> __traits; 32020: typedef typename __traits::propagate_on_container_move_assignment __pocma; 32020: 32020: if constexpr (__pocma::value) 32020: __one = std::move(__two); 32020: 32020: 32020: 32020: } 32020: # 633 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: constexpr inline void 32020: __alloc_on_swap(_Alloc& __one, _Alloc& __two) 32020: { 32020: typedef allocator_traits<_Alloc> __traits; 32020: typedef typename __traits::propagate_on_container_swap __pocs; 32020: 32020: if constexpr (__pocs::value) 32020: { 32020: using std::swap; 32020: swap(__one, __two); 32020: } 32020: 32020: 32020: 32020: } 32020: 32020: template, 32020: typename = void> 32020: struct __is_alloc_insertable_impl 32020: : false_type 32020: { }; 32020: 32020: template 32020: struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT, 32020: __void_t::construct( 32020: std::declval<_Alloc&>(), std::declval<_ValueT*>(), 32020: std::declval<_Tp>()))>> 32020: : true_type 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_copy_insertable 32020: : __is_alloc_insertable_impl<_Alloc, 32020: typename _Alloc::value_type const&>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __is_copy_insertable> 32020: : is_copy_constructible<_Tp> 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_move_insertable 32020: : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __is_move_insertable> 32020: : is_move_constructible<_Tp> 32020: { }; 32020: 32020: 32020: template 32020: struct __is_allocator : false_type { }; 32020: 32020: template 32020: struct __is_allocator<_Alloc, 32020: __void_t().allocate(size_t{}))>> 32020: : true_type { }; 32020: 32020: template 32020: using _RequireAllocator 32020: = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; 32020: 32020: template 32020: using _RequireNotAllocator 32020: = typename enable_if::value, _Alloc>::type; 32020: # 719 "/usr/arm-linux-gnueabihf/include/c++/10/bits/alloc_traits.h" 3 32020: template 32020: void 32020: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 32020: _Allocator& __alloc) 32020: { 32020: for (; __first != __last; ++__first) 32020: 32020: 32020: 32020: allocator_traits<_Allocator>::destroy(__alloc, 32020: std::__addressof(*__first)); 32020: 32020: } 32020: 32020: template 32020: inline void 32020: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 32020: allocator<_Tp>&) 32020: { 32020: _Destroy(__first, __last); 32020: } 32020: 32020: 32020: } 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/ext/alloc_traits.h" 2 3 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __alloc_traits 32020: 32020: : std::allocator_traits<_Alloc> 32020: 32020: { 32020: typedef _Alloc allocator_type; 32020: 32020: typedef std::allocator_traits<_Alloc> _Base_type; 32020: typedef typename _Base_type::value_type value_type; 32020: typedef typename _Base_type::pointer pointer; 32020: typedef typename _Base_type::const_pointer const_pointer; 32020: typedef typename _Base_type::size_type size_type; 32020: typedef typename _Base_type::difference_type difference_type; 32020: 32020: typedef value_type& reference; 32020: typedef const value_type& const_reference; 32020: using _Base_type::allocate; 32020: using _Base_type::deallocate; 32020: using _Base_type::construct; 32020: using _Base_type::destroy; 32020: using _Base_type::max_size; 32020: 32020: private: 32020: template 32020: using __is_custom_pointer 32020: = std::__and_, 32020: std::__not_>>; 32020: 32020: public: 32020: 32020: template 32020: static constexpr 32020: std::__enable_if_t<__is_custom_pointer<_Ptr>::value> 32020: construct(_Alloc& __a, _Ptr __p, _Args&&... __args) 32020: noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p), 32020: std::forward<_Args>(__args)...))) 32020: { 32020: _Base_type::construct(__a, std::__to_address(__p), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: template 32020: static constexpr 32020: std::__enable_if_t<__is_custom_pointer<_Ptr>::value> 32020: destroy(_Alloc& __a, _Ptr __p) 32020: noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p)))) 32020: { _Base_type::destroy(__a, std::__to_address(__p)); } 32020: 32020: static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) 32020: { return _Base_type::select_on_container_copy_construction(__a); } 32020: 32020: static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b) 32020: { std::__alloc_on_swap(__a, __b); } 32020: 32020: static constexpr bool _S_propagate_on_copy_assign() 32020: { return _Base_type::propagate_on_container_copy_assignment::value; } 32020: 32020: static constexpr bool _S_propagate_on_move_assign() 32020: { return _Base_type::propagate_on_container_move_assignment::value; } 32020: 32020: static constexpr bool _S_propagate_on_swap() 32020: { return _Base_type::propagate_on_container_swap::value; } 32020: 32020: static constexpr bool _S_always_equal() 32020: { return _Base_type::is_always_equal::value; } 32020: 32020: static constexpr bool _S_nothrow_move() 32020: { return _S_propagate_on_move_assign() || _S_always_equal(); } 32020: 32020: template 32020: struct rebind 32020: { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; 32020: # 166 "/usr/arm-linux-gnueabihf/include/c++/10/ext/alloc_traits.h" 3 32020: }; 32020: 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 3 32020: template 32020: struct __hash_base 32020: { 32020: typedef _Result result_type [[__deprecated__]]; 32020: typedef _Arg argument_type [[__deprecated__]]; 32020: }; 32020: 32020: 32020: template 32020: struct hash; 32020: 32020: template 32020: struct __poison_hash 32020: { 32020: static constexpr bool __enable_hash_call = false; 32020: private: 32020: 32020: __poison_hash(__poison_hash&&); 32020: ~__poison_hash(); 32020: }; 32020: 32020: template 32020: struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> 32020: { 32020: static constexpr bool __enable_hash_call = true; 32020: }; 32020: 32020: 32020: template::value> 32020: struct __hash_enum 32020: { 32020: private: 32020: 32020: __hash_enum(__hash_enum&&); 32020: ~__hash_enum(); 32020: }; 32020: 32020: 32020: template 32020: struct __hash_enum<_Tp, true> : public __hash_base 32020: { 32020: size_t 32020: operator()(_Tp __val) const noexcept 32020: { 32020: using __type = typename underlying_type<_Tp>::type; 32020: return hash<__type>{}(static_cast<__type>(__val)); 32020: } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct hash : __hash_enum<_Tp> 32020: { }; 32020: 32020: 32020: template 32020: struct hash<_Tp*> : public __hash_base 32020: { 32020: size_t 32020: operator()(_Tp* __p) const noexcept 32020: { return reinterpret_cast(__p); } 32020: }; 32020: # 124 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 3 32020: template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; 32020: 32020: 32020: template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; 32020: # 192 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 3 32020: struct _Hash_impl 32020: { 32020: static size_t 32020: hash(const void* __ptr, size_t __clength, 32020: size_t __seed = static_cast(0xc70f6907UL)) 32020: { return _Hash_bytes(__ptr, __clength, __seed); } 32020: 32020: template 32020: static size_t 32020: hash(const _Tp& __val) 32020: { return hash(&__val, sizeof(__val)); } 32020: 32020: template 32020: static size_t 32020: __hash_combine(const _Tp& __val, size_t __hash) 32020: { return hash(&__val, sizeof(__val), __hash); } 32020: }; 32020: 32020: 32020: struct _Fnv_hash_impl 32020: { 32020: static size_t 32020: hash(const void* __ptr, size_t __clength, 32020: size_t __seed = static_cast(2166136261UL)) 32020: { return _Fnv_hash_bytes(__ptr, __clength, __seed); } 32020: 32020: template 32020: static size_t 32020: hash(const _Tp& __val) 32020: { return hash(&__val, sizeof(__val)); } 32020: 32020: template 32020: static size_t 32020: __hash_combine(const _Tp& __val, size_t __hash) 32020: { return hash(&__val, sizeof(__val), __hash); } 32020: }; 32020: 32020: 32020: template<> 32020: struct hash : public __hash_base 32020: { 32020: size_t 32020: operator()(float __val) const noexcept 32020: { 32020: 32020: return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; 32020: } 32020: }; 32020: 32020: 32020: template<> 32020: struct hash : public __hash_base 32020: { 32020: size_t 32020: operator()(double __val) const noexcept 32020: { 32020: 32020: return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; 32020: } 32020: }; 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: __attribute__ ((__pure__)) size_t 32020: operator()(long double __val) const noexcept; 32020: }; 32020: 32020: 32020: template<> 32020: struct hash : public __hash_base 32020: { 32020: size_t 32020: operator()(nullptr_t) const noexcept 32020: { return 0; } 32020: }; 32020: # 278 "/usr/arm-linux-gnueabihf/include/c++/10/bits/functional_hash.h" 3 32020: template 32020: struct __is_fast_hash : public std::true_type 32020: { }; 32020: 32020: template<> 32020: struct __is_fast_hash> : public std::false_type 32020: { }; 32020: 32020: 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 2 3 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr size_t 32020: __sv_check(size_t __size, size_t __pos, const char* __s) 32020: { 32020: if (__pos > __size) 32020: __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)") 32020: , __s, __pos, __size); 32020: return __pos; 32020: } 32020: 32020: 32020: 32020: constexpr size_t 32020: __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept 32020: { 32020: const bool __testoff = __off < __size - __pos; 32020: return __testoff ? __off : __size - __pos; 32020: } 32020: # 93 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: template> 32020: class basic_string_view 32020: { 32020: static_assert(!is_array_v<_CharT>); 32020: static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>); 32020: static_assert(is_same_v<_CharT, typename _Traits::char_type>); 32020: 32020: public: 32020: 32020: 32020: using traits_type = _Traits; 32020: using value_type = _CharT; 32020: using pointer = value_type*; 32020: using const_pointer = const value_type*; 32020: using reference = value_type&; 32020: using const_reference = const value_type&; 32020: using const_iterator = const value_type*; 32020: using iterator = const_iterator; 32020: using const_reverse_iterator = std::reverse_iterator; 32020: using reverse_iterator = const_reverse_iterator; 32020: using size_type = size_t; 32020: using difference_type = ptrdiff_t; 32020: static constexpr size_type npos = size_type(-1); 32020: 32020: 32020: 32020: constexpr 32020: basic_string_view() noexcept 32020: : _M_len{0}, _M_str{nullptr} 32020: { } 32020: 32020: constexpr basic_string_view(const basic_string_view&) noexcept = default; 32020: 32020: __attribute__((__nonnull__)) constexpr 32020: basic_string_view(const _CharT* __str) noexcept 32020: : _M_len{traits_type::length(__str)}, 32020: _M_str{__str} 32020: { } 32020: 32020: constexpr 32020: basic_string_view(const _CharT* __str, size_type __len) noexcept 32020: : _M_len{__len}, _M_str{__str} 32020: { } 32020: # 147 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: constexpr basic_string_view& 32020: operator=(const basic_string_view&) noexcept = default; 32020: 32020: 32020: 32020: constexpr const_iterator 32020: begin() const noexcept 32020: { return this->_M_str; } 32020: 32020: constexpr const_iterator 32020: end() const noexcept 32020: { return this->_M_str + this->_M_len; } 32020: 32020: constexpr const_iterator 32020: cbegin() const noexcept 32020: { return this->_M_str; } 32020: 32020: constexpr const_iterator 32020: cend() const noexcept 32020: { return this->_M_str + this->_M_len; } 32020: 32020: constexpr const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(this->end()); } 32020: 32020: constexpr const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(this->begin()); } 32020: 32020: constexpr const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(this->end()); } 32020: 32020: constexpr const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(this->begin()); } 32020: 32020: 32020: 32020: constexpr size_type 32020: size() const noexcept 32020: { return this->_M_len; } 32020: 32020: constexpr size_type 32020: length() const noexcept 32020: { return _M_len; } 32020: 32020: constexpr size_type 32020: max_size() const noexcept 32020: { 32020: return (npos - sizeof(size_type) - sizeof(void*)) 32020: / sizeof(value_type) / 4; 32020: } 32020: 32020: [[nodiscard]] constexpr bool 32020: empty() const noexcept 32020: { return this->_M_len == 0; } 32020: 32020: 32020: 32020: constexpr const_reference 32020: operator[](size_type __pos) const noexcept 32020: { 32020: ; 32020: return *(this->_M_str + __pos); 32020: } 32020: 32020: constexpr const_reference 32020: at(size_type __pos) const 32020: { 32020: if (__pos >= _M_len) 32020: __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)") 32020: 32020: , __pos, this->size()); 32020: return *(this->_M_str + __pos); 32020: } 32020: 32020: constexpr const_reference 32020: front() const noexcept 32020: { 32020: ; 32020: return *this->_M_str; 32020: } 32020: 32020: constexpr const_reference 32020: back() const noexcept 32020: { 32020: ; 32020: return *(this->_M_str + this->_M_len - 1); 32020: } 32020: 32020: constexpr const_pointer 32020: data() const noexcept 32020: { return this->_M_str; } 32020: 32020: 32020: 32020: constexpr void 32020: remove_prefix(size_type __n) noexcept 32020: { 32020: ; 32020: this->_M_str += __n; 32020: this->_M_len -= __n; 32020: } 32020: 32020: constexpr void 32020: remove_suffix(size_type __n) noexcept 32020: { this->_M_len -= __n; } 32020: 32020: constexpr void 32020: swap(basic_string_view& __sv) noexcept 32020: { 32020: auto __tmp = *this; 32020: *this = __sv; 32020: __sv = __tmp; 32020: } 32020: 32020: 32020: 32020: 32020: size_type 32020: copy(_CharT* __str, size_type __n, size_type __pos = 0) const 32020: { 32020: ; 32020: __pos = std::__sv_check(size(), __pos, "basic_string_view::copy"); 32020: const size_type __rlen = std::min(__n, _M_len - __pos); 32020: 32020: 32020: traits_type::copy(__str, data() + __pos, __rlen); 32020: return __rlen; 32020: } 32020: 32020: constexpr basic_string_view 32020: substr(size_type __pos = 0, size_type __n = npos) const noexcept(false) 32020: { 32020: __pos = std::__sv_check(size(), __pos, "basic_string_view::substr"); 32020: const size_type __rlen = std::min(__n, _M_len - __pos); 32020: return basic_string_view{_M_str + __pos, __rlen}; 32020: } 32020: 32020: constexpr int 32020: compare(basic_string_view __str) const noexcept 32020: { 32020: const size_type __rlen = std::min(this->_M_len, __str._M_len); 32020: int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen); 32020: if (__ret == 0) 32020: __ret = _S_compare(this->_M_len, __str._M_len); 32020: return __ret; 32020: } 32020: 32020: constexpr int 32020: compare(size_type __pos1, size_type __n1, basic_string_view __str) const 32020: { return this->substr(__pos1, __n1).compare(__str); } 32020: 32020: constexpr int 32020: compare(size_type __pos1, size_type __n1, 32020: basic_string_view __str, size_type __pos2, size_type __n2) const 32020: { 32020: return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2)); 32020: } 32020: 32020: __attribute__((__nonnull__)) constexpr int 32020: compare(const _CharT* __str) const noexcept 32020: { return this->compare(basic_string_view{__str}); } 32020: 32020: __attribute__((__nonnull__)) constexpr int 32020: compare(size_type __pos1, size_type __n1, const _CharT* __str) const 32020: { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } 32020: 32020: constexpr int 32020: compare(size_type __pos1, size_type __n1, 32020: const _CharT* __str, size_type __n2) const noexcept(false) 32020: { 32020: return this->substr(__pos1, __n1) 32020: .compare(basic_string_view(__str, __n2)); 32020: } 32020: # 356 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: constexpr size_type 32020: find(basic_string_view __str, size_type __pos = 0) const noexcept 32020: { return this->find(__str._M_str, __pos, __str._M_len); } 32020: 32020: constexpr size_type 32020: find(_CharT __c, size_type __pos = 0) const noexcept; 32020: 32020: constexpr size_type 32020: find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; 32020: 32020: __attribute__((__nonnull__)) constexpr size_type 32020: find(const _CharT* __str, size_type __pos = 0) const noexcept 32020: { return this->find(__str, __pos, traits_type::length(__str)); } 32020: 32020: constexpr size_type 32020: rfind(basic_string_view __str, size_type __pos = npos) const noexcept 32020: { return this->rfind(__str._M_str, __pos, __str._M_len); } 32020: 32020: constexpr size_type 32020: rfind(_CharT __c, size_type __pos = npos) const noexcept; 32020: 32020: constexpr size_type 32020: rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; 32020: 32020: __attribute__((__nonnull__)) constexpr size_type 32020: rfind(const _CharT* __str, size_type __pos = npos) const noexcept 32020: { return this->rfind(__str, __pos, traits_type::length(__str)); } 32020: 32020: constexpr size_type 32020: find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept 32020: { return this->find_first_of(__str._M_str, __pos, __str._M_len); } 32020: 32020: constexpr size_type 32020: find_first_of(_CharT __c, size_type __pos = 0) const noexcept 32020: { return this->find(__c, __pos); } 32020: 32020: constexpr size_type 32020: find_first_of(const _CharT* __str, size_type __pos, 32020: size_type __n) const noexcept; 32020: 32020: __attribute__((__nonnull__)) constexpr size_type 32020: find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept 32020: { return this->find_first_of(__str, __pos, traits_type::length(__str)); } 32020: 32020: constexpr size_type 32020: find_last_of(basic_string_view __str, 32020: size_type __pos = npos) const noexcept 32020: { return this->find_last_of(__str._M_str, __pos, __str._M_len); } 32020: 32020: constexpr size_type 32020: find_last_of(_CharT __c, size_type __pos=npos) const noexcept 32020: { return this->rfind(__c, __pos); } 32020: 32020: constexpr size_type 32020: find_last_of(const _CharT* __str, size_type __pos, 32020: size_type __n) const noexcept; 32020: 32020: __attribute__((__nonnull__)) constexpr size_type 32020: find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept 32020: { return this->find_last_of(__str, __pos, traits_type::length(__str)); } 32020: 32020: constexpr size_type 32020: find_first_not_of(basic_string_view __str, 32020: size_type __pos = 0) const noexcept 32020: { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); } 32020: 32020: constexpr size_type 32020: find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; 32020: 32020: constexpr size_type 32020: find_first_not_of(const _CharT* __str, 32020: size_type __pos, size_type __n) const noexcept; 32020: 32020: __attribute__((__nonnull__)) constexpr size_type 32020: find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept 32020: { 32020: return this->find_first_not_of(__str, __pos, 32020: traits_type::length(__str)); 32020: } 32020: 32020: constexpr size_type 32020: find_last_not_of(basic_string_view __str, 32020: size_type __pos = npos) const noexcept 32020: { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); } 32020: 32020: constexpr size_type 32020: find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; 32020: 32020: constexpr size_type 32020: find_last_not_of(const _CharT* __str, 32020: size_type __pos, size_type __n) const noexcept; 32020: 32020: __attribute__((__nonnull__)) constexpr size_type 32020: find_last_not_of(const _CharT* __str, 32020: size_type __pos = npos) const noexcept 32020: { 32020: return this->find_last_not_of(__str, __pos, 32020: traits_type::length(__str)); 32020: } 32020: 32020: private: 32020: 32020: static constexpr int 32020: _S_compare(size_type __n1, size_type __n2) noexcept 32020: { 32020: const difference_type __diff = __n1 - __n2; 32020: if (__diff > __gnu_cxx::__int_traits::__max) 32020: return __gnu_cxx::__int_traits::__max; 32020: if (__diff < __gnu_cxx::__int_traits::__min) 32020: return __gnu_cxx::__int_traits::__min; 32020: return static_cast(__diff); 32020: } 32020: 32020: size_t _M_len; 32020: const _CharT* _M_str; 32020: }; 32020: # 485 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: template 32020: constexpr bool 32020: operator==(basic_string_view<_CharT, _Traits> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.size() == __y.size() && __x.compare(__y) == 0; } 32020: 32020: template 32020: constexpr bool 32020: operator==(basic_string_view<_CharT, _Traits> __x, 32020: __type_identity_t> __y) 32020: noexcept 32020: { return __x.size() == __y.size() && __x.compare(__y) == 0; } 32020: # 514 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: template 32020: constexpr bool 32020: operator==(__type_identity_t> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.size() == __y.size() && __x.compare(__y) == 0; } 32020: 32020: template 32020: constexpr bool 32020: operator!=(basic_string_view<_CharT, _Traits> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return !(__x == __y); } 32020: 32020: template 32020: constexpr bool 32020: operator!=(basic_string_view<_CharT, _Traits> __x, 32020: __type_identity_t> __y) 32020: noexcept 32020: { return !(__x == __y); } 32020: 32020: template 32020: constexpr bool 32020: operator!=(__type_identity_t> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return !(__x == __y); } 32020: 32020: template 32020: constexpr bool 32020: operator< (basic_string_view<_CharT, _Traits> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) < 0; } 32020: 32020: template 32020: constexpr bool 32020: operator< (basic_string_view<_CharT, _Traits> __x, 32020: __type_identity_t> __y) 32020: noexcept 32020: { return __x.compare(__y) < 0; } 32020: 32020: template 32020: constexpr bool 32020: operator< (__type_identity_t> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) < 0; } 32020: 32020: template 32020: constexpr bool 32020: operator> (basic_string_view<_CharT, _Traits> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) > 0; } 32020: 32020: template 32020: constexpr bool 32020: operator> (basic_string_view<_CharT, _Traits> __x, 32020: __type_identity_t> __y) 32020: noexcept 32020: { return __x.compare(__y) > 0; } 32020: 32020: template 32020: constexpr bool 32020: operator> (__type_identity_t> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) > 0; } 32020: 32020: template 32020: constexpr bool 32020: operator<=(basic_string_view<_CharT, _Traits> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) <= 0; } 32020: 32020: template 32020: constexpr bool 32020: operator<=(basic_string_view<_CharT, _Traits> __x, 32020: __type_identity_t> __y) 32020: noexcept 32020: { return __x.compare(__y) <= 0; } 32020: 32020: template 32020: constexpr bool 32020: operator<=(__type_identity_t> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) <= 0; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(basic_string_view<_CharT, _Traits> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) >= 0; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(basic_string_view<_CharT, _Traits> __x, 32020: __type_identity_t> __y) 32020: noexcept 32020: { return __x.compare(__y) >= 0; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(__type_identity_t> __x, 32020: basic_string_view<_CharT, _Traits> __y) noexcept 32020: { return __x.compare(__y) >= 0; } 32020: 32020: 32020: 32020: template 32020: inline basic_ostream<_CharT, _Traits>& 32020: operator<<(basic_ostream<_CharT, _Traits>& __os, 32020: basic_string_view<_CharT,_Traits> __str) 32020: { return __ostream_insert(__os, __str.data(), __str.size()); } 32020: 32020: 32020: 32020: 32020: using string_view = basic_string_view; 32020: 32020: using wstring_view = basic_string_view; 32020: 32020: 32020: 32020: 32020: using u16string_view = basic_string_view; 32020: using u32string_view = basic_string_view; 32020: 32020: 32020: 32020: template 32020: struct hash; 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const string_view& __str) const noexcept 32020: { return std::_Hash_impl::hash(__str.data(), __str.length()); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const wstring_view& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), 32020: __s.length() * sizeof(wchar_t)); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: # 685 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const u16string_view& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), 32020: __s.length() * sizeof(char16_t)); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const u32string_view& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), 32020: __s.length() * sizeof(char32_t)); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: 32020: inline namespace literals 32020: { 32020: inline namespace string_view_literals 32020: { 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wliteral-suffix" 32020: inline constexpr basic_string_view 32020: operator""sv(const char* __str, size_t __len) noexcept 32020: { return basic_string_view{__str, __len}; } 32020: 32020: 32020: inline constexpr basic_string_view 32020: operator""sv(const wchar_t* __str, size_t __len) noexcept 32020: { return basic_string_view{__str, __len}; } 32020: # 735 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: inline constexpr basic_string_view 32020: operator""sv(const char16_t* __str, size_t __len) noexcept 32020: { return basic_string_view{__str, __len}; } 32020: 32020: inline constexpr basic_string_view 32020: operator""sv(const char32_t* __str, size_t __len) noexcept 32020: { return basic_string_view{__str, __len}; } 32020: 32020: #pragma GCC diagnostic pop 32020: } 32020: } 32020: # 761 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 3 32020: 32020: } 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/string_view.tcc" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/string_view.tcc" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/string_view.tcc" 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find(const _CharT* __str, size_type __pos, size_type __n) const noexcept 32020: { 32020: ; 32020: 32020: if (__n == 0) 32020: return __pos <= this->_M_len ? __pos : npos; 32020: 32020: if (__n <= this->_M_len) 32020: { 32020: for (; __pos <= this->_M_len - __n; ++__pos) 32020: if (traits_type::eq(this->_M_str[__pos], __str[0]) 32020: && traits_type::compare(this->_M_str + __pos + 1, 32020: __str + 1, __n - 1) == 0) 32020: return __pos; 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find(_CharT __c, size_type __pos) const noexcept 32020: { 32020: size_type __ret = npos; 32020: if (__pos < this->_M_len) 32020: { 32020: const size_type __n = this->_M_len - __pos; 32020: const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c); 32020: if (__p) 32020: __ret = __p - this->_M_str; 32020: } 32020: return __ret; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept 32020: { 32020: ; 32020: 32020: if (__n <= this->_M_len) 32020: { 32020: __pos = std::min(size_type(this->_M_len - __n), __pos); 32020: do 32020: { 32020: if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0) 32020: return __pos; 32020: } 32020: while (__pos-- > 0); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: rfind(_CharT __c, size_type __pos) const noexcept 32020: { 32020: size_type __size = this->_M_len; 32020: if (__size > 0) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: for (++__size; __size-- > 0; ) 32020: if (traits_type::eq(this->_M_str[__size], __c)) 32020: return __size; 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find_first_of(const _CharT* __str, size_type __pos, 32020: size_type __n) const noexcept 32020: { 32020: ; 32020: for (; __n && __pos < this->_M_len; ++__pos) 32020: { 32020: const _CharT* __p = traits_type::find(__str, __n, 32020: this->_M_str[__pos]); 32020: if (__p) 32020: return __pos; 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find_last_of(const _CharT* __str, size_type __pos, 32020: size_type __n) const noexcept 32020: { 32020: ; 32020: size_type __size = this->size(); 32020: if (__size && __n) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: do 32020: { 32020: if (traits_type::find(__str, __n, this->_M_str[__size])) 32020: return __size; 32020: } 32020: while (__size-- != 0); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find_first_not_of(const _CharT* __str, size_type __pos, 32020: size_type __n) const noexcept 32020: { 32020: ; 32020: for (; __pos < this->_M_len; ++__pos) 32020: if (!traits_type::find(__str, __n, this->_M_str[__pos])) 32020: return __pos; 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find_first_not_of(_CharT __c, size_type __pos) const noexcept 32020: { 32020: for (; __pos < this->_M_len; ++__pos) 32020: if (!traits_type::eq(this->_M_str[__pos], __c)) 32020: return __pos; 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find_last_not_of(const _CharT* __str, size_type __pos, 32020: size_type __n) const noexcept 32020: { 32020: ; 32020: size_type __size = this->_M_len; 32020: if (__size) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: do 32020: { 32020: if (!traits_type::find(__str, __n, this->_M_str[__size])) 32020: return __size; 32020: } 32020: while (__size--); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: constexpr typename basic_string_view<_CharT, _Traits>::size_type 32020: basic_string_view<_CharT, _Traits>:: 32020: find_last_not_of(_CharT __c, size_type __pos) const noexcept 32020: { 32020: size_type __size = this->_M_len; 32020: if (__size) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: do 32020: { 32020: if (!traits_type::eq(this->_M_str[__size], __c)) 32020: return __size; 32020: } 32020: while (__size--); 32020: } 32020: return npos; 32020: } 32020: 32020: 32020: } 32020: # 765 "/usr/arm-linux-gnueabihf/include/c++/10/string_view" 2 3 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 2 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: namespace __cxx11 { 32020: # 76 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: class basic_string 32020: { 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_CharT>::other _Char_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; 32020: 32020: 32020: public: 32020: typedef _Traits traits_type; 32020: typedef typename _Traits::char_type value_type; 32020: typedef _Char_alloc_type allocator_type; 32020: typedef typename _Alloc_traits::size_type size_type; 32020: typedef typename _Alloc_traits::difference_type difference_type; 32020: typedef typename _Alloc_traits::reference reference; 32020: typedef typename _Alloc_traits::const_reference const_reference; 32020: typedef typename _Alloc_traits::pointer pointer; 32020: typedef typename _Alloc_traits::const_pointer const_pointer; 32020: typedef __gnu_cxx::__normal_iterator iterator; 32020: typedef __gnu_cxx::__normal_iterator 32020: const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: 32020: 32020: static const size_type npos = static_cast(-1); 32020: 32020: protected: 32020: 32020: 32020: 32020: 32020: typedef const_iterator __const_iterator; 32020: 32020: 32020: private: 32020: 32020: 32020: typedef basic_string_view<_CharT, _Traits> __sv_type; 32020: 32020: template 32020: using _If_sv = enable_if_t< 32020: __and_, 32020: __not_>, 32020: __not_>>::value, 32020: _Res>; 32020: 32020: 32020: static __sv_type 32020: _S_to_string_view(__sv_type __svt) noexcept 32020: { return __svt; } 32020: 32020: 32020: 32020: 32020: 32020: struct __sv_wrapper 32020: { 32020: explicit __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } 32020: __sv_type _M_sv; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: basic_string(__sv_wrapper __svw, const _Alloc& __a) 32020: : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } 32020: 32020: 32020: 32020: struct _Alloc_hider : allocator_type 32020: { 32020: 32020: 32020: 32020: 32020: _Alloc_hider(pointer __dat, const _Alloc& __a) 32020: : allocator_type(__a), _M_p(__dat) { } 32020: 32020: _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) 32020: : allocator_type(std::move(__a)), _M_p(__dat) { } 32020: 32020: 32020: pointer _M_p; 32020: }; 32020: 32020: _Alloc_hider _M_dataplus; 32020: size_type _M_string_length; 32020: 32020: enum { _S_local_capacity = 15 / sizeof(_CharT) }; 32020: 32020: union 32020: { 32020: _CharT _M_local_buf[_S_local_capacity + 1]; 32020: size_type _M_allocated_capacity; 32020: }; 32020: 32020: void 32020: _M_data(pointer __p) 32020: { _M_dataplus._M_p = __p; } 32020: 32020: void 32020: _M_length(size_type __length) 32020: { _M_string_length = __length; } 32020: 32020: pointer 32020: _M_data() const 32020: { return _M_dataplus._M_p; } 32020: 32020: pointer 32020: _M_local_data() 32020: { 32020: 32020: return std::pointer_traits::pointer_to(*_M_local_buf); 32020: 32020: 32020: 32020: } 32020: 32020: const_pointer 32020: _M_local_data() const 32020: { 32020: 32020: return std::pointer_traits::pointer_to(*_M_local_buf); 32020: 32020: 32020: 32020: } 32020: 32020: void 32020: _M_capacity(size_type __capacity) 32020: { _M_allocated_capacity = __capacity; } 32020: 32020: void 32020: _M_set_length(size_type __n) 32020: { 32020: _M_length(__n); 32020: traits_type::assign(_M_data()[__n], _CharT()); 32020: } 32020: 32020: bool 32020: _M_is_local() const 32020: { return _M_data() == _M_local_data(); } 32020: 32020: 32020: pointer 32020: _M_create(size_type&, size_type); 32020: 32020: void 32020: _M_dispose() 32020: { 32020: if (!_M_is_local()) 32020: _M_destroy(_M_allocated_capacity); 32020: } 32020: 32020: void 32020: _M_destroy(size_type __size) throw() 32020: { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } 32020: 32020: 32020: 32020: template 32020: void 32020: _M_construct_aux(_InIterator __beg, _InIterator __end, 32020: std::__false_type) 32020: { 32020: typedef typename iterator_traits<_InIterator>::iterator_category _Tag; 32020: _M_construct(__beg, __end, _Tag()); 32020: } 32020: 32020: 32020: 32020: template 32020: void 32020: _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) 32020: { _M_construct_aux_2(static_cast(__beg), __end); } 32020: 32020: void 32020: _M_construct_aux_2(size_type __req, _CharT __c) 32020: { _M_construct(__req, __c); } 32020: 32020: template 32020: void 32020: _M_construct(_InIterator __beg, _InIterator __end) 32020: { 32020: typedef typename std::__is_integer<_InIterator>::__type _Integral; 32020: _M_construct_aux(__beg, __end, _Integral()); 32020: } 32020: 32020: 32020: template 32020: void 32020: _M_construct(_InIterator __beg, _InIterator __end, 32020: std::input_iterator_tag); 32020: 32020: 32020: 32020: template 32020: void 32020: _M_construct(_FwdIterator __beg, _FwdIterator __end, 32020: std::forward_iterator_tag); 32020: 32020: void 32020: _M_construct(size_type __req, _CharT __c); 32020: 32020: allocator_type& 32020: _M_get_allocator() 32020: { return _M_dataplus; } 32020: 32020: const allocator_type& 32020: _M_get_allocator() const 32020: { return _M_dataplus; } 32020: 32020: private: 32020: # 309 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: _M_check(size_type __pos, const char* __s) const 32020: { 32020: if (__pos > this->size()) 32020: __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") 32020: , 32020: __s, __pos, this->size()); 32020: return __pos; 32020: } 32020: 32020: void 32020: _M_check_length(size_type __n1, size_type __n2, const char* __s) const 32020: { 32020: if (this->max_size() - (this->size() - __n1) < __n2) 32020: __throw_length_error((__s)); 32020: } 32020: 32020: 32020: 32020: size_type 32020: _M_limit(size_type __pos, size_type __off) const noexcept 32020: { 32020: const bool __testoff = __off < this->size() - __pos; 32020: return __testoff ? __off : this->size() - __pos; 32020: } 32020: 32020: 32020: bool 32020: _M_disjunct(const _CharT* __s) const noexcept 32020: { 32020: return (less()(__s, _M_data()) 32020: || less()(_M_data() + this->size(), __s)); 32020: } 32020: 32020: 32020: 32020: static void 32020: _S_copy(_CharT* __d, const _CharT* __s, size_type __n) 32020: { 32020: if (__n == 1) 32020: traits_type::assign(*__d, *__s); 32020: else 32020: traits_type::copy(__d, __s, __n); 32020: } 32020: 32020: static void 32020: _S_move(_CharT* __d, const _CharT* __s, size_type __n) 32020: { 32020: if (__n == 1) 32020: traits_type::assign(*__d, *__s); 32020: else 32020: traits_type::move(__d, __s, __n); 32020: } 32020: 32020: static void 32020: _S_assign(_CharT* __d, size_type __n, _CharT __c) 32020: { 32020: if (__n == 1) 32020: traits_type::assign(*__d, __c); 32020: else 32020: traits_type::assign(__d, __n, __c); 32020: } 32020: 32020: 32020: 32020: template 32020: static void 32020: _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) 32020: { 32020: for (; __k1 != __k2; ++__k1, (void)++__p) 32020: traits_type::assign(*__p, *__k1); 32020: } 32020: 32020: static void 32020: _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept 32020: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 32020: 32020: static void 32020: _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) 32020: noexcept 32020: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 32020: 32020: static void 32020: _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept 32020: { _S_copy(__p, __k1, __k2 - __k1); } 32020: 32020: static void 32020: _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) 32020: noexcept 32020: { _S_copy(__p, __k1, __k2 - __k1); } 32020: 32020: static int 32020: _S_compare(size_type __n1, size_type __n2) noexcept 32020: { 32020: const difference_type __d = difference_type(__n1 - __n2); 32020: 32020: if (__d > __gnu_cxx::__numeric_traits::__max) 32020: return __gnu_cxx::__numeric_traits::__max; 32020: else if (__d < __gnu_cxx::__numeric_traits::__min) 32020: return __gnu_cxx::__numeric_traits::__min; 32020: else 32020: return int(__d); 32020: } 32020: 32020: void 32020: _M_assign(const basic_string&); 32020: 32020: void 32020: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 32020: size_type __len2); 32020: 32020: void 32020: _M_erase(size_type __pos, size_type __n); 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string() 32020: noexcept(is_nothrow_default_constructible<_Alloc>::value) 32020: : _M_dataplus(_M_local_data()) 32020: { _M_set_length(0); } 32020: 32020: 32020: 32020: 32020: explicit 32020: basic_string(const _Alloc& __a) noexcept 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_set_length(0); } 32020: 32020: 32020: 32020: 32020: 32020: basic_string(const basic_string& __str) 32020: : _M_dataplus(_M_local_data(), 32020: _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) 32020: { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } 32020: # 461 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string(const basic_string& __str, size_type __pos, 32020: const _Alloc& __a = _Alloc()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { 32020: const _CharT* __start = __str._M_data() 32020: + __str._M_check(__pos, "basic_string::basic_string"); 32020: _M_construct(__start, __start + __str._M_limit(__pos, npos)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string(const basic_string& __str, size_type __pos, 32020: size_type __n) 32020: : _M_dataplus(_M_local_data()) 32020: { 32020: const _CharT* __start = __str._M_data() 32020: + __str._M_check(__pos, "basic_string::basic_string"); 32020: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 32020: } 32020: # 492 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string(const basic_string& __str, size_type __pos, 32020: size_type __n, const _Alloc& __a) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { 32020: const _CharT* __start 32020: = __str._M_data() + __str._M_check(__pos, "string::string"); 32020: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 32020: } 32020: # 510 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string(const _CharT* __s, size_type __n, 32020: const _Alloc& __a = _Alloc()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_construct(__s, __s + __n); } 32020: # 523 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: 32020: basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } 32020: # 538 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: 32020: basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_construct(__n, __c); } 32020: # 552 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string(basic_string&& __str) noexcept 32020: : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) 32020: { 32020: if (__str._M_is_local()) 32020: { 32020: traits_type::copy(_M_local_buf, __str._M_local_buf, 32020: _S_local_capacity + 1); 32020: } 32020: else 32020: { 32020: _M_data(__str._M_data()); 32020: _M_capacity(__str._M_allocated_capacity); 32020: } 32020: 32020: 32020: 32020: 32020: _M_length(__str.length()); 32020: __str._M_data(__str._M_local_data()); 32020: __str._M_set_length(0); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_construct(__l.begin(), __l.end()); } 32020: 32020: basic_string(const basic_string& __str, const _Alloc& __a) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_construct(__str.begin(), __str.end()); } 32020: 32020: basic_string(basic_string&& __str, const _Alloc& __a) 32020: noexcept(_Alloc_traits::_S_always_equal()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { 32020: if (__str._M_is_local()) 32020: { 32020: traits_type::copy(_M_local_buf, __str._M_local_buf, 32020: _S_local_capacity + 1); 32020: _M_length(__str.length()); 32020: __str._M_set_length(0); 32020: } 32020: else if (_Alloc_traits::_S_always_equal() 32020: || __str.get_allocator() == __a) 32020: { 32020: _M_data(__str._M_data()); 32020: _M_length(__str.length()); 32020: _M_capacity(__str._M_allocated_capacity); 32020: __str._M_data(__str._M_local_buf); 32020: __str._M_set_length(0); 32020: } 32020: else 32020: _M_construct(__str.begin(), __str.end()); 32020: } 32020: # 620 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: 32020: 32020: 32020: basic_string(_InputIterator __beg, _InputIterator __end, 32020: const _Alloc& __a = _Alloc()) 32020: : _M_dataplus(_M_local_data(), __a) 32020: { _M_construct(__beg, __end); } 32020: # 638 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: basic_string(const _Tp& __t, size_type __pos, size_type __n, 32020: const _Alloc& __a = _Alloc()) 32020: : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template> 32020: explicit 32020: basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) 32020: : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } 32020: 32020: 32020: 32020: 32020: 32020: ~basic_string() 32020: { _M_dispose(); } 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: operator=(const basic_string& __str) 32020: { 32020: return this->assign(__str); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: operator=(const _CharT* __s) 32020: { return this->assign(__s); } 32020: # 685 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: operator=(_CharT __c) 32020: { 32020: this->assign(1, __c); 32020: return *this; 32020: } 32020: # 702 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: operator=(basic_string&& __str) 32020: noexcept(_Alloc_traits::_S_nothrow_move()) 32020: { 32020: if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() 32020: && !_Alloc_traits::_S_always_equal() 32020: && _M_get_allocator() != __str._M_get_allocator()) 32020: { 32020: 32020: _M_destroy(_M_allocated_capacity); 32020: _M_data(_M_local_data()); 32020: _M_set_length(0); 32020: } 32020: 32020: std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); 32020: 32020: if (__str._M_is_local()) 32020: { 32020: 32020: if (__str.size()) 32020: this->_S_copy(_M_data(), __str._M_data(), __str.size()); 32020: _M_set_length(__str.size()); 32020: } 32020: else if (_Alloc_traits::_S_propagate_on_move_assign() 32020: || _Alloc_traits::_S_always_equal() 32020: || _M_get_allocator() == __str._M_get_allocator()) 32020: { 32020: 32020: pointer __data = nullptr; 32020: size_type __capacity; 32020: if (!_M_is_local()) 32020: { 32020: if (_Alloc_traits::_S_always_equal()) 32020: { 32020: 32020: __data = _M_data(); 32020: __capacity = _M_allocated_capacity; 32020: } 32020: else 32020: _M_destroy(_M_allocated_capacity); 32020: } 32020: 32020: _M_data(__str._M_data()); 32020: _M_length(__str.length()); 32020: _M_capacity(__str._M_allocated_capacity); 32020: if (__data) 32020: { 32020: __str._M_data(__data); 32020: __str._M_capacity(__capacity); 32020: } 32020: else 32020: __str._M_data(__str._M_local_buf); 32020: } 32020: else 32020: assign(__str); 32020: __str.clear(); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: operator=(initializer_list<_CharT> __l) 32020: { 32020: this->assign(__l.begin(), __l.size()); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: operator=(const _Tp& __svt) 32020: { return this->assign(__svt); } 32020: 32020: 32020: 32020: 32020: 32020: operator __sv_type() const noexcept 32020: { return __sv_type(data(), size()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return iterator(_M_data()); } 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return const_iterator(_M_data()); } 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return iterator(_M_data() + this->size()); } 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return const_iterator(_M_data() + this->size()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(this->end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(this->end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(this->begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(this->begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return const_iterator(this->_M_data()); } 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return const_iterator(this->_M_data() + this->size()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(this->end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(this->begin()); } 32020: 32020: 32020: public: 32020: 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_string_length; } 32020: 32020: 32020: 32020: size_type 32020: length() const noexcept 32020: { return _M_string_length; } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } 32020: # 925 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: void 32020: resize(size_type __n, _CharT __c); 32020: # 938 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: void 32020: resize(size_type __n) 32020: { this->resize(__n, _CharT()); } 32020: 32020: 32020: 32020: void 32020: shrink_to_fit() noexcept 32020: { 32020: 32020: if (capacity() > size()) 32020: { 32020: try 32020: { reserve(0); } 32020: catch(...) 32020: { } 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: capacity() const noexcept 32020: { 32020: return _M_is_local() ? size_type(_S_local_capacity) 32020: : _M_allocated_capacity; 32020: } 32020: # 987 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: void 32020: reserve(size_type __res_arg = 0); 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_set_length(0); } 32020: 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return this->size() == 0; } 32020: # 1016 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: const_reference 32020: operator[] (size_type __pos) const noexcept 32020: { 32020: ; 32020: return _M_data()[__pos]; 32020: } 32020: # 1033 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: reference 32020: operator[](size_type __pos) 32020: { 32020: 32020: 32020: ; 32020: 32020: ; 32020: return _M_data()[__pos]; 32020: } 32020: # 1054 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: const_reference 32020: at(size_type __n) const 32020: { 32020: if (__n >= this->size()) 32020: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 32020: 32020: , 32020: __n, this->size()); 32020: return _M_data()[__n]; 32020: } 32020: # 1075 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: reference 32020: at(size_type __n) 32020: { 32020: if (__n >= size()) 32020: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 32020: 32020: , 32020: __n, this->size()); 32020: return _M_data()[__n]; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: front() noexcept 32020: { 32020: ; 32020: return operator[](0); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: front() const noexcept 32020: { 32020: ; 32020: return operator[](0); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: back() noexcept 32020: { 32020: ; 32020: return operator[](this->size() - 1); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: back() const noexcept 32020: { 32020: ; 32020: return operator[](this->size() - 1); 32020: } 32020: # 1138 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: operator+=(const basic_string& __str) 32020: { return this->append(__str); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: operator+=(const _CharT* __s) 32020: { return this->append(__s); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: operator+=(_CharT __c) 32020: { 32020: this->push_back(__c); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: operator+=(initializer_list<_CharT> __l) 32020: { return this->append(__l.begin(), __l.size()); } 32020: # 1180 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: operator+=(const _Tp& __svt) 32020: { return this->append(__svt); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: append(const basic_string& __str) 32020: { return _M_append(__str._M_data(), __str.size()); } 32020: # 1208 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: append(const basic_string& __str, size_type __pos, size_type __n = npos) 32020: { return _M_append(__str._M_data() 32020: + __str._M_check(__pos, "basic_string::append"), 32020: __str._M_limit(__pos, __n)); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: append(const _CharT* __s, size_type __n) 32020: { 32020: ; 32020: _M_check_length(size_type(0), __n, "basic_string::append"); 32020: return _M_append(__s, __n); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: append(const _CharT* __s) 32020: { 32020: ; 32020: const size_type __n = traits_type::length(__s); 32020: _M_check_length(size_type(0), __n, "basic_string::append"); 32020: return _M_append(__s, __n); 32020: } 32020: # 1250 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: append(size_type __n, _CharT __c) 32020: { return _M_replace_aux(this->size(), size_type(0), __n, __c); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: append(initializer_list<_CharT> __l) 32020: { return this->append(__l.begin(), __l.size()); } 32020: # 1274 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: 32020: 32020: 32020: basic_string& 32020: append(_InputIterator __first, _InputIterator __last) 32020: { return this->replace(end(), end(), __first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: append(const _Tp& __svt) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->append(__sv.data(), __sv.size()); 32020: } 32020: # 1304 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: append(const _Tp& __svt, size_type __pos, size_type __n = npos) 32020: { 32020: __sv_type __sv = __svt; 32020: return _M_append(__sv.data() 32020: + std::__sv_check(__sv.size(), __pos, "basic_string::append"), 32020: std::__sv_limit(__sv.size(), __pos, __n)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: push_back(_CharT __c) 32020: { 32020: const size_type __size = this->size(); 32020: if (__size + 1 > this->capacity()) 32020: this->_M_mutate(__size, size_type(0), 0, size_type(1)); 32020: traits_type::assign(this->_M_data()[__size], __c); 32020: this->_M_set_length(__size + 1); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: assign(const basic_string& __str) 32020: { 32020: 32020: if (_Alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: if (!_Alloc_traits::_S_always_equal() && !_M_is_local() 32020: && _M_get_allocator() != __str._M_get_allocator()) 32020: { 32020: 32020: 32020: if (__str.size() <= _S_local_capacity) 32020: { 32020: _M_destroy(_M_allocated_capacity); 32020: _M_data(_M_local_data()); 32020: _M_set_length(0); 32020: } 32020: else 32020: { 32020: const auto __len = __str.size(); 32020: auto __alloc = __str._M_get_allocator(); 32020: 32020: auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1); 32020: _M_destroy(_M_allocated_capacity); 32020: _M_data(__ptr); 32020: _M_capacity(__len); 32020: _M_set_length(__len); 32020: } 32020: } 32020: std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); 32020: } 32020: 32020: this->_M_assign(__str); 32020: return *this; 32020: } 32020: # 1379 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: assign(basic_string&& __str) 32020: noexcept(_Alloc_traits::_S_nothrow_move()) 32020: { 32020: 32020: 32020: return *this = std::move(__str); 32020: } 32020: # 1402 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: assign(const basic_string& __str, size_type __pos, size_type __n = npos) 32020: { return _M_replace(size_type(0), this->size(), __str._M_data() 32020: + __str._M_check(__pos, "basic_string::assign"), 32020: __str._M_limit(__pos, __n)); } 32020: # 1418 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: assign(const _CharT* __s, size_type __n) 32020: { 32020: ; 32020: return _M_replace(size_type(0), this->size(), __s, __n); 32020: } 32020: # 1434 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: assign(const _CharT* __s) 32020: { 32020: ; 32020: return _M_replace(size_type(0), this->size(), __s, 32020: traits_type::length(__s)); 32020: } 32020: # 1451 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: assign(size_type __n, _CharT __c) 32020: { return _M_replace_aux(size_type(0), this->size(), __n, __c); } 32020: # 1464 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: 32020: 32020: 32020: basic_string& 32020: assign(_InputIterator __first, _InputIterator __last) 32020: { return this->replace(begin(), end(), __first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: basic_string& 32020: assign(initializer_list<_CharT> __l) 32020: { return this->assign(__l.begin(), __l.size()); } 32020: # 1490 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: assign(const _Tp& __svt) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->assign(__sv.data(), __sv.size()); 32020: } 32020: # 1505 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: assign(const _Tp& __svt, size_type __pos, size_type __n = npos) 32020: { 32020: __sv_type __sv = __svt; 32020: return _M_replace(size_type(0), this->size(), 32020: __sv.data() 32020: + std::__sv_check(__sv.size(), __pos, "basic_string::assign"), 32020: std::__sv_limit(__sv.size(), __pos, __n)); 32020: } 32020: # 1533 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: iterator 32020: insert(const_iterator __p, size_type __n, _CharT __c) 32020: { 32020: ; 32020: const size_type __pos = __p - begin(); 32020: this->replace(__p, __p, __n, __c); 32020: return iterator(this->_M_data() + __pos); 32020: } 32020: # 1575 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: iterator 32020: insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) 32020: { 32020: ; 32020: const size_type __pos = __p - begin(); 32020: this->replace(__p, __p, __beg, __end); 32020: return iterator(this->_M_data() + __pos); 32020: } 32020: # 1611 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: iterator 32020: insert(const_iterator __p, initializer_list<_CharT> __l) 32020: { return this->insert(__p, __l.begin(), __l.end()); } 32020: # 1638 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: insert(size_type __pos1, const basic_string& __str) 32020: { return this->replace(__pos1, size_type(0), 32020: __str._M_data(), __str.size()); } 32020: # 1661 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: insert(size_type __pos1, const basic_string& __str, 32020: size_type __pos2, size_type __n = npos) 32020: { return this->replace(__pos1, size_type(0), __str._M_data() 32020: + __str._M_check(__pos2, "basic_string::insert"), 32020: __str._M_limit(__pos2, __n)); } 32020: # 1684 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: insert(size_type __pos, const _CharT* __s, size_type __n) 32020: { return this->replace(__pos, size_type(0), __s, __n); } 32020: # 1703 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: insert(size_type __pos, const _CharT* __s) 32020: { 32020: ; 32020: return this->replace(__pos, size_type(0), __s, 32020: traits_type::length(__s)); 32020: } 32020: # 1727 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: insert(size_type __pos, size_type __n, _CharT __c) 32020: { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), 32020: size_type(0), __n, __c); } 32020: # 1745 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: iterator 32020: insert(__const_iterator __p, _CharT __c) 32020: { 32020: ; 32020: const size_type __pos = __p - begin(); 32020: _M_replace_aux(__pos, size_type(0), size_type(1), __c); 32020: return iterator(_M_data() + __pos); 32020: } 32020: # 1761 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: insert(size_type __pos, const _Tp& __svt) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->insert(__pos, __sv.data(), __sv.size()); 32020: } 32020: # 1777 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: insert(size_type __pos1, const _Tp& __svt, 32020: size_type __pos2, size_type __n = npos) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->replace(__pos1, size_type(0), 32020: __sv.data() 32020: + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"), 32020: std::__sv_limit(__sv.size(), __pos2, __n)); 32020: } 32020: # 1805 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: erase(size_type __pos = 0, size_type __n = npos) 32020: { 32020: _M_check(__pos, "basic_string::erase"); 32020: if (__n == npos) 32020: this->_M_set_length(__pos); 32020: else if (__n != 0) 32020: this->_M_erase(__pos, _M_limit(__pos, __n)); 32020: return *this; 32020: } 32020: # 1824 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: iterator 32020: erase(__const_iterator __position) 32020: { 32020: 32020: ; 32020: const size_type __pos = __position - begin(); 32020: this->_M_erase(__pos, size_type(1)); 32020: return iterator(_M_data() + __pos); 32020: } 32020: # 1843 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: iterator 32020: erase(__const_iterator __first, __const_iterator __last) 32020: { 32020: 32020: ; 32020: const size_type __pos = __first - begin(); 32020: if (__last == end()) 32020: this->_M_set_length(__pos); 32020: else 32020: this->_M_erase(__pos, __last - __first); 32020: return iterator(this->_M_data() + __pos); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: pop_back() noexcept 32020: { 32020: ; 32020: _M_erase(size() - 1, 1); 32020: } 32020: # 1887 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(size_type __pos, size_type __n, const basic_string& __str) 32020: { return this->replace(__pos, __n, __str._M_data(), __str.size()); } 32020: # 1909 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(size_type __pos1, size_type __n1, const basic_string& __str, 32020: size_type __pos2, size_type __n2 = npos) 32020: { return this->replace(__pos1, __n1, __str._M_data() 32020: + __str._M_check(__pos2, "basic_string::replace"), 32020: __str._M_limit(__pos2, __n2)); } 32020: # 1934 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(size_type __pos, size_type __n1, const _CharT* __s, 32020: size_type __n2) 32020: { 32020: ; 32020: return _M_replace(_M_check(__pos, "basic_string::replace"), 32020: _M_limit(__pos, __n1), __s, __n2); 32020: } 32020: # 1959 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(size_type __pos, size_type __n1, const _CharT* __s) 32020: { 32020: ; 32020: return this->replace(__pos, __n1, __s, traits_type::length(__s)); 32020: } 32020: # 1983 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) 32020: { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), 32020: _M_limit(__pos, __n1), __n2, __c); } 32020: # 2001 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, 32020: const basic_string& __str) 32020: { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } 32020: # 2021 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, 32020: const _CharT* __s, size_type __n) 32020: { 32020: 32020: ; 32020: return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); 32020: } 32020: # 2043 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) 32020: { 32020: ; 32020: return this->replace(__i1, __i2, __s, traits_type::length(__s)); 32020: } 32020: # 2064 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, size_type __n, 32020: _CharT __c) 32020: { 32020: 32020: ; 32020: return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); 32020: } 32020: # 2089 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template> 32020: basic_string& 32020: replace(const_iterator __i1, const_iterator __i2, 32020: _InputIterator __k1, _InputIterator __k2) 32020: { 32020: 32020: ; 32020: ; 32020: return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, 32020: std::__false_type()); 32020: } 32020: # 2121 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, 32020: _CharT* __k1, _CharT* __k2) 32020: { 32020: 32020: ; 32020: ; 32020: return this->replace(__i1 - begin(), __i2 - __i1, 32020: __k1, __k2 - __k1); 32020: } 32020: 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, 32020: const _CharT* __k1, const _CharT* __k2) 32020: { 32020: 32020: ; 32020: ; 32020: return this->replace(__i1 - begin(), __i2 - __i1, 32020: __k1, __k2 - __k1); 32020: } 32020: 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, 32020: iterator __k1, iterator __k2) 32020: { 32020: 32020: ; 32020: ; 32020: return this->replace(__i1 - begin(), __i2 - __i1, 32020: __k1.base(), __k2 - __k1); 32020: } 32020: 32020: basic_string& 32020: replace(__const_iterator __i1, __const_iterator __i2, 32020: const_iterator __k1, const_iterator __k2) 32020: { 32020: 32020: ; 32020: ; 32020: return this->replace(__i1 - begin(), __i2 - __i1, 32020: __k1.base(), __k2 - __k1); 32020: } 32020: # 2180 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string& replace(const_iterator __i1, const_iterator __i2, 32020: initializer_list<_CharT> __l) 32020: { return this->replace(__i1, __i2, __l.begin(), __l.size()); } 32020: # 2193 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: replace(size_type __pos, size_type __n, const _Tp& __svt) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->replace(__pos, __n, __sv.data(), __sv.size()); 32020: } 32020: # 2210 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: replace(size_type __pos1, size_type __n1, const _Tp& __svt, 32020: size_type __pos2, size_type __n2 = npos) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->replace(__pos1, __n1, 32020: __sv.data() 32020: + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"), 32020: std::__sv_limit(__sv.size(), __pos2, __n2)); 32020: } 32020: # 2231 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, basic_string&> 32020: replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->replace(__i1 - begin(), __i2 - __i1, __sv); 32020: } 32020: 32020: 32020: private: 32020: template 32020: basic_string& 32020: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 32020: _Integer __n, _Integer __val, __true_type) 32020: { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } 32020: 32020: template 32020: basic_string& 32020: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 32020: _InputIterator __k1, _InputIterator __k2, 32020: __false_type); 32020: 32020: basic_string& 32020: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 32020: _CharT __c); 32020: 32020: basic_string& 32020: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 32020: const size_type __len2); 32020: 32020: basic_string& 32020: _M_append(const _CharT* __s, size_type __n); 32020: 32020: public: 32020: # 2278 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: copy(_CharT* __s, size_type __n, size_type __pos = 0) const; 32020: # 2288 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: void 32020: swap(basic_string& __s) noexcept; 32020: # 2298 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: const _CharT* 32020: c_str() const noexcept 32020: { return _M_data(); } 32020: # 2310 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: const _CharT* 32020: data() const noexcept 32020: { return _M_data(); } 32020: # 2321 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: _CharT* 32020: data() noexcept 32020: { return _M_data(); } 32020: 32020: 32020: 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return _M_get_allocator(); } 32020: # 2345 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept; 32020: # 2359 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find(const basic_string& __str, size_type __pos = 0) const 32020: noexcept 32020: { return this->find(__str.data(), __pos, __str.size()); } 32020: # 2371 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, size_type> 32020: find(const _Tp& __svt, size_type __pos = 0) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->find(__sv.data(), __pos, __sv.size()); 32020: } 32020: # 2391 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find(const _CharT* __s, size_type __pos = 0) const noexcept 32020: { 32020: ; 32020: return this->find(__s, __pos, traits_type::length(__s)); 32020: } 32020: # 2408 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find(_CharT __c, size_type __pos = 0) const noexcept; 32020: # 2421 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: rfind(const basic_string& __str, size_type __pos = npos) const 32020: noexcept 32020: { return this->rfind(__str.data(), __pos, __str.size()); } 32020: # 2433 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, size_type> 32020: rfind(const _Tp& __svt, size_type __pos = npos) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->rfind(__sv.data(), __pos, __sv.size()); 32020: } 32020: # 2455 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: rfind(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept; 32020: # 2469 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: rfind(const _CharT* __s, size_type __pos = npos) const 32020: { 32020: ; 32020: return this->rfind(__s, __pos, traits_type::length(__s)); 32020: } 32020: # 2486 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: rfind(_CharT __c, size_type __pos = npos) const noexcept; 32020: # 2500 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_of(const basic_string& __str, size_type __pos = 0) const 32020: noexcept 32020: { return this->find_first_of(__str.data(), __pos, __str.size()); } 32020: # 2513 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, size_type> 32020: find_first_of(const _Tp& __svt, size_type __pos = 0) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->find_first_of(__sv.data(), __pos, __sv.size()); 32020: } 32020: # 2535 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept; 32020: # 2549 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_of(const _CharT* __s, size_type __pos = 0) const 32020: noexcept 32020: { 32020: ; 32020: return this->find_first_of(__s, __pos, traits_type::length(__s)); 32020: } 32020: # 2569 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_of(_CharT __c, size_type __pos = 0) const noexcept 32020: { return this->find(__c, __pos); } 32020: # 2584 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_of(const basic_string& __str, size_type __pos = npos) const 32020: noexcept 32020: { return this->find_last_of(__str.data(), __pos, __str.size()); } 32020: # 2597 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, size_type> 32020: find_last_of(const _Tp& __svt, size_type __pos = npos) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->find_last_of(__sv.data(), __pos, __sv.size()); 32020: } 32020: # 2619 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept; 32020: # 2633 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_of(const _CharT* __s, size_type __pos = npos) const 32020: noexcept 32020: { 32020: ; 32020: return this->find_last_of(__s, __pos, traits_type::length(__s)); 32020: } 32020: # 2653 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_of(_CharT __c, size_type __pos = npos) const noexcept 32020: { return this->rfind(__c, __pos); } 32020: # 2667 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_not_of(const basic_string& __str, size_type __pos = 0) const 32020: noexcept 32020: { return this->find_first_not_of(__str.data(), __pos, __str.size()); } 32020: # 2680 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, size_type> 32020: find_first_not_of(const _Tp& __svt, size_type __pos = 0) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->find_first_not_of(__sv.data(), __pos, __sv.size()); 32020: } 32020: # 2702 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_not_of(const _CharT* __s, size_type __pos, 32020: size_type __n) const noexcept; 32020: # 2716 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_not_of(const _CharT* __s, size_type __pos = 0) const 32020: noexcept 32020: { 32020: ; 32020: return this->find_first_not_of(__s, __pos, traits_type::length(__s)); 32020: } 32020: # 2734 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_first_not_of(_CharT __c, size_type __pos = 0) const 32020: noexcept; 32020: # 2749 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_not_of(const basic_string& __str, size_type __pos = npos) const 32020: noexcept 32020: { return this->find_last_not_of(__str.data(), __pos, __str.size()); } 32020: # 2762 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, size_type> 32020: find_last_not_of(const _Tp& __svt, size_type __pos = npos) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return this->find_last_not_of(__sv.data(), __pos, __sv.size()); 32020: } 32020: # 2784 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_not_of(const _CharT* __s, size_type __pos, 32020: size_type __n) const noexcept; 32020: # 2798 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_not_of(const _CharT* __s, size_type __pos = npos) const 32020: noexcept 32020: { 32020: ; 32020: return this->find_last_not_of(__s, __pos, traits_type::length(__s)); 32020: } 32020: # 2816 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: size_type 32020: find_last_not_of(_CharT __c, size_type __pos = npos) const 32020: noexcept; 32020: # 2832 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: basic_string 32020: substr(size_type __pos = 0, size_type __n = npos) const 32020: { return basic_string(*this, 32020: _M_check(__pos, "basic_string::substr"), __n); } 32020: # 2851 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: int 32020: compare(const basic_string& __str) const 32020: { 32020: const size_type __size = this->size(); 32020: const size_type __osize = __str.size(); 32020: const size_type __len = std::min(__size, __osize); 32020: 32020: int __r = traits_type::compare(_M_data(), __str.data(), __len); 32020: if (!__r) 32020: __r = _S_compare(__size, __osize); 32020: return __r; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: _If_sv<_Tp, int> 32020: compare(const _Tp& __svt) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: const size_type __size = this->size(); 32020: const size_type __osize = __sv.size(); 32020: const size_type __len = std::min(__size, __osize); 32020: 32020: int __r = traits_type::compare(_M_data(), __sv.data(), __len); 32020: if (!__r) 32020: __r = _S_compare(__size, __osize); 32020: return __r; 32020: } 32020: # 2894 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, int> 32020: compare(size_type __pos, size_type __n, const _Tp& __svt) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return __sv_type(*this).substr(__pos, __n).compare(__sv); 32020: } 32020: # 2913 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: _If_sv<_Tp, int> 32020: compare(size_type __pos1, size_type __n1, const _Tp& __svt, 32020: size_type __pos2, size_type __n2 = npos) const 32020: noexcept(is_same<_Tp, __sv_type>::value) 32020: { 32020: __sv_type __sv = __svt; 32020: return __sv_type(*this) 32020: .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2)); 32020: } 32020: # 2944 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: int 32020: compare(size_type __pos, size_type __n, const basic_string& __str) const; 32020: # 2970 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: int 32020: compare(size_type __pos1, size_type __n1, const basic_string& __str, 32020: size_type __pos2, size_type __n2 = npos) const; 32020: # 2988 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: int 32020: compare(const _CharT* __s) const noexcept; 32020: # 3012 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: int 32020: compare(size_type __pos, size_type __n1, const _CharT* __s) const; 32020: # 3039 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: int 32020: compare(size_type __pos, size_type __n1, const _CharT* __s, 32020: size_type __n2) const; 32020: # 3070 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template friend class basic_stringbuf; 32020: }; 32020: } 32020: # 5995 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: namespace __cxx11 { 32020: template::value_type, 32020: typename _Allocator = allocator<_CharT>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireAllocator<_Allocator>> 32020: basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) 32020: -> basic_string<_CharT, char_traits<_CharT>, _Allocator>; 32020: 32020: 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator()) 32020: -> basic_string<_CharT, _Traits, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: basic_string(basic_string_view<_CharT, _Traits>, 32020: typename basic_string<_CharT, _Traits, _Allocator>::size_type, 32020: typename basic_string<_CharT, _Traits, _Allocator>::size_type, 32020: const _Allocator& = _Allocator()) 32020: -> basic_string<_CharT, _Traits, _Allocator>; 32020: } 32020: # 6030 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: basic_string<_CharT, _Traits, _Alloc> 32020: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { 32020: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 32020: __str.append(__rhs); 32020: return __str; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: basic_string<_CharT,_Traits,_Alloc> 32020: operator+(const _CharT* __lhs, 32020: const basic_string<_CharT,_Traits,_Alloc>& __rhs); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: basic_string<_CharT,_Traits,_Alloc> 32020: operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { 32020: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 32020: __str.append(__rhs); 32020: return __str; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) 32020: { 32020: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 32020: typedef typename __string_type::size_type __size_type; 32020: __string_type __str(__lhs); 32020: __str.append(__size_type(1), __rhs); 32020: return __str; 32020: } 32020: 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return std::move(__lhs.append(__rhs)); } 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 32020: { return std::move(__rhs.insert(0, __lhs)); } 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 32020: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 32020: { 32020: 32020: using _Alloc_traits = allocator_traits<_Alloc>; 32020: bool __use_rhs = false; 32020: if constexpr (typename _Alloc_traits::is_always_equal{}) 32020: __use_rhs = true; 32020: else if (__lhs.get_allocator() == __rhs.get_allocator()) 32020: __use_rhs = true; 32020: if (__use_rhs) 32020: 32020: { 32020: const auto __size = __lhs.size() + __rhs.size(); 32020: if (__size > __lhs.capacity() && __size <= __rhs.capacity()) 32020: return std::move(__rhs.insert(0, __lhs)); 32020: } 32020: return std::move(__lhs.append(__rhs)); 32020: } 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(const _CharT* __lhs, 32020: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 32020: { return std::move(__rhs.insert(0, __lhs)); } 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(_CharT __lhs, 32020: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 32020: { return std::move(__rhs.insert(0, 1, __lhs)); } 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 32020: const _CharT* __rhs) 32020: { return std::move(__lhs.append(__rhs)); } 32020: 32020: template 32020: inline basic_string<_CharT, _Traits, _Alloc> 32020: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 32020: _CharT __rhs) 32020: { return std::move(__lhs.append(1, __rhs)); } 32020: # 6161 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept 32020: { return __lhs.compare(__rhs) == 0; } 32020: 32020: template 32020: inline 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type 32020: operator==(const basic_string<_CharT>& __lhs, 32020: const basic_string<_CharT>& __rhs) noexcept 32020: { return (__lhs.size() == __rhs.size() 32020: && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), 32020: __lhs.size())); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { return __lhs.compare(__rhs) == 0; } 32020: # 6224 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator==(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return __rhs.compare(__lhs) == 0; } 32020: # 6237 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { return !(__lhs == __rhs); } 32020: # 6275 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept 32020: { return __lhs.compare(__rhs) < 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { return __lhs.compare(__rhs) < 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator<(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return __rhs.compare(__lhs) > 0; } 32020: # 6313 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept 32020: { return __lhs.compare(__rhs) > 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { return __lhs.compare(__rhs) > 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return __rhs.compare(__lhs) < 0; } 32020: # 6351 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept 32020: { return __lhs.compare(__rhs) <= 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { return __lhs.compare(__rhs) <= 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return __rhs.compare(__lhs) >= 0; } 32020: # 6389 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline bool 32020: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept 32020: { return __lhs.compare(__rhs) >= 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: const _CharT* __rhs) 32020: { return __lhs.compare(__rhs) >= 0; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { return __rhs.compare(__lhs) <= 0; } 32020: # 6428 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline void 32020: swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, 32020: basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: noexcept(noexcept(__lhs.swap(__rhs))) 32020: { __lhs.swap(__rhs); } 32020: # 6448 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: basic_istream<_CharT, _Traits>& 32020: operator>>(basic_istream<_CharT, _Traits>& __is, 32020: basic_string<_CharT, _Traits, _Alloc>& __str); 32020: 32020: template<> 32020: basic_istream& 32020: operator>>(basic_istream& __is, basic_string& __str); 32020: # 6466 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline basic_ostream<_CharT, _Traits>& 32020: operator<<(basic_ostream<_CharT, _Traits>& __os, 32020: const basic_string<_CharT, _Traits, _Alloc>& __str) 32020: { 32020: 32020: 32020: return __ostream_insert(__os, __str.data(), __str.size()); 32020: } 32020: # 6489 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: basic_istream<_CharT, _Traits>& 32020: getline(basic_istream<_CharT, _Traits>& __is, 32020: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); 32020: # 6506 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template 32020: inline basic_istream<_CharT, _Traits>& 32020: getline(basic_istream<_CharT, _Traits>& __is, 32020: basic_string<_CharT, _Traits, _Alloc>& __str) 32020: { return std::getline(__is, __str, __is.widen('\n')); } 32020: 32020: 32020: 32020: template 32020: inline basic_istream<_CharT, _Traits>& 32020: getline(basic_istream<_CharT, _Traits>&& __is, 32020: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 32020: { return std::getline(__is, __str, __delim); } 32020: 32020: 32020: template 32020: inline basic_istream<_CharT, _Traits>& 32020: getline(basic_istream<_CharT, _Traits>&& __is, 32020: basic_string<_CharT, _Traits, _Alloc>& __str) 32020: { return std::getline(__is, __str); } 32020: 32020: 32020: template<> 32020: basic_istream& 32020: getline(basic_istream& __in, basic_string& __str, 32020: char __delim); 32020: 32020: 32020: template<> 32020: basic_istream& 32020: getline(basic_istream& __in, basic_string& __str, 32020: wchar_t __delim); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: # 75 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/stdlib.h" 1 3 32020: # 25 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 32020: # 26 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 32 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: extern "C" { 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/waitflags.h" 1 3 32020: # 52 "/usr/arm-linux-gnueabihf/include/bits/waitflags.h" 3 32020: typedef enum 32020: { 32020: P_ALL, 32020: P_PID, 32020: P_PGID 32020: } idtype_t; 32020: # 40 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/waitstatus.h" 1 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: # 55 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/floatn.h" 1 3 32020: # 56 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: typedef struct 32020: { 32020: int quot; 32020: int rem; 32020: } div_t; 32020: 32020: 32020: 32020: typedef struct 32020: { 32020: long int quot; 32020: long int rem; 32020: } ldiv_t; 32020: 32020: 32020: 32020: 32020: 32020: __extension__ typedef struct 32020: { 32020: long long int quot; 32020: long long int rem; 32020: } lldiv_t; 32020: # 97 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: extern double atof (const char *__nptr) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: extern int atoi (const char *__nptr) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: extern long int atol (const char *__nptr) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: __extension__ extern long long int atoll (const char *__nptr) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: extern double strtod (const char *__restrict __nptr, 32020: char **__restrict __endptr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern float strtof (const char *__restrict __nptr, 32020: char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: extern long double strtold (const char *__restrict __nptr, 32020: char **__restrict __endptr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 140 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern _Float32 strtof32 (const char *__restrict __nptr, 32020: char **__restrict __endptr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern _Float64 strtof64 (const char *__restrict __nptr, 32020: char **__restrict __endptr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 158 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern _Float32x strtof32x (const char *__restrict __nptr, 32020: char **__restrict __endptr) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 176 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern long int strtol (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: extern unsigned long int strtoul (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: __extension__ 32020: extern long long int strtoq (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: __extension__ 32020: extern unsigned long long int strtouq (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: __extension__ 32020: extern long long int strtoll (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: __extension__ 32020: extern unsigned long long int strtoull (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: extern int strfromd (char *__dest, size_t __size, const char *__format, 32020: double __f) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: 32020: extern int strfromf (char *__dest, size_t __size, const char *__format, 32020: float __f) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: 32020: extern int strfroml (char *__dest, size_t __size, const char *__format, 32020: long double __f) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: # 232 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int strfromf32 (char *__dest, size_t __size, const char * __format, 32020: _Float32 __f) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: 32020: 32020: 32020: extern int strfromf64 (char *__dest, size_t __size, const char * __format, 32020: _Float64 __f) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: # 250 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int strfromf32x (char *__dest, size_t __size, const char * __format, 32020: _Float32x __f) 32020: throw () __attribute__ ((__nonnull__ (3))); 32020: # 274 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern long int strtol_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base, 32020: locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); 32020: 32020: extern unsigned long int strtoul_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, 32020: int __base, locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 4))); 32020: 32020: __extension__ 32020: extern long long int strtoll_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, int __base, 32020: locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 4))); 32020: 32020: __extension__ 32020: extern unsigned long long int strtoull_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, 32020: int __base, locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 4))); 32020: 32020: extern double strtod_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: extern float strtof_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: extern long double strtold_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, 32020: locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: # 316 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern _Float32 strtof32_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, 32020: locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: extern _Float64 strtof64_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, 32020: locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: # 337 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern _Float32x strtof32x_l (const char *__restrict __nptr, 32020: char **__restrict __endptr, 32020: locale_t __loc) 32020: throw () __attribute__ ((__nonnull__ (1, 3))); 32020: # 360 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: __attribute__ ((__leaf__)) atoi (const char *__nptr) throw () 32020: { 32020: return (int) strtol (__nptr, (char **) __null, 10); 32020: } 32020: extern __inline __attribute__ ((__gnu_inline__)) long int 32020: __attribute__ ((__leaf__)) atol (const char *__nptr) throw () 32020: { 32020: return strtol (__nptr, (char **) __null, 10); 32020: } 32020: 32020: 32020: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int 32020: __attribute__ ((__leaf__)) atoll (const char *__nptr) throw () 32020: { 32020: return strtoll (__nptr, (char **) __null, 10); 32020: } 32020: # 385 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: extern long int a64l (const char *__s) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/sys/types.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/sys/types.h" 3 32020: extern "C" { 32020: 32020: 32020: 32020: 32020: 32020: typedef __u_char u_char; 32020: typedef __u_short u_short; 32020: typedef __u_int u_int; 32020: typedef __u_long u_long; 32020: typedef __quad_t quad_t; 32020: typedef __u_quad_t u_quad_t; 32020: typedef __fsid_t fsid_t; 32020: 32020: 32020: typedef __loff_t loff_t; 32020: 32020: 32020: 32020: 32020: typedef __ino_t ino_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __ino64_t ino64_t; 32020: 32020: 32020: 32020: 32020: typedef __dev_t dev_t; 32020: 32020: 32020: 32020: 32020: typedef __gid_t gid_t; 32020: 32020: 32020: 32020: 32020: typedef __mode_t mode_t; 32020: 32020: 32020: 32020: 32020: typedef __nlink_t nlink_t; 32020: 32020: 32020: 32020: 32020: typedef __uid_t uid_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef __off_t off_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __off64_t off64_t; 32020: # 103 "/usr/arm-linux-gnueabihf/include/sys/types.h" 3 32020: typedef __id_t id_t; 32020: 32020: 32020: 32020: 32020: typedef __ssize_t ssize_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef __daddr_t daddr_t; 32020: typedef __caddr_t caddr_t; 32020: 32020: 32020: 32020: 32020: 32020: typedef __key_t key_t; 32020: # 134 "/usr/arm-linux-gnueabihf/include/sys/types.h" 3 32020: typedef __useconds_t useconds_t; 32020: 32020: 32020: 32020: typedef __suseconds_t suseconds_t; 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 145 "/usr/arm-linux-gnueabihf/include/sys/types.h" 2 3 32020: 32020: 32020: 32020: typedef unsigned long int ulong; 32020: typedef unsigned short int ushort; 32020: typedef unsigned int uint; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __uint8_t u_int8_t; 32020: typedef __uint16_t u_int16_t; 32020: typedef __uint32_t u_int32_t; 32020: typedef __uint64_t u_int64_t; 32020: 32020: 32020: typedef int register_t __attribute__ ((__mode__ (__word__))); 32020: # 176 "/usr/arm-linux-gnueabihf/include/sys/types.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/endian.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/endian.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/byteswap.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/bits/byteswap.h" 3 32020: static __inline __uint16_t 32020: __bswap_16 (__uint16_t __bsx) 32020: { 32020: 32020: return __builtin_bswap16 (__bsx); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: static __inline __uint32_t 32020: __bswap_32 (__uint32_t __bsx) 32020: { 32020: 32020: return __builtin_bswap32 (__bsx); 32020: 32020: 32020: 32020: } 32020: # 69 "/usr/arm-linux-gnueabihf/include/bits/byteswap.h" 3 32020: __extension__ static __inline __uint64_t 32020: __bswap_64 (__uint64_t __bsx) 32020: { 32020: 32020: return __builtin_bswap64 (__bsx); 32020: 32020: 32020: 32020: } 32020: # 36 "/usr/arm-linux-gnueabihf/include/endian.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/uintn-identity.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/bits/uintn-identity.h" 3 32020: static __inline __uint16_t 32020: __uint16_identity (__uint16_t __x) 32020: { 32020: return __x; 32020: } 32020: 32020: static __inline __uint32_t 32020: __uint32_identity (__uint32_t __x) 32020: { 32020: return __x; 32020: } 32020: 32020: static __inline __uint64_t 32020: __uint64_identity (__uint64_t __x) 32020: { 32020: return __x; 32020: } 32020: # 37 "/usr/arm-linux-gnueabihf/include/endian.h" 2 3 32020: # 177 "/usr/arm-linux-gnueabihf/include/sys/types.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/sys/select.h" 1 3 32020: # 30 "/usr/arm-linux-gnueabihf/include/sys/select.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/select.h" 1 3 32020: # 31 "/usr/arm-linux-gnueabihf/include/sys/select.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/sigset_t.h" 1 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/__sigset_t.h" 1 3 32020: 32020: 32020: 32020: 32020: typedef struct 32020: { 32020: unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; 32020: } __sigset_t; 32020: # 5 "/usr/arm-linux-gnueabihf/include/bits/types/sigset_t.h" 2 3 32020: 32020: 32020: typedef __sigset_t sigset_t; 32020: # 34 "/usr/arm-linux-gnueabihf/include/sys/select.h" 2 3 32020: # 49 "/usr/arm-linux-gnueabihf/include/sys/select.h" 3 32020: typedef long int __fd_mask; 32020: # 59 "/usr/arm-linux-gnueabihf/include/sys/select.h" 3 32020: typedef struct 32020: { 32020: 32020: 32020: 32020: __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; 32020: 32020: 32020: 32020: 32020: 32020: } fd_set; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __fd_mask fd_mask; 32020: # 91 "/usr/arm-linux-gnueabihf/include/sys/select.h" 3 32020: extern "C" { 32020: # 101 "/usr/arm-linux-gnueabihf/include/sys/select.h" 3 32020: extern int select (int __nfds, fd_set *__restrict __readfds, 32020: fd_set *__restrict __writefds, 32020: fd_set *__restrict __exceptfds, 32020: struct timeval *__restrict __timeout); 32020: # 113 "/usr/arm-linux-gnueabihf/include/sys/select.h" 3 32020: extern int pselect (int __nfds, fd_set *__restrict __readfds, 32020: fd_set *__restrict __writefds, 32020: fd_set *__restrict __exceptfds, 32020: const struct timespec *__restrict __timeout, 32020: const __sigset_t *__restrict __sigmask); 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/select2.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/select2.h" 3 32020: extern long int __fdelt_chk (long int __d); 32020: extern long int __fdelt_warn (long int __d) 32020: __attribute__((__warning__ ("bit outside of fd_set selected"))); 32020: # 124 "/usr/arm-linux-gnueabihf/include/sys/select.h" 2 3 32020: 32020: 32020: } 32020: # 180 "/usr/arm-linux-gnueabihf/include/sys/types.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: typedef __blksize_t blksize_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __blkcnt_t blkcnt_t; 32020: 32020: 32020: 32020: typedef __fsblkcnt_t fsblkcnt_t; 32020: 32020: 32020: 32020: typedef __fsfilcnt_t fsfilcnt_t; 32020: # 219 "/usr/arm-linux-gnueabihf/include/sys/types.h" 3 32020: typedef __blkcnt64_t blkcnt64_t; 32020: typedef __fsblkcnt64_t fsblkcnt64_t; 32020: typedef __fsfilcnt64_t fsfilcnt64_t; 32020: # 230 "/usr/arm-linux-gnueabihf/include/sys/types.h" 3 32020: } 32020: # 395 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int random (void) throw (); 32020: 32020: 32020: extern void srandom (unsigned int __seed) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern char *initstate (unsigned int __seed, char *__statebuf, 32020: size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct random_data 32020: { 32020: int32_t *fptr; 32020: int32_t *rptr; 32020: int32_t *state; 32020: int rand_type; 32020: int rand_deg; 32020: int rand_sep; 32020: int32_t *end_ptr; 32020: }; 32020: 32020: extern int random_r (struct random_data *__restrict __buf, 32020: int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern int srandom_r (unsigned int __seed, struct random_data *__buf) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, 32020: size_t __statelen, 32020: struct random_data *__restrict __buf) 32020: throw () __attribute__ ((__nonnull__ (2, 4))); 32020: 32020: extern int setstate_r (char *__restrict __statebuf, 32020: struct random_data *__restrict __buf) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: 32020: extern int rand (void) throw (); 32020: 32020: extern void srand (unsigned int __seed) throw (); 32020: 32020: 32020: 32020: extern int rand_r (unsigned int *__seed) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double drand48 (void) throw (); 32020: extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern long int lrand48 (void) throw (); 32020: extern long int nrand48 (unsigned short int __xsubi[3]) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern long int mrand48 (void) throw (); 32020: extern long int jrand48 (unsigned short int __xsubi[3]) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern void srand48 (long int __seedval) throw (); 32020: extern unsigned short int *seed48 (unsigned short int __seed16v[3]) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: struct drand48_data 32020: { 32020: unsigned short int __x[3]; 32020: unsigned short int __old_x[3]; 32020: unsigned short int __c; 32020: unsigned short int __init; 32020: __extension__ unsigned long long int __a; 32020: 32020: }; 32020: 32020: 32020: extern int drand48_r (struct drand48_data *__restrict __buffer, 32020: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: extern int erand48_r (unsigned short int __xsubi[3], 32020: struct drand48_data *__restrict __buffer, 32020: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int lrand48_r (struct drand48_data *__restrict __buffer, 32020: long int *__restrict __result) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: extern int nrand48_r (unsigned short int __xsubi[3], 32020: struct drand48_data *__restrict __buffer, 32020: long int *__restrict __result) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int mrand48_r (struct drand48_data *__restrict __buffer, 32020: long int *__restrict __result) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: extern int jrand48_r (unsigned short int __xsubi[3], 32020: struct drand48_data *__restrict __buffer, 32020: long int *__restrict __result) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int srand48_r (long int __seedval, struct drand48_data *__buffer) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: extern int seed48_r (unsigned short int __seed16v[3], 32020: struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern int lcong48_r (unsigned short int __param[7], 32020: struct drand48_data *__buffer) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) 32020: __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: extern void *calloc (size_t __nmemb, size_t __size) 32020: throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern void *realloc (void *__ptr, size_t __size) 32020: throw () __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) 32020: throw () __attribute__ ((__warn_unused_result__)) 32020: __attribute__ ((__alloc_size__ (2, 3))); 32020: 32020: 32020: 32020: extern void free (void *__ptr) throw (); 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/alloca.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/alloca.h" 3 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 25 "/usr/arm-linux-gnueabihf/include/alloca.h" 2 3 32020: 32020: extern "C" { 32020: 32020: 32020: 32020: 32020: 32020: extern void *alloca (size_t __size) throw (); 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 569 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) 32020: __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) 32020: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern void *aligned_alloc (size_t __alignment, size_t __size) 32020: throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: extern void abort (void) throw () __attribute__ ((__noreturn__)); 32020: 32020: 32020: 32020: extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: extern "C++" int at_quick_exit (void (*__func) (void)) 32020: throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); 32020: # 610 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: extern void exit (int __status) throw () __attribute__ ((__noreturn__)); 32020: 32020: 32020: 32020: 32020: 32020: extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); 32020: 32020: 32020: 32020: 32020: 32020: extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); 32020: 32020: 32020: 32020: 32020: extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern char *secure_getenv (const char *__name) 32020: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: extern int setenv (const char *__name, const char *__value, int __replace) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int clearenv (void) throw (); 32020: # 675 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); 32020: # 688 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 698 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 710 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 720 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkstemps64 (char *__template, int __suffixlen) 32020: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 731 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 742 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 752 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 762 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkostemps (char *__template, int __suffixlen, int __flags) 32020: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 774 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int mkostemps64 (char *__template, int __suffixlen, int __flags) 32020: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 784 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: extern char *canonicalize_file_name (const char *__name) 32020: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 800 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern char *realpath (const char *__restrict __name, 32020: char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef int (*__compar_fn_t) (const void *, const void *); 32020: 32020: 32020: typedef __compar_fn_t comparison_fn_t; 32020: 32020: 32020: 32020: typedef int (*__compar_d_fn_t) (const void *, const void *, void *); 32020: 32020: 32020: 32020: 32020: extern void *bsearch (const void *__key, const void *__base, 32020: size_t __nmemb, size_t __size, __compar_fn_t __compar) 32020: __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdlib-bsearch.h" 1 3 32020: # 19 "/usr/arm-linux-gnueabihf/include/bits/stdlib-bsearch.h" 3 32020: extern __inline __attribute__ ((__gnu_inline__)) void * 32020: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, 32020: __compar_fn_t __compar) 32020: { 32020: size_t __l, __u, __idx; 32020: const void *__p; 32020: int __comparison; 32020: 32020: __l = 0; 32020: __u = __nmemb; 32020: while (__l < __u) 32020: { 32020: __idx = (__l + __u) / 2; 32020: __p = (void *) (((const char *) __base) + (__idx * __size)); 32020: __comparison = (*__compar) (__key, __p); 32020: if (__comparison < 0) 32020: __u = __idx; 32020: else if (__comparison > 0) 32020: __l = __idx + 1; 32020: else 32020: return (void *) __p; 32020: } 32020: 32020: return __null; 32020: } 32020: # 826 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: 32020: 32020: extern void qsort (void *__base, size_t __nmemb, size_t __size, 32020: __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); 32020: 32020: extern void qsort_r (void *__base, size_t __nmemb, size_t __size, 32020: __compar_d_fn_t __compar, void *__arg) 32020: __attribute__ ((__nonnull__ (1, 4))); 32020: 32020: 32020: 32020: 32020: extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 32020: extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: __extension__ extern long long int llabs (long long int __x) 32020: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern div_t div (int __numer, int __denom) 32020: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 32020: extern ldiv_t ldiv (long int __numer, long int __denom) 32020: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: __extension__ extern lldiv_t lldiv (long long int __numer, 32020: long long int __denom) 32020: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 32020: # 872 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, 32020: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, 32020: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern char *gcvt (double __value, int __ndigit, char *__buf) 32020: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern char *qecvt (long double __value, int __ndigit, 32020: int *__restrict __decpt, int *__restrict __sign) 32020: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 32020: extern char *qfcvt (long double __value, int __ndigit, 32020: int *__restrict __decpt, int *__restrict __sign) 32020: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 32020: extern char *qgcvt (long double __value, int __ndigit, char *__buf) 32020: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, 32020: int *__restrict __sign, char *__restrict __buf, 32020: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 32020: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, 32020: int *__restrict __sign, char *__restrict __buf, 32020: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 32020: 32020: extern int qecvt_r (long double __value, int __ndigit, 32020: int *__restrict __decpt, int *__restrict __sign, 32020: char *__restrict __buf, size_t __len) 32020: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 32020: extern int qfcvt_r (long double __value, int __ndigit, 32020: int *__restrict __decpt, int *__restrict __sign, 32020: char *__restrict __buf, size_t __len) 32020: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 32020: 32020: 32020: 32020: 32020: 32020: extern int mblen (const char *__s, size_t __n) throw (); 32020: 32020: 32020: extern int mbtowc (wchar_t *__restrict __pwc, 32020: const char *__restrict __s, size_t __n) throw (); 32020: 32020: 32020: extern int wctomb (char *__s, wchar_t __wchar) throw (); 32020: 32020: 32020: 32020: extern size_t mbstowcs (wchar_t *__restrict __pwcs, 32020: const char *__restrict __s, size_t __n) throw (); 32020: 32020: extern size_t wcstombs (char *__restrict __s, 32020: const wchar_t *__restrict __pwcs, size_t __n) 32020: throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 32020: # 957 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: extern int getsubopt (char **__restrict __optionp, 32020: char *const *__restrict __tokens, 32020: char **__restrict __valuep) 32020: throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int grantpt (int __fd) throw (); 32020: 32020: 32020: 32020: extern int unlockpt (int __fd) throw (); 32020: 32020: 32020: 32020: 32020: extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int ptsname_r (int __fd, char *__buf, size_t __buflen) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: extern int getpt (void); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int getloadavg (double __loadavg[], int __nelem) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: # 1013 "/usr/arm-linux-gnueabihf/include/stdlib.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdlib-float.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/stdlib-float.h" 3 32020: extern __inline __attribute__ ((__gnu_inline__)) double 32020: __attribute__ ((__leaf__)) atof (const char *__nptr) throw () 32020: { 32020: return strtod (__nptr, (char **) __null); 32020: } 32020: # 1014 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdlib.h" 1 3 32020: # 23 "/usr/arm-linux-gnueabihf/include/bits/stdlib.h" 3 32020: extern char *__realpath_chk (const char *__restrict __name, 32020: char *__restrict __resolved, 32020: size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__)); 32020: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath") 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) 32020: __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 32020: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) throw () 32020: { 32020: if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) 32020: { 32020: 32020: 32020: 32020: 32020: return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); 32020: } 32020: 32020: return __realpath_alias (__name, __resolved); 32020: } 32020: 32020: 32020: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, 32020: size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); 32020: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r") 32020: 32020: __attribute__ ((__nonnull__ (2))); 32020: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk") 32020: 32020: 32020: __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) throw () 32020: { 32020: if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__buflen)) 32020: return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 32020: if (__buflen > __builtin_object_size (__buf, 2 > 1)) 32020: return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 32020: } 32020: return __ptsname_r_alias (__fd, __buf, __buflen); 32020: } 32020: 32020: 32020: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) 32020: throw () __attribute__ ((__warn_unused_result__)); 32020: extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb") 32020: __attribute__ ((__warn_unused_result__)); 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int 32020: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) throw () 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 32020: return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); 32020: return __wctomb_alias (__s, __wchar); 32020: } 32020: 32020: 32020: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, 32020: const char *__restrict __src, 32020: size_t __len, size_t __dstlen) throw (); 32020: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs") 32020: 32020: 32020: ; 32020: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk") 32020: 32020: 32020: 32020: __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 32020: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__len)) 32020: return __mbstowcs_chk (__dst, __src, __len, 32020: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 32020: 32020: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 32020: return __mbstowcs_chk_warn (__dst, __src, __len, 32020: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 32020: } 32020: return __mbstowcs_alias (__dst, __src, __len); 32020: } 32020: 32020: 32020: extern size_t __wcstombs_chk (char *__restrict __dst, 32020: const wchar_t *__restrict __src, 32020: size_t __len, size_t __dstlen) throw (); 32020: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs") 32020: 32020: 32020: ; 32020: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk") 32020: 32020: 32020: 32020: __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 32020: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () 32020: 32020: { 32020: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__len)) 32020: return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 32020: if (__len > __builtin_object_size (__dst, 2 > 1)) 32020: return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 32020: } 32020: return __wcstombs_alias (__dst, __src, __len); 32020: } 32020: # 1018 "/usr/arm-linux-gnueabihf/include/stdlib.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 76 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_abs.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_abs.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_abs.h" 3 32020: # 46 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_abs.h" 3 32020: extern "C++" 32020: { 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: using ::abs; 32020: 32020: 32020: inline long 32020: abs(long __i) { return __builtin_labs(__i); } 32020: 32020: 32020: 32020: inline long long 32020: abs(long long __x) { return __builtin_llabs (__x); } 32020: # 70 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_abs.h" 3 32020: inline constexpr double 32020: abs(double __x) 32020: { return __builtin_fabs(__x); } 32020: 32020: inline constexpr float 32020: abs(float __x) 32020: { return __builtin_fabsf(__x); } 32020: 32020: inline constexpr long double 32020: abs(long double __x) 32020: { return __builtin_fabsl(__x); } 32020: # 107 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_abs.h" 3 32020: 32020: } 32020: } 32020: # 78 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 2 3 32020: # 121 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: extern "C++" 32020: { 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: using ::div_t; 32020: using ::ldiv_t; 32020: 32020: using ::abort; 32020: 32020: using ::aligned_alloc; 32020: 32020: using ::atexit; 32020: 32020: 32020: using ::at_quick_exit; 32020: 32020: 32020: using ::atof; 32020: using ::atoi; 32020: using ::atol; 32020: using ::bsearch; 32020: using ::calloc; 32020: using ::div; 32020: using ::exit; 32020: using ::free; 32020: using ::getenv; 32020: using ::labs; 32020: using ::ldiv; 32020: using ::malloc; 32020: 32020: using ::mblen; 32020: using ::mbstowcs; 32020: using ::mbtowc; 32020: 32020: using ::qsort; 32020: 32020: 32020: using ::quick_exit; 32020: 32020: 32020: using ::rand; 32020: using ::realloc; 32020: using ::srand; 32020: using ::strtod; 32020: using ::strtol; 32020: using ::strtoul; 32020: using ::system; 32020: 32020: using ::wcstombs; 32020: using ::wctomb; 32020: 32020: 32020: 32020: inline ldiv_t 32020: div(long __i, long __j) { return ldiv(__i, __j); } 32020: 32020: 32020: 32020: 32020: } 32020: # 195 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: using ::lldiv_t; 32020: 32020: 32020: 32020: 32020: 32020: using ::_Exit; 32020: 32020: 32020: 32020: using ::llabs; 32020: 32020: inline lldiv_t 32020: div(long long __n, long long __d) 32020: { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } 32020: 32020: using ::lldiv; 32020: # 227 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: using ::atoll; 32020: using ::strtoll; 32020: using ::strtoull; 32020: 32020: using ::strtof; 32020: using ::strtold; 32020: 32020: 32020: } 32020: 32020: namespace std 32020: { 32020: 32020: using ::__gnu_cxx::lldiv_t; 32020: 32020: using ::__gnu_cxx::_Exit; 32020: 32020: using ::__gnu_cxx::llabs; 32020: using ::__gnu_cxx::div; 32020: using ::__gnu_cxx::lldiv; 32020: 32020: using ::__gnu_cxx::atoll; 32020: using ::__gnu_cxx::strtof; 32020: using ::__gnu_cxx::strtoll; 32020: using ::__gnu_cxx::strtoull; 32020: using ::__gnu_cxx::strtold; 32020: } 32020: 32020: 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cwchar" 3 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/stdio.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: extern "C" { 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 34 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdarg.h" 1 3 4 32020: # 37 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/__fpos_t.h" 1 3 32020: # 10 "/usr/arm-linux-gnueabihf/include/bits/types/__fpos_t.h" 3 32020: typedef struct _G_fpos_t 32020: { 32020: __off_t __pos; 32020: __mbstate_t __state; 32020: } __fpos_t; 32020: # 40 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/__fpos64_t.h" 1 3 32020: # 10 "/usr/arm-linux-gnueabihf/include/bits/types/__fpos64_t.h" 3 32020: typedef struct _G_fpos64_t 32020: { 32020: __off64_t __pos; 32020: __mbstate_t __state; 32020: } __fpos64_t; 32020: # 41 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/struct_FILE.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/bits/types/struct_FILE.h" 3 32020: struct _IO_FILE; 32020: struct _IO_marker; 32020: struct _IO_codecvt; 32020: struct _IO_wide_data; 32020: 32020: 32020: 32020: 32020: typedef void _IO_lock_t; 32020: 32020: 32020: 32020: 32020: 32020: struct _IO_FILE 32020: { 32020: int _flags; 32020: 32020: 32020: char *_IO_read_ptr; 32020: char *_IO_read_end; 32020: char *_IO_read_base; 32020: char *_IO_write_base; 32020: char *_IO_write_ptr; 32020: char *_IO_write_end; 32020: char *_IO_buf_base; 32020: char *_IO_buf_end; 32020: 32020: 32020: char *_IO_save_base; 32020: char *_IO_backup_base; 32020: char *_IO_save_end; 32020: 32020: struct _IO_marker *_markers; 32020: 32020: struct _IO_FILE *_chain; 32020: 32020: int _fileno; 32020: int _flags2; 32020: __off_t _old_offset; 32020: 32020: 32020: unsigned short _cur_column; 32020: signed char _vtable_offset; 32020: char _shortbuf[1]; 32020: 32020: _IO_lock_t *_lock; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __off64_t _offset; 32020: 32020: struct _IO_codecvt *_codecvt; 32020: struct _IO_wide_data *_wide_data; 32020: struct _IO_FILE *_freeres_list; 32020: void *_freeres_buf; 32020: size_t __pad5; 32020: int _mode; 32020: 32020: char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; 32020: }; 32020: # 44 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/cookie_io_functions_t.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/bits/types/cookie_io_functions_t.h" 3 32020: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, 32020: size_t __nbytes); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, 32020: size_t __nbytes); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); 32020: 32020: 32020: typedef int cookie_close_function_t (void *__cookie); 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef struct _IO_cookie_io_functions_t 32020: { 32020: cookie_read_function_t *read; 32020: cookie_write_function_t *write; 32020: cookie_seek_function_t *seek; 32020: cookie_close_function_t *close; 32020: } cookie_io_functions_t; 32020: # 47 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: typedef __gnuc_va_list va_list; 32020: # 84 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: typedef __fpos_t fpos_t; 32020: 32020: 32020: 32020: 32020: typedef __fpos64_t fpos64_t; 32020: # 133 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdio_lim.h" 1 3 32020: # 134 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: 32020: extern FILE *stdin; 32020: extern FILE *stdout; 32020: extern FILE *stderr; 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int remove (const char *__filename) throw (); 32020: 32020: extern int rename (const char *__old, const char *__new) throw (); 32020: 32020: 32020: 32020: extern int renameat (int __oldfd, const char *__old, int __newfd, 32020: const char *__new) throw (); 32020: # 164 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int renameat2 (int __oldfd, const char *__old, int __newfd, 32020: const char *__new, unsigned int __flags) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); 32020: # 183 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__)); 32020: # 204 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern char *tempnam (const char *__dir, const char *__pfx) 32020: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fclose (FILE *__stream); 32020: 32020: 32020: 32020: 32020: extern int fflush (FILE *__stream); 32020: # 227 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fflush_unlocked (FILE *__stream); 32020: # 237 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fcloseall (void); 32020: # 246 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern FILE *fopen (const char *__restrict __filename, 32020: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern FILE *freopen (const char *__restrict __filename, 32020: const char *__restrict __modes, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: # 270 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern FILE *fopen64 (const char *__restrict __filename, 32020: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 32020: extern FILE *freopen64 (const char *__restrict __filename, 32020: const char *__restrict __modes, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: extern FILE *fopencookie (void *__restrict __magic_cookie, 32020: const char *__restrict __modes, 32020: cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) 32020: throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); 32020: 32020: 32020: 32020: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, 32020: int __modes, size_t __n) throw (); 32020: 32020: 32020: 32020: 32020: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, 32020: size_t __size) throw (); 32020: 32020: 32020: extern void setlinebuf (FILE *__stream) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fprintf (FILE *__restrict __stream, 32020: const char *__restrict __format, ...); 32020: 32020: 32020: 32020: 32020: extern int printf (const char *__restrict __format, ...); 32020: 32020: extern int sprintf (char *__restrict __s, 32020: const char *__restrict __format, ...) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, 32020: __gnuc_va_list __arg); 32020: 32020: 32020: 32020: 32020: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); 32020: 32020: extern int vsprintf (char *__restrict __s, const char *__restrict __format, 32020: __gnuc_va_list __arg) throw (); 32020: 32020: 32020: 32020: extern int snprintf (char *__restrict __s, size_t __maxlen, 32020: const char *__restrict __format, ...) 32020: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 32020: 32020: extern int vsnprintf (char *__restrict __s, size_t __maxlen, 32020: const char *__restrict __format, __gnuc_va_list __arg) 32020: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 32020: 32020: 32020: 32020: 32020: 32020: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, 32020: __gnuc_va_list __arg) 32020: throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 32020: extern int __asprintf (char **__restrict __ptr, 32020: const char *__restrict __fmt, ...) 32020: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 32020: extern int asprintf (char **__restrict __ptr, 32020: const char *__restrict __fmt, ...) 32020: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern int vdprintf (int __fd, const char *__restrict __fmt, 32020: __gnuc_va_list __arg) 32020: __attribute__ ((__format__ (__printf__, 2, 0))); 32020: extern int dprintf (int __fd, const char *__restrict __fmt, ...) 32020: __attribute__ ((__format__ (__printf__, 2, 3))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fscanf (FILE *__restrict __stream, 32020: const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 32020: 32020: extern int sscanf (const char *__restrict __s, 32020: const char *__restrict __format, ...) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") 32020: __attribute__ ((__warn_unused_result__)); 32020: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) throw () __asm__ ("" "__isoc99_sscanf") 32020: 32020: ; 32020: # 432 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, 32020: __gnuc_va_list __arg) 32020: __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) 32020: __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: extern int vsscanf (const char *__restrict __s, 32020: const char *__restrict __format, __gnuc_va_list __arg) 32020: throw () __attribute__ ((__format__ (__scanf__, 2, 0))); 32020: 32020: 32020: 32020: 32020: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") 32020: 32020: 32020: 32020: __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 32020: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") 32020: 32020: __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); 32020: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) throw () __asm__ ("" "__isoc99_vsscanf") 32020: 32020: 32020: 32020: __attribute__ ((__format__ (__scanf__, 2, 0))); 32020: # 485 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fgetc (FILE *__stream); 32020: extern int getc (FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: extern int getchar (void); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int getc_unlocked (FILE *__stream); 32020: extern int getchar_unlocked (void); 32020: # 510 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fgetc_unlocked (FILE *__stream); 32020: # 521 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fputc (int __c, FILE *__stream); 32020: extern int putc (int __c, FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: extern int putchar (int __c); 32020: # 537 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fputc_unlocked (int __c, FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int putc_unlocked (int __c, FILE *__stream); 32020: extern int putchar_unlocked (int __c); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int getw (FILE *__stream); 32020: 32020: 32020: extern int putw (int __w, FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 32020: __attribute__ ((__warn_unused_result__)); 32020: # 587 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern char *fgets_unlocked (char *__restrict __s, int __n, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: # 603 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern __ssize_t __getdelim (char **__restrict __lineptr, 32020: size_t *__restrict __n, int __delimiter, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern __ssize_t getdelim (char **__restrict __lineptr, 32020: size_t *__restrict __n, int __delimiter, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern __ssize_t getline (char **__restrict __lineptr, 32020: size_t *__restrict __n, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fputs (const char *__restrict __s, FILE *__restrict __stream); 32020: 32020: 32020: 32020: 32020: 32020: extern int puts (const char *__s); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int ungetc (int __c, FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern size_t fread (void *__restrict __ptr, size_t __size, 32020: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern size_t fwrite (const void *__restrict __ptr, size_t __size, 32020: size_t __n, FILE *__restrict __s); 32020: # 662 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fputs_unlocked (const char *__restrict __s, 32020: FILE *__restrict __stream); 32020: # 673 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, 32020: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, 32020: size_t __n, FILE *__restrict __stream); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int fseek (FILE *__stream, long int __off, int __whence); 32020: 32020: 32020: 32020: 32020: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern void rewind (FILE *__stream); 32020: # 707 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fseeko (FILE *__stream, __off_t __off, int __whence); 32020: 32020: 32020: 32020: 32020: extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); 32020: # 731 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); 32020: 32020: 32020: 32020: 32020: extern int fsetpos (FILE *__stream, const fpos_t *__pos); 32020: # 750 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); 32020: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); 32020: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); 32020: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); 32020: 32020: 32020: 32020: extern void clearerr (FILE *__stream) throw (); 32020: 32020: extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: extern void clearerr_unlocked (FILE *__stream) throw (); 32020: extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern void perror (const char *__s); 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/sys_errlist.h" 1 3 32020: # 26 "/usr/arm-linux-gnueabihf/include/bits/sys_errlist.h" 3 32020: extern int sys_nerr; 32020: extern const char *const sys_errlist[]; 32020: 32020: 32020: extern int _sys_nerr; 32020: extern const char *const _sys_errlist[]; 32020: # 782 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: 32020: 32020: extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: # 800 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: extern int pclose (FILE *__stream); 32020: 32020: 32020: 32020: 32020: 32020: extern char *ctermid (char *__s) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern char *cuserid (char *__s); 32020: 32020: 32020: 32020: 32020: struct obstack; 32020: 32020: 32020: extern int obstack_printf (struct obstack *__restrict __obstack, 32020: const char *__restrict __format, ...) 32020: throw () __attribute__ ((__format__ (__printf__, 2, 3))); 32020: extern int obstack_vprintf (struct obstack *__restrict __obstack, 32020: const char *__restrict __format, 32020: __gnuc_va_list __args) 32020: throw () __attribute__ ((__format__ (__printf__, 2, 0))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern void flockfile (FILE *__stream) throw (); 32020: 32020: 32020: 32020: extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: extern void funlockfile (FILE *__stream) throw (); 32020: # 858 "/usr/arm-linux-gnueabihf/include/stdio.h" 3 32020: extern int __uflow (FILE *); 32020: extern int __overflow (FILE *, int); 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdio.h" 1 3 32020: # 46 "/usr/arm-linux-gnueabihf/include/bits/stdio.h" 3 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: getchar (void) 32020: { 32020: return getc (stdin); 32020: } 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: fgetc_unlocked (FILE *__fp) 32020: { 32020: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: getc_unlocked (FILE *__fp) 32020: { 32020: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: getchar_unlocked (void) 32020: { 32020: return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); 32020: } 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: putchar (int __c) 32020: { 32020: return putc (__c, stdout); 32020: } 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: fputc_unlocked (int __c, FILE *__stream) 32020: { 32020: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: putc_unlocked (int __c, FILE *__stream) 32020: { 32020: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: putchar_unlocked (int __c) 32020: { 32020: return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t 32020: getline (char **__lineptr, size_t *__n, FILE *__stream) 32020: { 32020: return __getdelim (__lineptr, __n, '\n', __stream); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) throw () 32020: { 32020: return (((__stream)->_flags & 0x0010) != 0); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__gnu_inline__)) int 32020: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) throw () 32020: { 32020: return (((__stream)->_flags & 0x0020) != 0); 32020: } 32020: # 865 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/stdio2.h" 1 3 32020: # 26 "/usr/arm-linux-gnueabihf/include/bits/stdio2.h" 3 32020: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, 32020: const char *__restrict __format, ...) throw (); 32020: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, 32020: const char *__restrict __format, 32020: __gnuc_va_list __ap) throw (); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) throw () 32020: { 32020: return __builtin___sprintf_chk (__s, 2 - 1, 32020: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 32020: 32020: { 32020: return __builtin___vsprintf_chk (__s, 2 - 1, 32020: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 32020: } 32020: 32020: 32020: 32020: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, 32020: size_t __slen, const char *__restrict __format, 32020: ...) throw (); 32020: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, 32020: size_t __slen, const char *__restrict __format, 32020: __gnuc_va_list __ap) throw (); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) throw () 32020: 32020: { 32020: return __builtin___snprintf_chk (__s, __n, 2 - 1, 32020: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 32020: 32020: { 32020: return __builtin___vsnprintf_chk (__s, __n, 2 - 1, 32020: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: extern int __fprintf_chk (FILE *__restrict __stream, int __flag, 32020: const char *__restrict __format, ...); 32020: extern int __printf_chk (int __flag, const char *__restrict __format, ...); 32020: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, 32020: const char *__restrict __format, __gnuc_va_list __ap); 32020: extern int __vprintf_chk (int __flag, const char *__restrict __format, 32020: __gnuc_va_list __ap); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) 32020: { 32020: return __fprintf_chk (__stream, 2 - 1, __fmt, 32020: __builtin_va_arg_pack ()); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: printf (const char *__restrict __fmt, ...) 32020: { 32020: return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) 32020: { 32020: 32020: return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); 32020: 32020: 32020: 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: vfprintf (FILE *__restrict __stream, 32020: const char *__restrict __fmt, __gnuc_va_list __ap) 32020: { 32020: return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); 32020: } 32020: 32020: 32020: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, 32020: ...) __attribute__ ((__format__ (__printf__, 3, 4))); 32020: extern int __vdprintf_chk (int __fd, int __flag, 32020: const char *__restrict __fmt, __gnuc_va_list __arg) 32020: __attribute__ ((__format__ (__printf__, 3, 0))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: dprintf (int __fd, const char *__restrict __fmt, ...) 32020: { 32020: return __dprintf_chk (__fd, 2 - 1, __fmt, 32020: __builtin_va_arg_pack ()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) 32020: { 32020: return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); 32020: } 32020: 32020: 32020: 32020: 32020: extern int __asprintf_chk (char **__restrict __ptr, int __flag, 32020: const char *__restrict __fmt, ...) 32020: throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); 32020: extern int __vasprintf_chk (char **__restrict __ptr, int __flag, 32020: const char *__restrict __fmt, __gnuc_va_list __arg) 32020: throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); 32020: extern int __obstack_printf_chk (struct obstack *__restrict __obstack, 32020: int __flag, const char *__restrict __format, 32020: ...) 32020: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 32020: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, 32020: int __flag, 32020: const char *__restrict __format, 32020: __gnuc_va_list __args) 32020: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 32020: { 32020: return __asprintf_chk (__ptr, 2 - 1, __fmt, 32020: __builtin_va_arg_pack ()); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 32020: 32020: { 32020: return __asprintf_chk (__ptr, 2 - 1, __fmt, 32020: __builtin_va_arg_pack ()); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) throw () 32020: 32020: { 32020: return __obstack_printf_chk (__obstack, 2 - 1, __fmt, 32020: __builtin_va_arg_pack ()); 32020: } 32020: # 209 "/usr/arm-linux-gnueabihf/include/bits/stdio2.h" 3 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 32020: 32020: { 32020: return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 32020: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 32020: 32020: { 32020: return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, 32020: __ap); 32020: } 32020: # 243 "/usr/arm-linux-gnueabihf/include/bits/stdio2.h" 3 32020: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 32020: fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 32020: { 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n) || __n <= 0) 32020: return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 32020: 32020: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 32020: return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 32020: } 32020: return __fgets_alias (__s, __n, __stream); 32020: } 32020: 32020: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, 32020: size_t __size, size_t __n, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") 32020: 32020: 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 32020: fread (void *__restrict __ptr, size_t __size, size_t __n, 32020: FILE *__restrict __stream) 32020: { 32020: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__size) 32020: || !__builtin_constant_p (__n) 32020: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 32020: return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 32020: 32020: if (__size * __n > __builtin_object_size (__ptr, 0)) 32020: return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 32020: } 32020: return __fread_alias (__ptr, __size, __n, __stream); 32020: } 32020: 32020: 32020: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, 32020: int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 32020: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) 32020: { 32020: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__n) || __n <= 0) 32020: return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 32020: 32020: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 32020: return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 32020: } 32020: return __fgets_unlocked_alias (__s, __n, __stream); 32020: } 32020: 32020: 32020: 32020: 32020: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, 32020: size_t __size, size_t __n, 32020: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 32020: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)); 32020: 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") 32020: 32020: 32020: 32020: 32020: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 32020: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, 32020: FILE *__restrict __stream) 32020: { 32020: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 32020: { 32020: if (!__builtin_constant_p (__size) 32020: || !__builtin_constant_p (__n) 32020: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 32020: return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 32020: __stream); 32020: 32020: if (__size * __n > __builtin_object_size (__ptr, 0)) 32020: return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 32020: __stream); 32020: } 32020: 32020: 32020: if (__builtin_constant_p (__size) 32020: && __builtin_constant_p (__n) 32020: && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) 32020: && __size * __n <= 8) 32020: { 32020: size_t __cnt = __size * __n; 32020: char *__cptr = (char *) __ptr; 32020: if (__cnt == 0) 32020: return 0; 32020: 32020: for (; __cnt > 0; --__cnt) 32020: { 32020: int __c = getc_unlocked (__stream); 32020: if (__c == (-1)) 32020: break; 32020: *__cptr++ = __c; 32020: } 32020: return (__cptr - (char *) __ptr) / __size; 32020: } 32020: 32020: return __fread_unlocked_alias (__ptr, __size, __n, __stream); 32020: } 32020: # 868 "/usr/arm-linux-gnueabihf/include/stdio.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 2 3 32020: # 96 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 3 32020: namespace std 32020: { 32020: using ::FILE; 32020: using ::fpos_t; 32020: 32020: using ::clearerr; 32020: using ::fclose; 32020: using ::feof; 32020: using ::ferror; 32020: using ::fflush; 32020: using ::fgetc; 32020: using ::fgetpos; 32020: using ::fgets; 32020: using ::fopen; 32020: using ::fprintf; 32020: using ::fputc; 32020: using ::fputs; 32020: using ::fread; 32020: using ::freopen; 32020: using ::fscanf; 32020: using ::fseek; 32020: using ::fsetpos; 32020: using ::ftell; 32020: using ::fwrite; 32020: using ::getc; 32020: using ::getchar; 32020: 32020: 32020: 32020: 32020: using ::perror; 32020: using ::printf; 32020: using ::putc; 32020: using ::putchar; 32020: using ::puts; 32020: using ::remove; 32020: using ::rename; 32020: using ::rewind; 32020: using ::scanf; 32020: using ::setbuf; 32020: using ::setvbuf; 32020: using ::sprintf; 32020: using ::sscanf; 32020: using ::tmpfile; 32020: 32020: using ::tmpnam; 32020: 32020: using ::ungetc; 32020: using ::vfprintf; 32020: using ::vprintf; 32020: using ::vsprintf; 32020: } 32020: # 157 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 3 32020: namespace __gnu_cxx 32020: { 32020: # 175 "/usr/arm-linux-gnueabihf/include/c++/10/cstdio" 3 32020: using ::snprintf; 32020: using ::vfscanf; 32020: using ::vscanf; 32020: using ::vsnprintf; 32020: using ::vsscanf; 32020: 32020: } 32020: 32020: namespace std 32020: { 32020: using ::__gnu_cxx::snprintf; 32020: using ::__gnu_cxx::vfscanf; 32020: using ::__gnu_cxx::vscanf; 32020: using ::__gnu_cxx::vsnprintf; 32020: using ::__gnu_cxx::vsscanf; 32020: } 32020: # 44 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/errno.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/errno.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/errno.h" 1 3 32020: # 26 "/usr/arm-linux-gnueabihf/include/bits/errno.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/linux/errno.h" 1 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/asm/errno.h" 1 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/asm-generic/errno.h" 1 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/asm-generic/errno-base.h" 1 3 32020: # 6 "/usr/arm-linux-gnueabihf/include/asm-generic/errno.h" 2 3 32020: # 2 "/usr/arm-linux-gnueabihf/include/asm/errno.h" 2 3 32020: # 2 "/usr/arm-linux-gnueabihf/include/linux/errno.h" 2 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/bits/errno.h" 2 3 32020: # 29 "/usr/arm-linux-gnueabihf/include/errno.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: extern "C" { 32020: 32020: 32020: extern int *__errno_location (void) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern char *program_invocation_name; 32020: extern char *program_invocation_short_name; 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/types/error_t.h" 1 3 32020: # 22 "/usr/arm-linux-gnueabihf/include/bits/types/error_t.h" 3 32020: typedef int error_t; 32020: # 49 "/usr/arm-linux-gnueabihf/include/errno.h" 2 3 32020: 32020: 32020: 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 2 3 32020: # 45 "/usr/arm-linux-gnueabihf/include/c++/10/ext/string_conversions.h" 2 3 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: _Ret 32020: __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), 32020: const char* __name, const _CharT* __str, std::size_t* __idx, 32020: _Base... __base) 32020: { 32020: _Ret __ret; 32020: 32020: _CharT* __endptr; 32020: 32020: struct _Save_errno { 32020: _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } 32020: ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } 32020: int _M_errno; 32020: } const __save_errno; 32020: 32020: struct _Range_chk { 32020: static bool 32020: _S_chk(_TRet, std::false_type) { return false; } 32020: 32020: static bool 32020: _S_chk(_TRet __val, std::true_type) 32020: { 32020: return __val < _TRet(__numeric_traits::__min) 32020: || __val > _TRet(__numeric_traits::__max); 32020: } 32020: }; 32020: 32020: const _TRet __tmp = __convf(__str, &__endptr, __base...); 32020: 32020: if (__endptr == __str) 32020: std::__throw_invalid_argument(__name); 32020: else if ((*__errno_location ()) == 34 32020: || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) 32020: std::__throw_out_of_range(__name); 32020: else 32020: __ret = __tmp; 32020: 32020: if (__idx) 32020: *__idx = __endptr - __str; 32020: 32020: return __ret; 32020: } 32020: 32020: 32020: template 32020: _String 32020: __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, 32020: __builtin_va_list), std::size_t __n, 32020: const _CharT* __fmt, ...) 32020: { 32020: 32020: 32020: _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 32020: * __n)); 32020: 32020: __builtin_va_list __args; 32020: __builtin_va_start(__args, __fmt); 32020: 32020: const int __len = __convf(__s, __n, __fmt, __args); 32020: 32020: __builtin_va_end(__args); 32020: 32020: return _String(__s, __s + __len); 32020: } 32020: 32020: 32020: } 32020: # 6546 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/charconv.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/charconv.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/charconv.h" 3 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace __detail 32020: { 32020: 32020: template 32020: constexpr unsigned 32020: __to_chars_len(_Tp __value, int __base = 10) noexcept 32020: { 32020: static_assert(is_integral<_Tp>::value, "implementation bug"); 32020: static_assert(is_unsigned<_Tp>::value, "implementation bug"); 32020: 32020: unsigned __n = 1; 32020: const unsigned __b2 = __base * __base; 32020: const unsigned __b3 = __b2 * __base; 32020: const unsigned long __b4 = __b3 * __base; 32020: for (;;) 32020: { 32020: if (__value < (unsigned)__base) return __n; 32020: if (__value < __b2) return __n + 1; 32020: if (__value < __b3) return __n + 2; 32020: if (__value < __b4) return __n + 3; 32020: __value /= __b4; 32020: __n += 4; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept 32020: { 32020: static_assert(is_integral<_Tp>::value, "implementation bug"); 32020: static_assert(is_unsigned<_Tp>::value, "implementation bug"); 32020: 32020: static constexpr char __digits[201] = 32020: "0001020304050607080910111213141516171819" 32020: "2021222324252627282930313233343536373839" 32020: "4041424344454647484950515253545556575859" 32020: "6061626364656667686970717273747576777879" 32020: "8081828384858687888990919293949596979899"; 32020: unsigned __pos = __len - 1; 32020: while (__val >= 100) 32020: { 32020: auto const __num = (__val % 100) * 2; 32020: __val /= 100; 32020: __first[__pos] = __digits[__num + 1]; 32020: __first[__pos - 1] = __digits[__num]; 32020: __pos -= 2; 32020: } 32020: if (__val >= 10) 32020: { 32020: auto const __num = __val * 2; 32020: __first[1] = __digits[__num + 1]; 32020: __first[0] = __digits[__num]; 32020: } 32020: else 32020: __first[0] = '0' + __val; 32020: } 32020: 32020: } 32020: 32020: } 32020: # 6547 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace __cxx11 { 32020: 32020: 32020: 32020: inline int 32020: stoi(const string& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline long 32020: stol(const string& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline unsigned long 32020: stoul(const string& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline long long 32020: stoll(const string& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline unsigned long long 32020: stoull(const string& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), 32020: __idx, __base); } 32020: 32020: 32020: inline float 32020: stof(const string& __str, size_t* __idx = 0) 32020: { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } 32020: 32020: inline double 32020: stod(const string& __str, size_t* __idx = 0) 32020: { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } 32020: 32020: inline long double 32020: stold(const string& __str, size_t* __idx = 0) 32020: { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } 32020: 32020: 32020: 32020: 32020: inline string 32020: to_string(int __val) 32020: { 32020: const bool __neg = __val < 0; 32020: const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; 32020: const auto __len = __detail::__to_chars_len(__uval); 32020: string __str(__neg + __len, '-'); 32020: __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); 32020: return __str; 32020: } 32020: 32020: inline string 32020: to_string(unsigned __val) 32020: { 32020: string __str(__detail::__to_chars_len(__val), '\0'); 32020: __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); 32020: return __str; 32020: } 32020: 32020: inline string 32020: to_string(long __val) 32020: { 32020: const bool __neg = __val < 0; 32020: const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val; 32020: const auto __len = __detail::__to_chars_len(__uval); 32020: string __str(__neg + __len, '-'); 32020: __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); 32020: return __str; 32020: } 32020: 32020: inline string 32020: to_string(unsigned long __val) 32020: { 32020: string __str(__detail::__to_chars_len(__val), '\0'); 32020: __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); 32020: return __str; 32020: } 32020: 32020: inline string 32020: to_string(long long __val) 32020: { 32020: const bool __neg = __val < 0; 32020: const unsigned long long __uval 32020: = __neg ? (unsigned long long)~__val + 1ull : __val; 32020: const auto __len = __detail::__to_chars_len(__uval); 32020: string __str(__neg + __len, '-'); 32020: __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); 32020: return __str; 32020: } 32020: 32020: inline string 32020: to_string(unsigned long long __val) 32020: { 32020: string __str(__detail::__to_chars_len(__val), '\0'); 32020: __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); 32020: return __str; 32020: } 32020: 32020: 32020: 32020: 32020: inline string 32020: to_string(float __val) 32020: { 32020: const int __n = 32020: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 32020: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 32020: "%f", __val); 32020: } 32020: 32020: inline string 32020: to_string(double __val) 32020: { 32020: const int __n = 32020: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 32020: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 32020: "%f", __val); 32020: } 32020: 32020: inline string 32020: to_string(long double __val) 32020: { 32020: const int __n = 32020: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 32020: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 32020: "%Lf", __val); 32020: } 32020: 32020: 32020: 32020: inline int 32020: stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline long 32020: stol(const wstring& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline unsigned long 32020: stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline long long 32020: stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), 32020: __idx, __base); } 32020: 32020: inline unsigned long long 32020: stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) 32020: { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), 32020: __idx, __base); } 32020: 32020: 32020: inline float 32020: stof(const wstring& __str, size_t* __idx = 0) 32020: { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } 32020: 32020: inline double 32020: stod(const wstring& __str, size_t* __idx = 0) 32020: { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } 32020: 32020: inline long double 32020: stold(const wstring& __str, size_t* __idx = 0) 32020: { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } 32020: 32020: 32020: 32020: inline wstring 32020: to_wstring(int __val) 32020: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), 32020: L"%d", __val); } 32020: 32020: inline wstring 32020: to_wstring(unsigned __val) 32020: { return __gnu_cxx::__to_xstring(&std::vswprintf, 32020: 4 * sizeof(unsigned), 32020: L"%u", __val); } 32020: 32020: inline wstring 32020: to_wstring(long __val) 32020: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), 32020: L"%ld", __val); } 32020: 32020: inline wstring 32020: to_wstring(unsigned long __val) 32020: { return __gnu_cxx::__to_xstring(&std::vswprintf, 32020: 4 * sizeof(unsigned long), 32020: L"%lu", __val); } 32020: 32020: inline wstring 32020: to_wstring(long long __val) 32020: { return __gnu_cxx::__to_xstring(&std::vswprintf, 32020: 4 * sizeof(long long), 32020: L"%lld", __val); } 32020: 32020: inline wstring 32020: to_wstring(unsigned long long __val) 32020: { return __gnu_cxx::__to_xstring(&std::vswprintf, 32020: 4 * sizeof(unsigned long long), 32020: L"%llu", __val); } 32020: 32020: inline wstring 32020: to_wstring(float __val) 32020: { 32020: const int __n = 32020: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 32020: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 32020: L"%f", __val); 32020: } 32020: 32020: inline wstring 32020: to_wstring(double __val) 32020: { 32020: const int __n = 32020: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 32020: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 32020: L"%f", __val); 32020: } 32020: 32020: inline wstring 32020: to_wstring(long double __val) 32020: { 32020: const int __n = 32020: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 32020: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 32020: L"%Lf", __val); 32020: } 32020: 32020: 32020: 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const string& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), __s.length()); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const wstring& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), 32020: __s.length() * sizeof(wchar_t)); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: # 6856 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const u16string& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), 32020: __s.length() * sizeof(char16_t)); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const u32string& __s) const noexcept 32020: { return std::_Hash_impl::hash(__s.data(), 32020: __s.length() * sizeof(char32_t)); } 32020: }; 32020: 32020: template<> 32020: struct __is_fast_hash> : std::false_type 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: inline namespace literals 32020: { 32020: inline namespace string_literals 32020: { 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wliteral-suffix" 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: inline basic_string 32020: operator""s(const char* __str, size_t __len) 32020: { return basic_string{__str, __len}; } 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: inline basic_string 32020: operator""s(const wchar_t* __str, size_t __len) 32020: { return basic_string{__str, __len}; } 32020: # 6914 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.h" 3 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: inline basic_string 32020: operator""s(const char16_t* __str, size_t __len) 32020: { return basic_string{__str, __len}; } 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: inline basic_string 32020: operator""s(const char32_t* __str, size_t __len) 32020: { return basic_string{__str, __len}; } 32020: 32020: #pragma GCC diagnostic pop 32020: } 32020: } 32020: 32020: 32020: namespace __detail::__variant 32020: { 32020: template struct _Never_valueless_alt; 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt> 32020: : __and_< 32020: is_nothrow_move_constructible>, 32020: is_nothrow_move_assignable> 32020: >::type 32020: { }; 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 56 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.tcc" 1 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.tcc" 3 32020: 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.tcc" 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: const typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>::npos; 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: swap(basic_string& __s) noexcept 32020: { 32020: if (this == &__s) 32020: return; 32020: 32020: _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); 32020: 32020: if (_M_is_local()) 32020: if (__s._M_is_local()) 32020: { 32020: if (length() && __s.length()) 32020: { 32020: _CharT __tmp_data[_S_local_capacity + 1]; 32020: traits_type::copy(__tmp_data, __s._M_local_buf, 32020: _S_local_capacity + 1); 32020: traits_type::copy(__s._M_local_buf, _M_local_buf, 32020: _S_local_capacity + 1); 32020: traits_type::copy(_M_local_buf, __tmp_data, 32020: _S_local_capacity + 1); 32020: } 32020: else if (__s.length()) 32020: { 32020: traits_type::copy(_M_local_buf, __s._M_local_buf, 32020: _S_local_capacity + 1); 32020: _M_length(__s.length()); 32020: __s._M_set_length(0); 32020: return; 32020: } 32020: else if (length()) 32020: { 32020: traits_type::copy(__s._M_local_buf, _M_local_buf, 32020: _S_local_capacity + 1); 32020: __s._M_length(length()); 32020: _M_set_length(0); 32020: return; 32020: } 32020: } 32020: else 32020: { 32020: const size_type __tmp_capacity = __s._M_allocated_capacity; 32020: traits_type::copy(__s._M_local_buf, _M_local_buf, 32020: _S_local_capacity + 1); 32020: _M_data(__s._M_data()); 32020: __s._M_data(__s._M_local_buf); 32020: _M_capacity(__tmp_capacity); 32020: } 32020: else 32020: { 32020: const size_type __tmp_capacity = _M_allocated_capacity; 32020: if (__s._M_is_local()) 32020: { 32020: traits_type::copy(_M_local_buf, __s._M_local_buf, 32020: _S_local_capacity + 1); 32020: __s._M_data(_M_data()); 32020: _M_data(_M_local_buf); 32020: } 32020: else 32020: { 32020: pointer __tmp_ptr = _M_data(); 32020: _M_data(__s._M_data()); 32020: __s._M_data(__tmp_ptr); 32020: _M_capacity(__s._M_allocated_capacity); 32020: } 32020: __s._M_capacity(__tmp_capacity); 32020: } 32020: 32020: const size_type __tmp_length = length(); 32020: _M_length(__s.length()); 32020: __s._M_length(__tmp_length); 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::pointer 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_create(size_type& __capacity, size_type __old_capacity) 32020: { 32020: 32020: 32020: if (__capacity > max_size()) 32020: std::__throw_length_error(("basic_string::_M_create")); 32020: 32020: 32020: 32020: 32020: if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) 32020: { 32020: __capacity = 2 * __old_capacity; 32020: 32020: if (__capacity > max_size()) 32020: __capacity = max_size(); 32020: } 32020: 32020: 32020: 32020: return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_construct(_InIterator __beg, _InIterator __end, 32020: std::input_iterator_tag) 32020: { 32020: size_type __len = 0; 32020: size_type __capacity = size_type(_S_local_capacity); 32020: 32020: while (__beg != __end && __len < __capacity) 32020: { 32020: _M_data()[__len++] = *__beg; 32020: ++__beg; 32020: } 32020: 32020: try 32020: { 32020: while (__beg != __end) 32020: { 32020: if (__len == __capacity) 32020: { 32020: 32020: __capacity = __len + 1; 32020: pointer __another = _M_create(__capacity, __len); 32020: this->_S_copy(__another, _M_data(), __len); 32020: _M_dispose(); 32020: _M_data(__another); 32020: _M_capacity(__capacity); 32020: } 32020: _M_data()[__len++] = *__beg; 32020: ++__beg; 32020: } 32020: } 32020: catch(...) 32020: { 32020: _M_dispose(); 32020: throw; 32020: } 32020: 32020: _M_set_length(__len); 32020: } 32020: 32020: template 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_construct(_InIterator __beg, _InIterator __end, 32020: std::forward_iterator_tag) 32020: { 32020: 32020: if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) 32020: std::__throw_logic_error(("basic_string::" "_M_construct null not valid") 32020: ); 32020: 32020: size_type __dnew = static_cast(std::distance(__beg, __end)); 32020: 32020: if (__dnew > size_type(_S_local_capacity)) 32020: { 32020: _M_data(_M_create(__dnew, size_type(0))); 32020: _M_capacity(__dnew); 32020: } 32020: 32020: 32020: try 32020: { this->_S_copy_chars(_M_data(), __beg, __end); } 32020: catch(...) 32020: { 32020: _M_dispose(); 32020: throw; 32020: } 32020: 32020: _M_set_length(__dnew); 32020: } 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_construct(size_type __n, _CharT __c) 32020: { 32020: if (__n > size_type(_S_local_capacity)) 32020: { 32020: _M_data(_M_create(__n, size_type(0))); 32020: _M_capacity(__n); 32020: } 32020: 32020: if (__n) 32020: this->_S_assign(_M_data(), __n, __c); 32020: 32020: _M_set_length(__n); 32020: } 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_assign(const basic_string& __str) 32020: { 32020: if (this != &__str) 32020: { 32020: const size_type __rsize = __str.length(); 32020: const size_type __capacity = capacity(); 32020: 32020: if (__rsize > __capacity) 32020: { 32020: size_type __new_capacity = __rsize; 32020: pointer __tmp = _M_create(__new_capacity, __capacity); 32020: _M_dispose(); 32020: _M_data(__tmp); 32020: _M_capacity(__new_capacity); 32020: } 32020: 32020: if (__rsize) 32020: this->_S_copy(_M_data(), __str._M_data(), __rsize); 32020: 32020: _M_set_length(__rsize); 32020: } 32020: } 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: reserve(size_type __res) 32020: { 32020: 32020: if (__res < length()) 32020: __res = length(); 32020: 32020: const size_type __capacity = capacity(); 32020: if (__res != __capacity) 32020: { 32020: if (__res > __capacity 32020: || __res > size_type(_S_local_capacity)) 32020: { 32020: pointer __tmp = _M_create(__res, __capacity); 32020: this->_S_copy(__tmp, _M_data(), length() + 1); 32020: _M_dispose(); 32020: _M_data(__tmp); 32020: _M_capacity(__res); 32020: } 32020: else if (!_M_is_local()) 32020: { 32020: this->_S_copy(_M_local_data(), _M_data(), length() + 1); 32020: _M_destroy(__capacity); 32020: _M_data(_M_local_data()); 32020: } 32020: } 32020: } 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 32020: size_type __len2) 32020: { 32020: const size_type __how_much = length() - __pos - __len1; 32020: 32020: size_type __new_capacity = length() + __len2 - __len1; 32020: pointer __r = _M_create(__new_capacity, capacity()); 32020: 32020: if (__pos) 32020: this->_S_copy(__r, _M_data(), __pos); 32020: if (__s && __len2) 32020: this->_S_copy(__r + __pos, __s, __len2); 32020: if (__how_much) 32020: this->_S_copy(__r + __pos + __len2, 32020: _M_data() + __pos + __len1, __how_much); 32020: 32020: _M_dispose(); 32020: _M_data(__r); 32020: _M_capacity(__new_capacity); 32020: } 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_erase(size_type __pos, size_type __n) 32020: { 32020: const size_type __how_much = length() - __pos - __n; 32020: 32020: if (__how_much && __n) 32020: this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); 32020: 32020: _M_set_length(length() - __n); 32020: } 32020: 32020: template 32020: void 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: resize(size_type __n, _CharT __c) 32020: { 32020: const size_type __size = this->size(); 32020: if (__size < __n) 32020: this->append(__n - __size, __c); 32020: else if (__n < __size) 32020: this->_M_set_length(__n); 32020: } 32020: 32020: template 32020: basic_string<_CharT, _Traits, _Alloc>& 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_append(const _CharT* __s, size_type __n) 32020: { 32020: const size_type __len = __n + this->size(); 32020: 32020: if (__len <= this->capacity()) 32020: { 32020: if (__n) 32020: this->_S_copy(this->_M_data() + this->size(), __s, __n); 32020: } 32020: else 32020: this->_M_mutate(this->size(), size_type(0), __s, __n); 32020: 32020: this->_M_set_length(__len); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: basic_string<_CharT, _Traits, _Alloc>& 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 32020: _InputIterator __k1, _InputIterator __k2, 32020: std::__false_type) 32020: { 32020: 32020: 32020: const basic_string __s(__k1, __k2, this->get_allocator()); 32020: const size_type __n1 = __i2 - __i1; 32020: return _M_replace(__i1 - begin(), __n1, __s._M_data(), 32020: __s.size()); 32020: } 32020: 32020: template 32020: basic_string<_CharT, _Traits, _Alloc>& 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 32020: _CharT __c) 32020: { 32020: _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); 32020: 32020: const size_type __old_size = this->size(); 32020: const size_type __new_size = __old_size + __n2 - __n1; 32020: 32020: if (__new_size <= this->capacity()) 32020: { 32020: pointer __p = this->_M_data() + __pos1; 32020: 32020: const size_type __how_much = __old_size - __pos1 - __n1; 32020: if (__how_much && __n1 != __n2) 32020: this->_S_move(__p + __n2, __p + __n1, __how_much); 32020: } 32020: else 32020: this->_M_mutate(__pos1, __n1, 0, __n2); 32020: 32020: if (__n2) 32020: this->_S_assign(this->_M_data() + __pos1, __n2, __c); 32020: 32020: this->_M_set_length(__new_size); 32020: return *this; 32020: } 32020: 32020: template 32020: basic_string<_CharT, _Traits, _Alloc>& 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 32020: const size_type __len2) 32020: { 32020: _M_check_length(__len1, __len2, "basic_string::_M_replace"); 32020: 32020: const size_type __old_size = this->size(); 32020: const size_type __new_size = __old_size + __len2 - __len1; 32020: 32020: if (__new_size <= this->capacity()) 32020: { 32020: pointer __p = this->_M_data() + __pos; 32020: 32020: const size_type __how_much = __old_size - __pos - __len1; 32020: if (_M_disjunct(__s)) 32020: { 32020: if (__how_much && __len1 != __len2) 32020: this->_S_move(__p + __len2, __p + __len1, __how_much); 32020: if (__len2) 32020: this->_S_copy(__p, __s, __len2); 32020: } 32020: else 32020: { 32020: 32020: if (__len2 && __len2 <= __len1) 32020: this->_S_move(__p, __s, __len2); 32020: if (__how_much && __len1 != __len2) 32020: this->_S_move(__p + __len2, __p + __len1, __how_much); 32020: if (__len2 > __len1) 32020: { 32020: if (__s + __len2 <= __p + __len1) 32020: this->_S_move(__p, __s, __len2); 32020: else if (__s >= __p + __len1) 32020: this->_S_copy(__p, __s + __len2 - __len1, __len2); 32020: else 32020: { 32020: const size_type __nleft = (__p + __len1) - __s; 32020: this->_S_move(__p, __s, __nleft); 32020: this->_S_copy(__p + __nleft, __p + __len2, 32020: __len2 - __nleft); 32020: } 32020: } 32020: } 32020: } 32020: else 32020: this->_M_mutate(__pos, __len1, __s, __len2); 32020: 32020: this->_M_set_length(__new_size); 32020: return *this; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: copy(_CharT* __s, size_type __n, size_type __pos) const 32020: { 32020: _M_check(__pos, "basic_string::copy"); 32020: __n = _M_limit(__pos, __n); 32020: ; 32020: if (__n) 32020: _S_copy(__s, _M_data() + __pos, __n); 32020: 32020: return __n; 32020: } 32020: # 1150 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.tcc" 3 32020: template 32020: basic_string<_CharT, _Traits, _Alloc> 32020: operator+(const _CharT* __lhs, 32020: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { 32020: ; 32020: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 32020: typedef typename __string_type::size_type __size_type; 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_CharT>::other _Char_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; 32020: const __size_type __len = _Traits::length(__lhs); 32020: __string_type __str(_Alloc_traits::_S_select_on_copy( 32020: __rhs.get_allocator())); 32020: __str.reserve(__len + __rhs.size()); 32020: __str.append(__lhs, __len); 32020: __str.append(__rhs); 32020: return __str; 32020: } 32020: 32020: template 32020: basic_string<_CharT, _Traits, _Alloc> 32020: operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) 32020: { 32020: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 32020: typedef typename __string_type::size_type __size_type; 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_CharT>::other _Char_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; 32020: __string_type __str(_Alloc_traits::_S_select_on_copy( 32020: __rhs.get_allocator())); 32020: const __size_type __len = __rhs.size(); 32020: __str.reserve(__len + 1); 32020: __str.append(__size_type(1), __lhs); 32020: __str.append(__rhs); 32020: return __str; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept 32020: { 32020: ; 32020: const size_type __size = this->size(); 32020: 32020: if (__n == 0) 32020: return __pos <= __size ? __pos : npos; 32020: if (__pos >= __size) 32020: return npos; 32020: 32020: const _CharT __elem0 = __s[0]; 32020: const _CharT* const __data = data(); 32020: const _CharT* __first = __data + __pos; 32020: const _CharT* const __last = __data + __size; 32020: size_type __len = __size - __pos; 32020: 32020: while (__len >= __n) 32020: { 32020: 32020: __first = traits_type::find(__first, __len - __n + 1, __elem0); 32020: if (!__first) 32020: return npos; 32020: 32020: 32020: 32020: if (traits_type::compare(__first, __s, __n) == 0) 32020: return __first - __data; 32020: __len = __last - ++__first; 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find(_CharT __c, size_type __pos) const noexcept 32020: { 32020: size_type __ret = npos; 32020: const size_type __size = this->size(); 32020: if (__pos < __size) 32020: { 32020: const _CharT* __data = _M_data(); 32020: const size_type __n = __size - __pos; 32020: const _CharT* __p = traits_type::find(__data + __pos, __n, __c); 32020: if (__p) 32020: __ret = __p - __data; 32020: } 32020: return __ret; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: rfind(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept 32020: { 32020: ; 32020: const size_type __size = this->size(); 32020: if (__n <= __size) 32020: { 32020: __pos = std::min(size_type(__size - __n), __pos); 32020: const _CharT* __data = _M_data(); 32020: do 32020: { 32020: if (traits_type::compare(__data + __pos, __s, __n) == 0) 32020: return __pos; 32020: } 32020: while (__pos-- > 0); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: rfind(_CharT __c, size_type __pos) const noexcept 32020: { 32020: size_type __size = this->size(); 32020: if (__size) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: for (++__size; __size-- > 0; ) 32020: if (traits_type::eq(_M_data()[__size], __c)) 32020: return __size; 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept 32020: { 32020: ; 32020: for (; __n && __pos < this->size(); ++__pos) 32020: { 32020: const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); 32020: if (__p) 32020: return __pos; 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept 32020: { 32020: ; 32020: size_type __size = this->size(); 32020: if (__size && __n) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: do 32020: { 32020: if (traits_type::find(__s, __n, _M_data()[__size])) 32020: return __size; 32020: } 32020: while (__size-- != 0); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept 32020: { 32020: ; 32020: for (; __pos < this->size(); ++__pos) 32020: if (!traits_type::find(__s, __n, _M_data()[__pos])) 32020: return __pos; 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find_first_not_of(_CharT __c, size_type __pos) const noexcept 32020: { 32020: for (; __pos < this->size(); ++__pos) 32020: if (!traits_type::eq(_M_data()[__pos], __c)) 32020: return __pos; 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const 32020: noexcept 32020: { 32020: ; 32020: size_type __size = this->size(); 32020: if (__size) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: do 32020: { 32020: if (!traits_type::find(__s, __n, _M_data()[__size])) 32020: return __size; 32020: } 32020: while (__size--); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: typename basic_string<_CharT, _Traits, _Alloc>::size_type 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: find_last_not_of(_CharT __c, size_type __pos) const noexcept 32020: { 32020: size_type __size = this->size(); 32020: if (__size) 32020: { 32020: if (--__size > __pos) 32020: __size = __pos; 32020: do 32020: { 32020: if (!traits_type::eq(_M_data()[__size], __c)) 32020: return __size; 32020: } 32020: while (__size--); 32020: } 32020: return npos; 32020: } 32020: 32020: template 32020: int 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: compare(size_type __pos, size_type __n, const basic_string& __str) const 32020: { 32020: _M_check(__pos, "basic_string::compare"); 32020: __n = _M_limit(__pos, __n); 32020: const size_type __osize = __str.size(); 32020: const size_type __len = std::min(__n, __osize); 32020: int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); 32020: if (!__r) 32020: __r = _S_compare(__n, __osize); 32020: return __r; 32020: } 32020: 32020: template 32020: int 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: compare(size_type __pos1, size_type __n1, const basic_string& __str, 32020: size_type __pos2, size_type __n2) const 32020: { 32020: _M_check(__pos1, "basic_string::compare"); 32020: __str._M_check(__pos2, "basic_string::compare"); 32020: __n1 = _M_limit(__pos1, __n1); 32020: __n2 = __str._M_limit(__pos2, __n2); 32020: const size_type __len = std::min(__n1, __n2); 32020: int __r = traits_type::compare(_M_data() + __pos1, 32020: __str.data() + __pos2, __len); 32020: if (!__r) 32020: __r = _S_compare(__n1, __n2); 32020: return __r; 32020: } 32020: 32020: template 32020: int 32020: basic_string<_CharT, _Traits, _Alloc>:: 32020: compare(const _CharT* __s) const noexcept 32020: { 32020: ; 32020: const size_type __size = this->size(); 32020: const size_type __osize = traits_type::length(__s); 32020: const size_type __len = std::min(__size, __osize); 32020: int __r = traits_type::compare(_M_data(), __s, __len); 32020: if (!__r) 32020: __r = _S_compare(__size, __osize); 32020: return __r; 32020: } 32020: 32020: template 32020: int 32020: basic_string <_CharT, _Traits, _Alloc>:: 32020: compare(size_type __pos, size_type __n1, const _CharT* __s) const 32020: { 32020: ; 32020: _M_check(__pos, "basic_string::compare"); 32020: __n1 = _M_limit(__pos, __n1); 32020: const size_type __osize = traits_type::length(__s); 32020: const size_type __len = std::min(__n1, __osize); 32020: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 32020: if (!__r) 32020: __r = _S_compare(__n1, __osize); 32020: return __r; 32020: } 32020: 32020: template 32020: int 32020: basic_string <_CharT, _Traits, _Alloc>:: 32020: compare(size_type __pos, size_type __n1, const _CharT* __s, 32020: size_type __n2) const 32020: { 32020: ; 32020: _M_check(__pos, "basic_string::compare"); 32020: __n1 = _M_limit(__pos, __n1); 32020: const size_type __len = std::min(__n1, __n2); 32020: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 32020: if (!__r) 32020: __r = _S_compare(__n1, __n2); 32020: return __r; 32020: } 32020: 32020: 32020: template 32020: basic_istream<_CharT, _Traits>& 32020: operator>>(basic_istream<_CharT, _Traits>& __in, 32020: basic_string<_CharT, _Traits, _Alloc>& __str) 32020: { 32020: typedef basic_istream<_CharT, _Traits> __istream_type; 32020: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 32020: typedef typename __istream_type::ios_base __ios_base; 32020: typedef typename __istream_type::int_type __int_type; 32020: typedef typename __string_type::size_type __size_type; 32020: typedef ctype<_CharT> __ctype_type; 32020: typedef typename __ctype_type::ctype_base __ctype_base; 32020: 32020: __size_type __extracted = 0; 32020: typename __ios_base::iostate __err = __ios_base::goodbit; 32020: typename __istream_type::sentry __cerb(__in, false); 32020: if (__cerb) 32020: { 32020: try 32020: { 32020: 32020: __str.erase(); 32020: _CharT __buf[128]; 32020: __size_type __len = 0; 32020: const streamsize __w = __in.width(); 32020: const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) 32020: : __str.max_size(); 32020: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 32020: const __int_type __eof = _Traits::eof(); 32020: __int_type __c = __in.rdbuf()->sgetc(); 32020: 32020: while (__extracted < __n 32020: && !_Traits::eq_int_type(__c, __eof) 32020: && !__ct.is(__ctype_base::space, 32020: _Traits::to_char_type(__c))) 32020: { 32020: if (__len == sizeof(__buf) / sizeof(_CharT)) 32020: { 32020: __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); 32020: __len = 0; 32020: } 32020: __buf[__len++] = _Traits::to_char_type(__c); 32020: ++__extracted; 32020: __c = __in.rdbuf()->snextc(); 32020: } 32020: __str.append(__buf, __len); 32020: 32020: if (_Traits::eq_int_type(__c, __eof)) 32020: __err |= __ios_base::eofbit; 32020: __in.width(0); 32020: } 32020: catch(__cxxabiv1::__forced_unwind&) 32020: { 32020: __in._M_setstate(__ios_base::badbit); 32020: throw; 32020: } 32020: catch(...) 32020: { 32020: 32020: 32020: 32020: __in._M_setstate(__ios_base::badbit); 32020: } 32020: } 32020: 32020: if (!__extracted) 32020: __err |= __ios_base::failbit; 32020: if (__err) 32020: __in.setstate(__err); 32020: return __in; 32020: } 32020: 32020: template 32020: basic_istream<_CharT, _Traits>& 32020: getline(basic_istream<_CharT, _Traits>& __in, 32020: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 32020: { 32020: typedef basic_istream<_CharT, _Traits> __istream_type; 32020: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 32020: typedef typename __istream_type::ios_base __ios_base; 32020: typedef typename __istream_type::int_type __int_type; 32020: typedef typename __string_type::size_type __size_type; 32020: 32020: __size_type __extracted = 0; 32020: const __size_type __n = __str.max_size(); 32020: typename __ios_base::iostate __err = __ios_base::goodbit; 32020: typename __istream_type::sentry __cerb(__in, true); 32020: if (__cerb) 32020: { 32020: try 32020: { 32020: __str.erase(); 32020: const __int_type __idelim = _Traits::to_int_type(__delim); 32020: const __int_type __eof = _Traits::eof(); 32020: __int_type __c = __in.rdbuf()->sgetc(); 32020: 32020: while (__extracted < __n 32020: && !_Traits::eq_int_type(__c, __eof) 32020: && !_Traits::eq_int_type(__c, __idelim)) 32020: { 32020: __str += _Traits::to_char_type(__c); 32020: ++__extracted; 32020: __c = __in.rdbuf()->snextc(); 32020: } 32020: 32020: if (_Traits::eq_int_type(__c, __eof)) 32020: __err |= __ios_base::eofbit; 32020: else if (_Traits::eq_int_type(__c, __idelim)) 32020: { 32020: ++__extracted; 32020: __in.rdbuf()->sbumpc(); 32020: } 32020: else 32020: __err |= __ios_base::failbit; 32020: } 32020: catch(__cxxabiv1::__forced_unwind&) 32020: { 32020: __in._M_setstate(__ios_base::badbit); 32020: throw; 32020: } 32020: catch(...) 32020: { 32020: 32020: 32020: 32020: __in._M_setstate(__ios_base::badbit); 32020: } 32020: } 32020: if (!__extracted) 32020: __err |= __ios_base::failbit; 32020: if (__err) 32020: __in.setstate(__err); 32020: return __in; 32020: } 32020: # 1610 "/usr/arm-linux-gnueabihf/include/c++/10/bits/basic_string.tcc" 3 32020: extern template class basic_string; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern template 32020: basic_istream& 32020: operator>>(basic_istream&, string&); 32020: extern template 32020: basic_ostream& 32020: operator<<(basic_ostream&, const string&); 32020: extern template 32020: basic_istream& 32020: getline(basic_istream&, string&, char); 32020: extern template 32020: basic_istream& 32020: getline(basic_istream&, string&); 32020: 32020: 32020: 32020: extern template class basic_string; 32020: 32020: 32020: 32020: 32020: 32020: extern template 32020: basic_istream& 32020: operator>>(basic_istream&, wstring&); 32020: extern template 32020: basic_ostream& 32020: operator<<(basic_ostream&, const wstring&); 32020: extern template 32020: basic_istream& 32020: getline(basic_istream&, wstring&, wchar_t); 32020: extern template 32020: basic_istream& 32020: getline(basic_istream&, wstring&); 32020: 32020: 32020: 32020: 32020: } 32020: # 57 "/usr/arm-linux-gnueabihf/include/c++/10/string" 2 3 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace pmr { 32020: template class polymorphic_allocator; 32020: template> 32020: using basic_string = std::basic_string<_CharT, _Traits, 32020: polymorphic_allocator<_CharT>>; 32020: using string = basic_string; 32020: 32020: 32020: 32020: using u16string = basic_string; 32020: using u32string = basic_string; 32020: 32020: using wstring = basic_string; 32020: 32020: } 32020: 32020: template 32020: struct __hash_string_base 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const _Str& __s) const noexcept 32020: { return hash>{}(__s); } 32020: }; 32020: 32020: template<> 32020: struct hash 32020: : public __hash_string_base 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_string_base 32020: { }; 32020: template<> 32020: struct hash 32020: : public __hash_string_base 32020: { }; 32020: 32020: template<> 32020: struct hash 32020: : public __hash_string_base 32020: { }; 32020: 32020: 32020: 32020: } 32020: # 6 "/<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 1 3 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 3 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 1 3 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 3 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 3 32020: # 69 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_relops.h" 1 3 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_relops.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: namespace rel_ops 32020: { 32020: # 85 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_relops.h" 3 32020: template 32020: inline bool 32020: operator!=(const _Tp& __x, const _Tp& __y) 32020: { return !(__x == __y); } 32020: # 98 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_relops.h" 3 32020: template 32020: inline bool 32020: operator>(const _Tp& __x, const _Tp& __y) 32020: { return __y < __x; } 32020: # 111 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_relops.h" 3 32020: template 32020: inline bool 32020: operator<=(const _Tp& __x, const _Tp& __y) 32020: { return !(__y < __x); } 32020: # 124 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_relops.h" 3 32020: template 32020: inline bool 32020: operator>=(const _Tp& __x, const _Tp& __y) 32020: { return !(__x < __y); } 32020: } 32020: 32020: 32020: } 32020: # 70 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 2 3 32020: # 82 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: struct tuple_size; 32020: 32020: 32020: 32020: 32020: 32020: template::type, 32020: typename = typename enable_if::value>::type, 32020: size_t = tuple_size<_Tp>::value> 32020: using __enable_if_has_tuple_size = _Tp; 32020: 32020: template 32020: struct tuple_size> 32020: : public tuple_size<_Tp> { }; 32020: 32020: template 32020: struct tuple_size> 32020: : public tuple_size<_Tp> { }; 32020: 32020: template 32020: struct tuple_size> 32020: : public tuple_size<_Tp> { }; 32020: 32020: 32020: template 32020: struct tuple_element; 32020: 32020: 32020: template 32020: using __tuple_element_t = typename tuple_element<__i, _Tp>::type; 32020: 32020: template 32020: struct tuple_element<__i, const _Tp> 32020: { 32020: typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type; 32020: }; 32020: 32020: template 32020: struct tuple_element<__i, volatile _Tp> 32020: { 32020: typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type; 32020: }; 32020: 32020: template 32020: struct tuple_element<__i, const volatile _Tp> 32020: { 32020: typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: using tuple_element_t = typename tuple_element<__i, _Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_tuple_like_impl> : true_type 32020: { }; 32020: 32020: 32020: template 32020: struct tuple_size> 32020: : public integral_constant { }; 32020: 32020: 32020: template 32020: struct tuple_element<0, std::pair<_Tp1, _Tp2>> 32020: { typedef _Tp1 type; }; 32020: 32020: 32020: template 32020: struct tuple_element<1, std::pair<_Tp1, _Tp2>> 32020: { typedef _Tp2 type; }; 32020: 32020: template 32020: struct __pair_get; 32020: 32020: template<> 32020: struct __pair_get<0> 32020: { 32020: template 32020: static constexpr _Tp1& 32020: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 32020: { return __pair.first; } 32020: 32020: template 32020: static constexpr _Tp1&& 32020: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 32020: { return std::forward<_Tp1>(__pair.first); } 32020: 32020: template 32020: static constexpr const _Tp1& 32020: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 32020: { return __pair.first; } 32020: 32020: template 32020: static constexpr const _Tp1&& 32020: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 32020: { return std::forward(__pair.first); } 32020: }; 32020: 32020: template<> 32020: struct __pair_get<1> 32020: { 32020: template 32020: static constexpr _Tp2& 32020: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 32020: { return __pair.second; } 32020: 32020: template 32020: static constexpr _Tp2&& 32020: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 32020: { return std::forward<_Tp2>(__pair.second); } 32020: 32020: template 32020: static constexpr const _Tp2& 32020: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 32020: { return __pair.second; } 32020: 32020: template 32020: static constexpr const _Tp2&& 32020: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 32020: { return std::forward(__pair.second); } 32020: }; 32020: 32020: template 32020: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 32020: get(std::pair<_Tp1, _Tp2>& __in) noexcept 32020: { return __pair_get<_Int>::__get(__in); } 32020: 32020: template 32020: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 32020: get(std::pair<_Tp1, _Tp2>&& __in) noexcept 32020: { return __pair_get<_Int>::__move_get(std::move(__in)); } 32020: 32020: template 32020: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 32020: get(const std::pair<_Tp1, _Tp2>& __in) noexcept 32020: { return __pair_get<_Int>::__const_get(__in); } 32020: 32020: template 32020: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 32020: get(const std::pair<_Tp1, _Tp2>&& __in) noexcept 32020: { return __pair_get<_Int>::__const_move_get(std::move(__in)); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr _Tp& 32020: get(pair<_Tp, _Up>& __p) noexcept 32020: { return __p.first; } 32020: 32020: template 32020: constexpr const _Tp& 32020: get(const pair<_Tp, _Up>& __p) noexcept 32020: { return __p.first; } 32020: 32020: template 32020: constexpr _Tp&& 32020: get(pair<_Tp, _Up>&& __p) noexcept 32020: { return std::move(__p.first); } 32020: 32020: template 32020: constexpr const _Tp&& 32020: get(const pair<_Tp, _Up>&& __p) noexcept 32020: { return std::move(__p.first); } 32020: 32020: template 32020: constexpr _Tp& 32020: get(pair<_Up, _Tp>& __p) noexcept 32020: { return __p.second; } 32020: 32020: template 32020: constexpr const _Tp& 32020: get(const pair<_Up, _Tp>& __p) noexcept 32020: { return __p.second; } 32020: 32020: template 32020: constexpr _Tp&& 32020: get(pair<_Up, _Tp>&& __p) noexcept 32020: { return std::move(__p.second); } 32020: 32020: template 32020: constexpr const _Tp&& 32020: get(const pair<_Up, _Tp>&& __p) noexcept 32020: { return std::move(__p.second); } 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline _Tp 32020: exchange(_Tp& __obj, _Up&& __new_val) 32020: { return std::__exchange(__obj, std::forward<_Up>(__new_val)); } 32020: 32020: 32020: 32020: 32020: 32020: template struct _Index_tuple { }; 32020: # 307 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 3 32020: template 32020: struct _Build_index_tuple 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: using __type = _Index_tuple<__integer_pack(_Num)...>; 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct integer_sequence 32020: { 32020: typedef _Tp value_type; 32020: static constexpr size_t size() noexcept { return sizeof...(_Idx); } 32020: }; 32020: 32020: 32020: template 32020: using make_integer_sequence 32020: 32020: 32020: 32020: = integer_sequence<_Tp, __integer_pack(_Num)...>; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: using index_sequence = integer_sequence; 32020: 32020: 32020: template 32020: using make_index_sequence = make_integer_sequence; 32020: 32020: 32020: template 32020: using index_sequence_for = make_index_sequence; 32020: 32020: 32020: 32020: 32020: struct in_place_t { 32020: explicit in_place_t() = default; 32020: }; 32020: 32020: inline constexpr in_place_t in_place{}; 32020: 32020: template struct in_place_type_t 32020: { 32020: explicit in_place_type_t() = default; 32020: }; 32020: 32020: template 32020: inline constexpr in_place_type_t<_Tp> in_place_type{}; 32020: 32020: template struct in_place_index_t 32020: { 32020: explicit in_place_index_t() = default; 32020: }; 32020: 32020: template 32020: inline constexpr in_place_index_t<_Idx> in_place_index{}; 32020: 32020: template 32020: struct __is_in_place_type_impl : false_type 32020: { }; 32020: 32020: template 32020: struct __is_in_place_type_impl> : true_type 32020: { }; 32020: 32020: template 32020: struct __is_in_place_type 32020: : public __is_in_place_type_impl<_Tp> 32020: { }; 32020: 32020: 32020: template 32020: constexpr add_const_t<_Tp>& as_const(_Tp& __t) noexcept { return __t; } 32020: 32020: template 32020: void as_const(const _Tp&&) = delete; 32020: # 473 "/usr/arm-linux-gnueabihf/include/c++/10/utility" 3 32020: 32020: } 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 1 3 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 199 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 3 32020: template 32020: 32020: bool 32020: all_of(_IIter, _IIter, _Predicate); 32020: 32020: template 32020: 32020: bool 32020: any_of(_IIter, _IIter, _Predicate); 32020: 32020: 32020: template 32020: 32020: bool 32020: binary_search(_FIter, _FIter, const _Tp&); 32020: 32020: template 32020: 32020: bool 32020: binary_search(_FIter, _FIter, const _Tp&, _Compare); 32020: 32020: 32020: template 32020: constexpr 32020: const _Tp& 32020: clamp(const _Tp&, const _Tp&, const _Tp&); 32020: 32020: template 32020: constexpr 32020: const _Tp& 32020: clamp(const _Tp&, const _Tp&, const _Tp&, _Compare); 32020: 32020: 32020: template 32020: 32020: _OIter 32020: copy(_IIter, _IIter, _OIter); 32020: 32020: template 32020: 32020: _BIter2 32020: copy_backward(_BIter1, _BIter1, _BIter2); 32020: 32020: 32020: template 32020: 32020: _OIter 32020: copy_if(_IIter, _IIter, _OIter, _Predicate); 32020: 32020: template 32020: 32020: _OIter 32020: copy_n(_IIter, _Size, _OIter); 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: pair<_FIter, _FIter> 32020: equal_range(_FIter, _FIter, const _Tp&); 32020: 32020: template 32020: 32020: pair<_FIter, _FIter> 32020: equal_range(_FIter, _FIter, const _Tp&, _Compare); 32020: 32020: template 32020: 32020: void 32020: fill(_FIter, _FIter, const _Tp&); 32020: 32020: template 32020: 32020: _OIter 32020: fill_n(_OIter, _Size, const _Tp&); 32020: 32020: 32020: 32020: template 32020: 32020: _FIter1 32020: find_end(_FIter1, _FIter1, _FIter2, _FIter2); 32020: 32020: template 32020: 32020: _FIter1 32020: find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _IIter 32020: find_if_not(_IIter, _IIter, _Predicate); 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: bool 32020: includes(_IIter1, _IIter1, _IIter2, _IIter2); 32020: 32020: template 32020: 32020: bool 32020: includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 32020: 32020: template 32020: void 32020: inplace_merge(_BIter, _BIter, _BIter); 32020: 32020: template 32020: void 32020: inplace_merge(_BIter, _BIter, _BIter, _Compare); 32020: 32020: 32020: template 32020: 32020: bool 32020: is_heap(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: bool 32020: is_heap(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: 32020: _RAIter 32020: is_heap_until(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: _RAIter 32020: is_heap_until(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: 32020: bool 32020: is_partitioned(_IIter, _IIter, _Predicate); 32020: 32020: template 32020: 32020: bool 32020: is_permutation(_FIter1, _FIter1, _FIter2); 32020: 32020: template 32020: 32020: bool 32020: is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate); 32020: 32020: template 32020: 32020: bool 32020: is_sorted(_FIter, _FIter); 32020: 32020: template 32020: 32020: bool 32020: is_sorted(_FIter, _FIter, _Compare); 32020: 32020: template 32020: 32020: _FIter 32020: is_sorted_until(_FIter, _FIter); 32020: 32020: template 32020: 32020: _FIter 32020: is_sorted_until(_FIter, _FIter, _Compare); 32020: 32020: 32020: template 32020: 32020: void 32020: iter_swap(_FIter1, _FIter2); 32020: 32020: template 32020: 32020: _FIter 32020: lower_bound(_FIter, _FIter, const _Tp&); 32020: 32020: template 32020: 32020: _FIter 32020: lower_bound(_FIter, _FIter, const _Tp&, _Compare); 32020: 32020: template 32020: 32020: void 32020: make_heap(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: make_heap(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: constexpr 32020: const _Tp& 32020: max(const _Tp&, const _Tp&); 32020: 32020: template 32020: constexpr 32020: const _Tp& 32020: max(const _Tp&, const _Tp&, _Compare); 32020: 32020: 32020: 32020: 32020: template 32020: constexpr 32020: const _Tp& 32020: min(const _Tp&, const _Tp&); 32020: 32020: template 32020: constexpr 32020: const _Tp& 32020: min(const _Tp&, const _Tp&, _Compare); 32020: 32020: 32020: 32020: 32020: template 32020: constexpr 32020: pair 32020: minmax(const _Tp&, const _Tp&); 32020: 32020: template 32020: constexpr 32020: pair 32020: minmax(const _Tp&, const _Tp&, _Compare); 32020: 32020: template 32020: constexpr 32020: pair<_FIter, _FIter> 32020: minmax_element(_FIter, _FIter); 32020: 32020: template 32020: constexpr 32020: pair<_FIter, _FIter> 32020: minmax_element(_FIter, _FIter, _Compare); 32020: 32020: template 32020: constexpr 32020: _Tp 32020: min(initializer_list<_Tp>); 32020: 32020: template 32020: constexpr 32020: _Tp 32020: min(initializer_list<_Tp>, _Compare); 32020: 32020: template 32020: constexpr 32020: _Tp 32020: max(initializer_list<_Tp>); 32020: 32020: template 32020: constexpr 32020: _Tp 32020: max(initializer_list<_Tp>, _Compare); 32020: 32020: template 32020: constexpr 32020: pair<_Tp, _Tp> 32020: minmax(initializer_list<_Tp>); 32020: 32020: template 32020: constexpr 32020: pair<_Tp, _Tp> 32020: minmax(initializer_list<_Tp>, _Compare); 32020: 32020: 32020: 32020: 32020: template 32020: 32020: bool 32020: next_permutation(_BIter, _BIter); 32020: 32020: template 32020: 32020: bool 32020: next_permutation(_BIter, _BIter, _Compare); 32020: 32020: 32020: template 32020: 32020: bool 32020: none_of(_IIter, _IIter, _Predicate); 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _RAIter 32020: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); 32020: 32020: template 32020: 32020: _RAIter 32020: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); 32020: 32020: 32020: 32020: 32020: template 32020: 32020: pair<_OIter1, _OIter2> 32020: partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate); 32020: 32020: template 32020: 32020: _FIter 32020: partition_point(_FIter, _FIter, _Predicate); 32020: 32020: 32020: template 32020: 32020: void 32020: pop_heap(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: pop_heap(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: 32020: bool 32020: prev_permutation(_BIter, _BIter); 32020: 32020: template 32020: 32020: bool 32020: prev_permutation(_BIter, _BIter, _Compare); 32020: 32020: template 32020: 32020: void 32020: push_heap(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: push_heap(_RAIter, _RAIter, _Compare); 32020: 32020: 32020: 32020: template 32020: 32020: _FIter 32020: remove(_FIter, _FIter, const _Tp&); 32020: 32020: template 32020: 32020: _FIter 32020: remove_if(_FIter, _FIter, _Predicate); 32020: 32020: template 32020: 32020: _OIter 32020: remove_copy(_IIter, _IIter, _OIter, const _Tp&); 32020: 32020: template 32020: 32020: _OIter 32020: remove_copy_if(_IIter, _IIter, _OIter, _Predicate); 32020: 32020: 32020: 32020: template 32020: 32020: _OIter 32020: replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); 32020: 32020: template 32020: 32020: _OIter 32020: replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); 32020: 32020: 32020: 32020: template 32020: 32020: void 32020: reverse(_BIter, _BIter); 32020: 32020: template 32020: 32020: _OIter 32020: reverse_copy(_BIter, _BIter, _OIter); 32020: 32020: inline namespace _V2 32020: { 32020: template 32020: 32020: _FIter 32020: rotate(_FIter, _FIter, _FIter); 32020: } 32020: 32020: template 32020: 32020: _OIter 32020: rotate_copy(_FIter, _FIter, _FIter, _OIter); 32020: # 625 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 3 32020: template 32020: void 32020: shuffle(_RAIter, _RAIter, _UGenerator&&); 32020: 32020: 32020: template 32020: 32020: void 32020: sort_heap(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: sort_heap(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: _BIter 32020: stable_partition(_BIter, _BIter, _Predicate); 32020: # 658 "/usr/arm-linux-gnueabihf/include/c++/10/bits/algorithmfwd.h" 3 32020: template 32020: 32020: _FIter2 32020: swap_ranges(_FIter1, _FIter1, _FIter2); 32020: 32020: 32020: 32020: template 32020: 32020: _FIter 32020: unique(_FIter, _FIter); 32020: 32020: template 32020: 32020: _FIter 32020: unique(_FIter, _FIter, _BinaryPredicate); 32020: 32020: 32020: 32020: template 32020: 32020: _FIter 32020: upper_bound(_FIter, _FIter, const _Tp&); 32020: 32020: template 32020: 32020: _FIter 32020: upper_bound(_FIter, _FIter, const _Tp&, _Compare); 32020: 32020: 32020: 32020: template 32020: 32020: _FIter 32020: adjacent_find(_FIter, _FIter); 32020: 32020: template 32020: 32020: _FIter 32020: adjacent_find(_FIter, _FIter, _BinaryPredicate); 32020: 32020: template 32020: 32020: typename iterator_traits<_IIter>::difference_type 32020: count(_IIter, _IIter, const _Tp&); 32020: 32020: template 32020: 32020: typename iterator_traits<_IIter>::difference_type 32020: count_if(_IIter, _IIter, _Predicate); 32020: 32020: template 32020: 32020: bool 32020: equal(_IIter1, _IIter1, _IIter2); 32020: 32020: template 32020: 32020: bool 32020: equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 32020: 32020: template 32020: 32020: _IIter 32020: find(_IIter, _IIter, const _Tp&); 32020: 32020: template 32020: 32020: _FIter1 32020: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); 32020: 32020: template 32020: 32020: _FIter1 32020: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 32020: 32020: template 32020: 32020: _IIter 32020: find_if(_IIter, _IIter, _Predicate); 32020: 32020: template 32020: 32020: _Funct 32020: for_each(_IIter, _IIter, _Funct); 32020: 32020: template 32020: 32020: void 32020: generate(_FIter, _FIter, _Generator); 32020: 32020: template 32020: 32020: _OIter 32020: generate_n(_OIter, _Size, _Generator); 32020: 32020: template 32020: 32020: bool 32020: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); 32020: 32020: template 32020: 32020: bool 32020: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 32020: 32020: template 32020: constexpr 32020: _FIter 32020: max_element(_FIter, _FIter); 32020: 32020: template 32020: constexpr 32020: _FIter 32020: max_element(_FIter, _FIter, _Compare); 32020: 32020: template 32020: 32020: _OIter 32020: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 32020: 32020: template 32020: 32020: _OIter 32020: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 32020: 32020: template 32020: constexpr 32020: _FIter 32020: min_element(_FIter, _FIter); 32020: 32020: template 32020: constexpr 32020: _FIter 32020: min_element(_FIter, _FIter, _Compare); 32020: 32020: template 32020: 32020: pair<_IIter1, _IIter2> 32020: mismatch(_IIter1, _IIter1, _IIter2); 32020: 32020: template 32020: 32020: pair<_IIter1, _IIter2> 32020: mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 32020: 32020: template 32020: 32020: void 32020: nth_element(_RAIter, _RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: nth_element(_RAIter, _RAIter, _RAIter, _Compare); 32020: 32020: template 32020: 32020: void 32020: partial_sort(_RAIter, _RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: partial_sort(_RAIter, _RAIter, _RAIter, _Compare); 32020: 32020: template 32020: 32020: _BIter 32020: partition(_BIter, _BIter, _Predicate); 32020: 32020: template 32020: void 32020: random_shuffle(_RAIter, _RAIter); 32020: 32020: template 32020: void 32020: random_shuffle(_RAIter, _RAIter, 32020: 32020: _Generator&&); 32020: 32020: 32020: 32020: 32020: template 32020: 32020: void 32020: replace(_FIter, _FIter, const _Tp&, const _Tp&); 32020: 32020: template 32020: 32020: void 32020: replace_if(_FIter, _FIter, _Predicate, const _Tp&); 32020: 32020: template 32020: 32020: _FIter1 32020: search(_FIter1, _FIter1, _FIter2, _FIter2); 32020: 32020: template 32020: 32020: _FIter1 32020: search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 32020: 32020: template 32020: 32020: _FIter 32020: search_n(_FIter, _FIter, _Size, const _Tp&); 32020: 32020: template 32020: 32020: _FIter 32020: search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); 32020: 32020: template 32020: 32020: _OIter 32020: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 32020: 32020: template 32020: 32020: _OIter 32020: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 32020: 32020: template 32020: 32020: _OIter 32020: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 32020: 32020: template 32020: 32020: _OIter 32020: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 32020: 32020: template 32020: 32020: _OIter 32020: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 32020: 32020: template 32020: 32020: _OIter 32020: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, 32020: _OIter, _Compare); 32020: 32020: template 32020: 32020: _OIter 32020: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 32020: 32020: template 32020: 32020: _OIter 32020: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 32020: 32020: template 32020: 32020: void 32020: sort(_RAIter, _RAIter); 32020: 32020: template 32020: 32020: void 32020: sort(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: void 32020: stable_sort(_RAIter, _RAIter); 32020: 32020: template 32020: void 32020: stable_sort(_RAIter, _RAIter, _Compare); 32020: 32020: template 32020: 32020: _OIter 32020: transform(_IIter, _IIter, _OIter, _UnaryOperation); 32020: 32020: template 32020: 32020: _OIter 32020: transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); 32020: 32020: template 32020: 32020: _OIter 32020: unique_copy(_IIter, _IIter, _OIter); 32020: 32020: template 32020: 32020: _OIter 32020: unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); 32020: 32020: 32020: 32020: } 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 1 3 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _Distance 32020: __is_heap_until(_RandomAccessIterator __first, _Distance __n, 32020: _Compare& __comp) 32020: { 32020: _Distance __parent = 0; 32020: for (_Distance __child = 1; __child < __n; ++__child) 32020: { 32020: if (__comp(__first + __parent, __first + __child)) 32020: return __child; 32020: if ((__child & 1) == 0) 32020: ++__parent; 32020: } 32020: return __n; 32020: } 32020: 32020: 32020: 32020: template 32020: 32020: inline bool 32020: __is_heap(_RandomAccessIterator __first, _Distance __n) 32020: { 32020: __gnu_cxx::__ops::_Iter_less_iter __comp; 32020: return std::__is_heap_until(__first, __n, __comp) == __n; 32020: } 32020: 32020: template 32020: 32020: inline bool 32020: __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) 32020: { 32020: typedef __decltype(__comp) _Cmp; 32020: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 32020: return std::__is_heap_until(__first, __n, __cmp) == __n; 32020: } 32020: 32020: template 32020: 32020: inline bool 32020: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { return std::__is_heap(__first, std::distance(__first, __last)); } 32020: 32020: template 32020: 32020: inline bool 32020: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: return std::__is_heap(__first, std::move(__comp), 32020: std::distance(__first, __last)); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: 32020: void 32020: __push_heap(_RandomAccessIterator __first, 32020: _Distance __holeIndex, _Distance __topIndex, _Tp __value, 32020: _Compare& __comp) 32020: { 32020: _Distance __parent = (__holeIndex - 1) / 2; 32020: while (__holeIndex > __topIndex && __comp(__first + __parent, __value)) 32020: { 32020: *(__first + __holeIndex) = std::move(*(__first + __parent)); 32020: __holeIndex = __parent; 32020: __parent = (__holeIndex - 1) / 2; 32020: } 32020: *(__first + __holeIndex) = std::move(__value); 32020: } 32020: # 158 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: typedef typename iterator_traits<_RandomAccessIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _DistanceType; 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: __gnu_cxx::__ops::_Iter_less_val __comp; 32020: _ValueType __value = std::move(*(__last - 1)); 32020: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 32020: _DistanceType(0), std::move(__value), __comp); 32020: } 32020: # 194 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_RandomAccessIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _DistanceType; 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 32020: __cmp(std::move(__comp)); 32020: _ValueType __value = std::move(*(__last - 1)); 32020: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 32020: _DistanceType(0), std::move(__value), __cmp); 32020: } 32020: 32020: template 32020: 32020: void 32020: __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 32020: _Distance __len, _Tp __value, _Compare __comp) 32020: { 32020: const _Distance __topIndex = __holeIndex; 32020: _Distance __secondChild = __holeIndex; 32020: while (__secondChild < (__len - 1) / 2) 32020: { 32020: __secondChild = 2 * (__secondChild + 1); 32020: if (__comp(__first + __secondChild, 32020: __first + (__secondChild - 1))) 32020: __secondChild--; 32020: *(__first + __holeIndex) = std::move(*(__first + __secondChild)); 32020: __holeIndex = __secondChild; 32020: } 32020: if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) 32020: { 32020: __secondChild = 2 * (__secondChild + 1); 32020: *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1))) 32020: ; 32020: __holeIndex = __secondChild - 1; 32020: } 32020: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 32020: __cmp(std::move(__comp)); 32020: std::__push_heap(__first, __holeIndex, __topIndex, 32020: std::move(__value), __cmp); 32020: } 32020: 32020: template 32020: 32020: inline void 32020: __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _RandomAccessIterator __result, _Compare& __comp) 32020: { 32020: typedef typename iterator_traits<_RandomAccessIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _DistanceType; 32020: 32020: _ValueType __value = std::move(*__result); 32020: *__result = std::move(*__first); 32020: std::__adjust_heap(__first, _DistanceType(0), 32020: _DistanceType(__last - __first), 32020: std::move(__value), __comp); 32020: } 32020: # 279 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: if (__last - __first > 1) 32020: { 32020: --__last; 32020: __gnu_cxx::__ops::_Iter_less_iter __comp; 32020: std::__pop_heap(__first, __last, __last, __comp); 32020: } 32020: } 32020: # 313 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: pop_heap(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: if (__last - __first > 1) 32020: { 32020: typedef __decltype(__comp) _Cmp; 32020: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 32020: --__last; 32020: std::__pop_heap(__first, __last, __last, __cmp); 32020: } 32020: } 32020: 32020: template 32020: 32020: void 32020: __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare& __comp) 32020: { 32020: typedef typename iterator_traits<_RandomAccessIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _DistanceType; 32020: 32020: if (__last - __first < 2) 32020: return; 32020: 32020: const _DistanceType __len = __last - __first; 32020: _DistanceType __parent = (__len - 2) / 2; 32020: while (true) 32020: { 32020: _ValueType __value = std::move(*(__first + __parent)); 32020: std::__adjust_heap(__first, __parent, __len, std::move(__value), 32020: __comp); 32020: if (__parent == 0) 32020: return; 32020: __parent--; 32020: } 32020: } 32020: # 371 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: __gnu_cxx::__ops::_Iter_less_iter __comp; 32020: std::__make_heap(__first, __last, __comp); 32020: } 32020: # 398 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: typedef __decltype(__comp) _Cmp; 32020: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 32020: std::__make_heap(__first, __last, __cmp); 32020: } 32020: 32020: template 32020: 32020: void 32020: __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare& __comp) 32020: { 32020: while (__last - __first > 1) 32020: { 32020: --__last; 32020: std::__pop_heap(__first, __last, __last, __comp); 32020: } 32020: } 32020: # 436 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: __gnu_cxx::__ops::_Iter_less_iter __comp; 32020: std::__sort_heap(__first, __last, __comp); 32020: } 32020: # 464 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline void 32020: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: typedef __decltype(__comp) _Cmp; 32020: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 32020: std::__sort_heap(__first, __last, __cmp); 32020: } 32020: # 493 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline _RandomAccessIterator 32020: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: __gnu_cxx::__ops::_Iter_less_iter __comp; 32020: return __first + 32020: std::__is_heap_until(__first, std::distance(__first, __last), __comp); 32020: } 32020: # 522 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline _RandomAccessIterator 32020: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: typedef __decltype(__comp) _Cmp; 32020: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 32020: return __first 32020: + std::__is_heap_until(__first, std::distance(__first, __last), __cmp); 32020: } 32020: # 547 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline bool 32020: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { return std::is_heap_until(__first, __last) == __last; } 32020: # 561 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_heap.h" 3 32020: template 32020: 32020: inline bool 32020: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: const auto __dist = std::distance(__first, __last); 32020: typedef __decltype(__comp) _Cmp; 32020: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 32020: return std::__is_heap_until(__first, __dist, __cmp) == __dist; 32020: } 32020: 32020: 32020: 32020: } 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tempbuf.h" 1 3 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tempbuf.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: namespace __detail 32020: { 32020: template 32020: inline void 32020: __return_temporary_buffer(_Tp* __p, 32020: size_t __len __attribute__((__unused__))) 32020: { 32020: 32020: ::operator delete(__p, __len * sizeof(_Tp)); 32020: 32020: 32020: 32020: } 32020: } 32020: # 98 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tempbuf.h" 3 32020: template 32020: pair<_Tp*, ptrdiff_t> 32020: get_temporary_buffer(ptrdiff_t __len) noexcept 32020: { 32020: const ptrdiff_t __max = 32020: __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); 32020: if (__len > __max) 32020: __len = __max; 32020: 32020: while (__len > 0) 32020: { 32020: _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 32020: std::nothrow)); 32020: if (__tmp != 0) 32020: return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); 32020: __len /= 2; 32020: } 32020: return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); 32020: } 32020: # 125 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tempbuf.h" 3 32020: template 32020: inline void 32020: return_temporary_buffer(_Tp* __p) 32020: { ::operator delete(__p); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class _Temporary_buffer 32020: { 32020: 32020: 32020: 32020: public: 32020: typedef _Tp value_type; 32020: typedef value_type* pointer; 32020: typedef pointer iterator; 32020: typedef ptrdiff_t size_type; 32020: 32020: protected: 32020: size_type _M_original_len; 32020: size_type _M_len; 32020: pointer _M_buffer; 32020: 32020: public: 32020: 32020: size_type 32020: size() const 32020: { return _M_len; } 32020: 32020: 32020: size_type 32020: requested_size() const 32020: { return _M_original_len; } 32020: 32020: 32020: iterator 32020: begin() 32020: { return _M_buffer; } 32020: 32020: 32020: iterator 32020: end() 32020: { return _M_buffer + _M_len; } 32020: 32020: 32020: 32020: 32020: 32020: _Temporary_buffer(_ForwardIterator __seed, size_type __original_len); 32020: 32020: ~_Temporary_buffer() 32020: { 32020: std::_Destroy(_M_buffer, _M_buffer + _M_len); 32020: std::__detail::__return_temporary_buffer(_M_buffer, _M_len); 32020: } 32020: 32020: private: 32020: 32020: _Temporary_buffer(const _Temporary_buffer&); 32020: 32020: void 32020: operator=(const _Temporary_buffer&); 32020: }; 32020: 32020: 32020: template 32020: struct __uninitialized_construct_buf_dispatch 32020: { 32020: template 32020: static void 32020: __ucr(_Pointer __first, _Pointer __last, 32020: _ForwardIterator __seed) 32020: { 32020: if (__first == __last) 32020: return; 32020: 32020: _Pointer __cur = __first; 32020: try 32020: { 32020: std::_Construct(std::__addressof(*__first), 32020: std::move(*__seed)); 32020: _Pointer __prev = __cur; 32020: ++__cur; 32020: for(; __cur != __last; ++__cur, ++__prev) 32020: std::_Construct(std::__addressof(*__cur), 32020: std::move(*__prev)); 32020: *__seed = std::move(*__prev); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_construct_buf_dispatch 32020: { 32020: template 32020: static void 32020: __ucr(_Pointer, _Pointer, _ForwardIterator) { } 32020: }; 32020: # 243 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tempbuf.h" 3 32020: template 32020: inline void 32020: __uninitialized_construct_buf(_Pointer __first, _Pointer __last, 32020: _ForwardIterator __seed) 32020: { 32020: typedef typename std::iterator_traits<_Pointer>::value_type 32020: _ValueType; 32020: 32020: std::__uninitialized_construct_buf_dispatch< 32020: __has_trivial_constructor(_ValueType)>:: 32020: __ucr(__first, __last, __seed); 32020: } 32020: 32020: template 32020: _Temporary_buffer<_ForwardIterator, _Tp>:: 32020: _Temporary_buffer(_ForwardIterator __seed, size_type __original_len) 32020: : _M_original_len(__original_len), _M_len(0), _M_buffer(0) 32020: { 32020: std::pair __p( 32020: std::get_temporary_buffer(_M_original_len)); 32020: 32020: if (__p.first) 32020: { 32020: try 32020: { 32020: std::__uninitialized_construct_buf(__p.first, __p.first + __p.second, 32020: __seed); 32020: _M_buffer = __p.first; 32020: _M_len = __p.second; 32020: } 32020: catch(...) 32020: { 32020: std::__detail::__return_temporary_buffer(__p.first, __p.second); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: 32020: } 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uniform_int_dist.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uniform_int_dist.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 1 3 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: # 158 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum float_round_style 32020: { 32020: round_indeterminate = -1, 32020: round_toward_zero = 0, 32020: round_to_nearest = 1, 32020: round_toward_infinity = 2, 32020: round_toward_neg_infinity = 3 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum float_denorm_style 32020: { 32020: 32020: denorm_indeterminate = -1, 32020: 32020: denorm_absent = 0, 32020: 32020: denorm_present = 1 32020: }; 32020: # 202 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: struct __numeric_limits_base 32020: { 32020: 32020: 32020: static constexpr bool is_specialized = false; 32020: 32020: 32020: 32020: 32020: static constexpr int digits = 0; 32020: 32020: 32020: static constexpr int digits10 = 0; 32020: 32020: 32020: 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: 32020: 32020: static constexpr bool is_signed = false; 32020: 32020: 32020: static constexpr bool is_integer = false; 32020: 32020: 32020: 32020: 32020: static constexpr bool is_exact = false; 32020: 32020: 32020: 32020: static constexpr int radix = 0; 32020: 32020: 32020: 32020: static constexpr int min_exponent = 0; 32020: 32020: 32020: 32020: static constexpr int min_exponent10 = 0; 32020: 32020: 32020: 32020: 32020: static constexpr int max_exponent = 0; 32020: 32020: 32020: 32020: static constexpr int max_exponent10 = 0; 32020: 32020: 32020: static constexpr bool has_infinity = false; 32020: 32020: 32020: 32020: static constexpr bool has_quiet_NaN = false; 32020: 32020: 32020: 32020: static constexpr bool has_signaling_NaN = false; 32020: 32020: 32020: static constexpr float_denorm_style has_denorm = denorm_absent; 32020: 32020: 32020: 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: 32020: 32020: static constexpr bool is_iec559 = false; 32020: 32020: 32020: 32020: 32020: static constexpr bool is_bounded = false; 32020: # 288 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: static constexpr bool is_modulo = false; 32020: 32020: 32020: static constexpr bool traps = false; 32020: 32020: 32020: static constexpr bool tinyness_before = false; 32020: 32020: 32020: 32020: 32020: static constexpr float_round_style round_style = 32020: round_toward_zero; 32020: }; 32020: # 311 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: template 32020: struct numeric_limits : public __numeric_limits_base 32020: { 32020: 32020: 32020: static constexpr _Tp 32020: min() noexcept { return _Tp(); } 32020: 32020: 32020: static constexpr _Tp 32020: max() noexcept { return _Tp(); } 32020: 32020: 32020: 32020: 32020: static constexpr _Tp 32020: lowest() noexcept { return _Tp(); } 32020: 32020: 32020: 32020: 32020: static constexpr _Tp 32020: epsilon() noexcept { return _Tp(); } 32020: 32020: 32020: static constexpr _Tp 32020: round_error() noexcept { return _Tp(); } 32020: 32020: 32020: static constexpr _Tp 32020: infinity() noexcept { return _Tp(); } 32020: 32020: 32020: 32020: static constexpr _Tp 32020: quiet_NaN() noexcept { return _Tp(); } 32020: 32020: 32020: 32020: static constexpr _Tp 32020: signaling_NaN() noexcept { return _Tp(); } 32020: 32020: 32020: 32020: 32020: static constexpr _Tp 32020: denorm_min() noexcept { return _Tp(); } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct numeric_limits 32020: : public numeric_limits<_Tp> { }; 32020: 32020: template 32020: struct numeric_limits 32020: : public numeric_limits<_Tp> { }; 32020: 32020: template 32020: struct numeric_limits 32020: : public numeric_limits<_Tp> { }; 32020: # 383 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr bool 32020: min() noexcept { return false; } 32020: 32020: static constexpr bool 32020: max() noexcept { return true; } 32020: 32020: 32020: static constexpr bool 32020: lowest() noexcept { return min(); } 32020: 32020: static constexpr int digits = 1; 32020: static constexpr int digits10 = 0; 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = false; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr bool 32020: epsilon() noexcept { return false; } 32020: 32020: static constexpr bool 32020: round_error() noexcept { return false; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr bool 32020: infinity() noexcept { return false; } 32020: 32020: static constexpr bool 32020: quiet_NaN() noexcept { return false; } 32020: 32020: static constexpr bool 32020: signaling_NaN() noexcept { return false; } 32020: 32020: static constexpr bool 32020: denorm_min() noexcept { return false; } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: 32020: 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr char 32020: 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); } 32020: 32020: static constexpr char 32020: max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); } 32020: 32020: 32020: static constexpr char 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); 32020: static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = ((char)(-1) < 0); 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr char 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr char 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr 32020: char infinity() noexcept { return char(); } 32020: 32020: static constexpr char 32020: quiet_NaN() noexcept { return char(); } 32020: 32020: static constexpr char 32020: signaling_NaN() noexcept { return char(); } 32020: 32020: static constexpr char 32020: denorm_min() noexcept { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = !is_signed; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr signed char 32020: min() noexcept { return -0x7f - 1; } 32020: 32020: static constexpr signed char 32020: max() noexcept { return 0x7f; } 32020: 32020: 32020: static constexpr signed char 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr signed char 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr signed char 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr signed char 32020: infinity() noexcept { return static_cast(0); } 32020: 32020: static constexpr signed char 32020: quiet_NaN() noexcept { return static_cast(0); } 32020: 32020: static constexpr signed char 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr signed char 32020: denorm_min() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr unsigned char 32020: min() noexcept { return 0; } 32020: 32020: static constexpr unsigned char 32020: max() noexcept { return 0x7f * 2U + 1; } 32020: 32020: 32020: static constexpr unsigned char 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits 32020: = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = false; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr unsigned char 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr unsigned char 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr unsigned char 32020: infinity() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned char 32020: quiet_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned char 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned char 32020: denorm_min() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = true; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr wchar_t 32020: 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); } 32020: 32020: static constexpr wchar_t 32020: 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); } 32020: 32020: 32020: static constexpr wchar_t 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = ((wchar_t)(-1) < 0); 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr wchar_t 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr wchar_t 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr wchar_t 32020: infinity() noexcept { return wchar_t(); } 32020: 32020: static constexpr wchar_t 32020: quiet_NaN() noexcept { return wchar_t(); } 32020: 32020: static constexpr wchar_t 32020: signaling_NaN() noexcept { return wchar_t(); } 32020: 32020: static constexpr wchar_t 32020: denorm_min() noexcept { return wchar_t(); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = !is_signed; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: # 796 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr char16_t 32020: 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); } 32020: 32020: static constexpr char16_t 32020: 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); } 32020: 32020: static constexpr char16_t 32020: lowest() noexcept { return min(); } 32020: 32020: static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)); 32020: static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136); 32020: static constexpr int max_digits10 = 0; 32020: static constexpr bool is_signed = ((char16_t)(-1) < 0); 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr char16_t 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr char16_t 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr char16_t 32020: infinity() noexcept { return char16_t(); } 32020: 32020: static constexpr char16_t 32020: quiet_NaN() noexcept { return char16_t(); } 32020: 32020: static constexpr char16_t 32020: signaling_NaN() noexcept { return char16_t(); } 32020: 32020: static constexpr char16_t 32020: denorm_min() noexcept { return char16_t(); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = !is_signed; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr char32_t 32020: 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); } 32020: 32020: static constexpr char32_t 32020: 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); } 32020: 32020: static constexpr char32_t 32020: lowest() noexcept { return min(); } 32020: 32020: static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)); 32020: static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136); 32020: static constexpr int max_digits10 = 0; 32020: static constexpr bool is_signed = ((char32_t)(-1) < 0); 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr char32_t 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr char32_t 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr char32_t 32020: infinity() noexcept { return char32_t(); } 32020: 32020: static constexpr char32_t 32020: quiet_NaN() noexcept { return char32_t(); } 32020: 32020: static constexpr char32_t 32020: signaling_NaN() noexcept { return char32_t(); } 32020: 32020: static constexpr char32_t 32020: denorm_min() noexcept { return char32_t(); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = !is_signed; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style = round_toward_zero; 32020: }; 32020: 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr short 32020: min() noexcept { return -0x7fff - 1; } 32020: 32020: static constexpr short 32020: max() noexcept { return 0x7fff; } 32020: 32020: 32020: static constexpr short 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); 32020: static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr short 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr short 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr short 32020: infinity() noexcept { return short(); } 32020: 32020: static constexpr short 32020: quiet_NaN() noexcept { return short(); } 32020: 32020: static constexpr short 32020: signaling_NaN() noexcept { return short(); } 32020: 32020: static constexpr short 32020: denorm_min() noexcept { return short(); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr unsigned short 32020: min() noexcept { return 0; } 32020: 32020: static constexpr unsigned short 32020: max() noexcept { return 0x7fff * 2U + 1; } 32020: 32020: 32020: static constexpr unsigned short 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits 32020: = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = false; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr unsigned short 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr unsigned short 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr unsigned short 32020: infinity() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned short 32020: quiet_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned short 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned short 32020: denorm_min() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = true; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr int 32020: min() noexcept { return -0x7fffffff - 1; } 32020: 32020: static constexpr int 32020: max() noexcept { return 0x7fffffff; } 32020: 32020: 32020: static constexpr int 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); 32020: static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr int 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr int 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr int 32020: infinity() noexcept { return static_cast(0); } 32020: 32020: static constexpr int 32020: quiet_NaN() noexcept { return static_cast(0); } 32020: 32020: static constexpr int 32020: signaling_NaN() noexcept { return static_cast(0); } 32020: 32020: static constexpr int 32020: denorm_min() noexcept { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr unsigned int 32020: min() noexcept { return 0; } 32020: 32020: static constexpr unsigned int 32020: max() noexcept { return 0x7fffffff * 2U + 1; } 32020: 32020: 32020: static constexpr unsigned int 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits 32020: = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = false; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr unsigned int 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr unsigned int 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr unsigned int 32020: infinity() noexcept { return static_cast(0); } 32020: 32020: static constexpr unsigned int 32020: quiet_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned int 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned int 32020: denorm_min() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = true; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr long 32020: min() noexcept { return -0x7fffffffL - 1; } 32020: 32020: static constexpr long 32020: max() noexcept { return 0x7fffffffL; } 32020: 32020: 32020: static constexpr long 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); 32020: static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr long 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr long 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr long 32020: infinity() noexcept { return static_cast(0); } 32020: 32020: static constexpr long 32020: quiet_NaN() noexcept { return static_cast(0); } 32020: 32020: static constexpr long 32020: signaling_NaN() noexcept { return static_cast(0); } 32020: 32020: static constexpr long 32020: denorm_min() noexcept { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr unsigned long 32020: min() noexcept { return 0; } 32020: 32020: static constexpr unsigned long 32020: max() noexcept { return 0x7fffffffL * 2UL + 1; } 32020: 32020: 32020: static constexpr unsigned long 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits 32020: = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = false; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr unsigned long 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr unsigned long 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr unsigned long 32020: infinity() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned long 32020: quiet_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned long 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned long 32020: denorm_min() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = true; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr long long 32020: min() noexcept { return -0x7fffffffffffffffLL - 1; } 32020: 32020: static constexpr long long 32020: max() noexcept { return 0x7fffffffffffffffLL; } 32020: 32020: 32020: static constexpr long long 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits 32020: = (sizeof(long long) * 8 - ((long long)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr long long 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr long long 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr long long 32020: infinity() noexcept { return static_cast(0); } 32020: 32020: static constexpr long long 32020: quiet_NaN() noexcept { return static_cast(0); } 32020: 32020: static constexpr long long 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr long long 32020: denorm_min() noexcept { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr unsigned long long 32020: min() noexcept { return 0; } 32020: 32020: static constexpr unsigned long long 32020: max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; } 32020: 32020: 32020: static constexpr unsigned long long 32020: lowest() noexcept { return min(); } 32020: 32020: 32020: static constexpr int digits 32020: = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); 32020: static constexpr int digits10 32020: = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136); 32020: 32020: static constexpr int max_digits10 = 0; 32020: 32020: static constexpr bool is_signed = false; 32020: static constexpr bool is_integer = true; 32020: static constexpr bool is_exact = true; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr unsigned long long 32020: epsilon() noexcept { return 0; } 32020: 32020: static constexpr unsigned long long 32020: round_error() noexcept { return 0; } 32020: 32020: static constexpr int min_exponent = 0; 32020: static constexpr int min_exponent10 = 0; 32020: static constexpr int max_exponent = 0; 32020: static constexpr int max_exponent10 = 0; 32020: 32020: static constexpr bool has_infinity = false; 32020: static constexpr bool has_quiet_NaN = false; 32020: static constexpr bool has_signaling_NaN = false; 32020: static constexpr float_denorm_style has_denorm 32020: = denorm_absent; 32020: static constexpr bool has_denorm_loss = false; 32020: 32020: static constexpr unsigned long long 32020: infinity() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned long long 32020: quiet_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned long long 32020: signaling_NaN() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr unsigned long long 32020: denorm_min() noexcept 32020: { return static_cast(0); } 32020: 32020: static constexpr bool is_iec559 = false; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = true; 32020: 32020: static constexpr bool traps = true; 32020: static constexpr bool tinyness_before = false; 32020: static constexpr float_round_style round_style 32020: = round_toward_zero; 32020: }; 32020: # 1663 "/usr/arm-linux-gnueabihf/include/c++/10/limits" 3 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr float 32020: min() noexcept { return 1.1754943508222875e-38F; } 32020: 32020: static constexpr float 32020: max() noexcept { return 3.4028234663852886e+38F; } 32020: 32020: 32020: static constexpr float 32020: lowest() noexcept { return -3.4028234663852886e+38F; } 32020: 32020: 32020: static constexpr int digits = 24; 32020: static constexpr int digits10 = 6; 32020: 32020: static constexpr int max_digits10 32020: = (2 + (24) * 643L / 2136); 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = false; 32020: static constexpr bool is_exact = false; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr float 32020: epsilon() noexcept { return 1.1920928955078125e-7F; } 32020: 32020: static constexpr float 32020: round_error() noexcept { return 0.5F; } 32020: 32020: static constexpr int min_exponent = (-125); 32020: static constexpr int min_exponent10 = (-37); 32020: static constexpr int max_exponent = 128; 32020: static constexpr int max_exponent10 = 38; 32020: 32020: static constexpr bool has_infinity = 1; 32020: static constexpr bool has_quiet_NaN = 1; 32020: static constexpr bool has_signaling_NaN = has_quiet_NaN; 32020: static constexpr float_denorm_style has_denorm 32020: = bool(1) ? denorm_present : denorm_absent; 32020: static constexpr bool has_denorm_loss 32020: = false; 32020: 32020: static constexpr float 32020: infinity() noexcept { return __builtin_huge_valf(); } 32020: 32020: static constexpr float 32020: quiet_NaN() noexcept { return __builtin_nanf(""); } 32020: 32020: static constexpr float 32020: signaling_NaN() noexcept { return __builtin_nansf(""); } 32020: 32020: static constexpr float 32020: denorm_min() noexcept { return 1.4012984643248171e-45F; } 32020: 32020: static constexpr bool is_iec559 32020: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = false; 32020: static constexpr bool tinyness_before 32020: = false; 32020: static constexpr float_round_style round_style 32020: = round_to_nearest; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr double 32020: min() noexcept { return double(2.2250738585072014e-308L); } 32020: 32020: static constexpr double 32020: max() noexcept { return double(1.7976931348623157e+308L); } 32020: 32020: 32020: static constexpr double 32020: lowest() noexcept { return -double(1.7976931348623157e+308L); } 32020: 32020: 32020: static constexpr int digits = 53; 32020: static constexpr int digits10 = 15; 32020: 32020: static constexpr int max_digits10 32020: = (2 + (53) * 643L / 2136); 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = false; 32020: static constexpr bool is_exact = false; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr double 32020: epsilon() noexcept { return double(2.2204460492503131e-16L); } 32020: 32020: static constexpr double 32020: round_error() noexcept { return 0.5; } 32020: 32020: static constexpr int min_exponent = (-1021); 32020: static constexpr int min_exponent10 = (-307); 32020: static constexpr int max_exponent = 1024; 32020: static constexpr int max_exponent10 = 308; 32020: 32020: static constexpr bool has_infinity = 1; 32020: static constexpr bool has_quiet_NaN = 1; 32020: static constexpr bool has_signaling_NaN = has_quiet_NaN; 32020: static constexpr float_denorm_style has_denorm 32020: = bool(1) ? denorm_present : denorm_absent; 32020: static constexpr bool has_denorm_loss 32020: = false; 32020: 32020: static constexpr double 32020: infinity() noexcept { return __builtin_huge_val(); } 32020: 32020: static constexpr double 32020: quiet_NaN() noexcept { return __builtin_nan(""); } 32020: 32020: static constexpr double 32020: signaling_NaN() noexcept { return __builtin_nans(""); } 32020: 32020: static constexpr double 32020: denorm_min() noexcept { return double(4.9406564584124654e-324L); } 32020: 32020: static constexpr bool is_iec559 32020: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = false; 32020: static constexpr bool tinyness_before 32020: = false; 32020: static constexpr float_round_style round_style 32020: = round_to_nearest; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct numeric_limits 32020: { 32020: static constexpr bool is_specialized = true; 32020: 32020: static constexpr long double 32020: min() noexcept { return 2.2250738585072014e-308L; } 32020: 32020: static constexpr long double 32020: max() noexcept { return 1.7976931348623157e+308L; } 32020: 32020: 32020: static constexpr long double 32020: lowest() noexcept { return -1.7976931348623157e+308L; } 32020: 32020: 32020: static constexpr int digits = 53; 32020: static constexpr int digits10 = 15; 32020: 32020: static constexpr int max_digits10 32020: = (2 + (53) * 643L / 2136); 32020: 32020: static constexpr bool is_signed = true; 32020: static constexpr bool is_integer = false; 32020: static constexpr bool is_exact = false; 32020: static constexpr int radix = 2; 32020: 32020: static constexpr long double 32020: epsilon() noexcept { return 2.2204460492503131e-16L; } 32020: 32020: static constexpr long double 32020: round_error() noexcept { return 0.5L; } 32020: 32020: static constexpr int min_exponent = (-1021); 32020: static constexpr int min_exponent10 = (-307); 32020: static constexpr int max_exponent = 1024; 32020: static constexpr int max_exponent10 = 308; 32020: 32020: static constexpr bool has_infinity = 1; 32020: static constexpr bool has_quiet_NaN = 1; 32020: static constexpr bool has_signaling_NaN = has_quiet_NaN; 32020: static constexpr float_denorm_style has_denorm 32020: = bool(1) ? denorm_present : denorm_absent; 32020: static constexpr bool has_denorm_loss 32020: = false; 32020: 32020: static constexpr long double 32020: infinity() noexcept { return __builtin_huge_vall(); } 32020: 32020: static constexpr long double 32020: quiet_NaN() noexcept { return __builtin_nanl(""); } 32020: 32020: static constexpr long double 32020: signaling_NaN() noexcept { return __builtin_nansl(""); } 32020: 32020: static constexpr long double 32020: denorm_min() noexcept { return 4.9406564584124654e-324L; } 32020: 32020: static constexpr bool is_iec559 32020: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 32020: static constexpr bool is_bounded = true; 32020: static constexpr bool is_modulo = false; 32020: 32020: static constexpr bool traps = false; 32020: static constexpr bool tinyness_before = 32020: false; 32020: static constexpr float_round_style round_style = 32020: round_to_nearest; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uniform_int_dist.h" 2 3 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 57 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uniform_int_dist.h" 3 32020: namespace __detail 32020: { 32020: 32020: template 32020: inline bool 32020: _Power_of_2(_Tp __x) 32020: { 32020: return ((__x - 1) & __x) == 0; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class uniform_int_distribution 32020: { 32020: static_assert(std::is_integral<_IntType>::value, 32020: "template argument must be an integral type"); 32020: 32020: public: 32020: 32020: typedef _IntType result_type; 32020: 32020: struct param_type 32020: { 32020: typedef uniform_int_distribution<_IntType> distribution_type; 32020: 32020: param_type() : param_type(0) { } 32020: 32020: explicit 32020: param_type(_IntType __a, 32020: _IntType __b = numeric_limits<_IntType>::max()) 32020: : _M_a(__a), _M_b(__b) 32020: { 32020: ; 32020: } 32020: 32020: result_type 32020: a() const 32020: { return _M_a; } 32020: 32020: result_type 32020: b() const 32020: { return _M_b; } 32020: 32020: friend bool 32020: operator==(const param_type& __p1, const param_type& __p2) 32020: { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } 32020: 32020: friend bool 32020: operator!=(const param_type& __p1, const param_type& __p2) 32020: { return !(__p1 == __p2); } 32020: 32020: private: 32020: _IntType _M_a; 32020: _IntType _M_b; 32020: }; 32020: 32020: public: 32020: 32020: 32020: 32020: uniform_int_distribution() : uniform_int_distribution(0) { } 32020: 32020: 32020: 32020: 32020: explicit 32020: uniform_int_distribution(_IntType __a, 32020: _IntType __b = numeric_limits<_IntType>::max()) 32020: : _M_param(__a, __b) 32020: { } 32020: 32020: explicit 32020: uniform_int_distribution(const param_type& __p) 32020: : _M_param(__p) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: reset() { } 32020: 32020: result_type 32020: a() const 32020: { return _M_param.a(); } 32020: 32020: result_type 32020: b() const 32020: { return _M_param.b(); } 32020: 32020: 32020: 32020: 32020: param_type 32020: param() const 32020: { return _M_param; } 32020: 32020: 32020: 32020: 32020: 32020: void 32020: param(const param_type& __param) 32020: { _M_param = __param; } 32020: 32020: 32020: 32020: 32020: result_type 32020: min() const 32020: { return this->a(); } 32020: 32020: 32020: 32020: 32020: result_type 32020: max() const 32020: { return this->b(); } 32020: 32020: 32020: 32020: 32020: template 32020: result_type 32020: operator()(_UniformRandomNumberGenerator& __urng) 32020: { return this->operator()(__urng, _M_param); } 32020: 32020: template 32020: result_type 32020: operator()(_UniformRandomNumberGenerator& __urng, 32020: const param_type& __p); 32020: 32020: template 32020: void 32020: __generate(_ForwardIterator __f, _ForwardIterator __t, 32020: _UniformRandomNumberGenerator& __urng) 32020: { this->__generate(__f, __t, __urng, _M_param); } 32020: 32020: template 32020: void 32020: __generate(_ForwardIterator __f, _ForwardIterator __t, 32020: _UniformRandomNumberGenerator& __urng, 32020: const param_type& __p) 32020: { this->__generate_impl(__f, __t, __urng, __p); } 32020: 32020: template 32020: void 32020: __generate(result_type* __f, result_type* __t, 32020: _UniformRandomNumberGenerator& __urng, 32020: const param_type& __p) 32020: { this->__generate_impl(__f, __t, __urng, __p); } 32020: 32020: 32020: 32020: 32020: 32020: friend bool 32020: operator==(const uniform_int_distribution& __d1, 32020: const uniform_int_distribution& __d2) 32020: { return __d1._M_param == __d2._M_param; } 32020: 32020: private: 32020: template 32020: void 32020: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 32020: _UniformRandomNumberGenerator& __urng, 32020: const param_type& __p); 32020: 32020: param_type _M_param; 32020: }; 32020: 32020: template 32020: template 32020: typename uniform_int_distribution<_IntType>::result_type 32020: uniform_int_distribution<_IntType>:: 32020: operator()(_UniformRandomNumberGenerator& __urng, 32020: const param_type& __param) 32020: { 32020: typedef typename _UniformRandomNumberGenerator::result_type 32020: _Gresult_type; 32020: typedef typename std::make_unsigned::type __utype; 32020: typedef typename std::common_type<_Gresult_type, __utype>::type 32020: __uctype; 32020: 32020: const __uctype __urngmin = __urng.min(); 32020: const __uctype __urngmax = __urng.max(); 32020: const __uctype __urngrange = __urngmax - __urngmin; 32020: const __uctype __urange 32020: = __uctype(__param.b()) - __uctype(__param.a()); 32020: 32020: __uctype __ret; 32020: 32020: if (__urngrange > __urange) 32020: { 32020: 32020: const __uctype __uerange = __urange + 1; 32020: const __uctype __scaling = __urngrange / __uerange; 32020: const __uctype __past = __uerange * __scaling; 32020: do 32020: __ret = __uctype(__urng()) - __urngmin; 32020: while (__ret >= __past); 32020: __ret /= __scaling; 32020: } 32020: else if (__urngrange < __urange) 32020: { 32020: # 287 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uniform_int_dist.h" 3 32020: __uctype __tmp; 32020: do 32020: { 32020: const __uctype __uerngrange = __urngrange + 1; 32020: __tmp = (__uerngrange * operator() 32020: (__urng, param_type(0, __urange / __uerngrange))); 32020: __ret = __tmp + (__uctype(__urng()) - __urngmin); 32020: } 32020: while (__ret > __urange || __ret < __tmp); 32020: } 32020: else 32020: __ret = __uctype(__urng()) - __urngmin; 32020: 32020: return __ret + __param.a(); 32020: } 32020: 32020: 32020: template 32020: template 32020: void 32020: uniform_int_distribution<_IntType>:: 32020: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 32020: _UniformRandomNumberGenerator& __urng, 32020: const param_type& __param) 32020: { 32020: 32020: typedef typename _UniformRandomNumberGenerator::result_type 32020: _Gresult_type; 32020: typedef typename std::make_unsigned::type __utype; 32020: typedef typename std::common_type<_Gresult_type, __utype>::type 32020: __uctype; 32020: 32020: const __uctype __urngmin = __urng.min(); 32020: const __uctype __urngmax = __urng.max(); 32020: const __uctype __urngrange = __urngmax - __urngmin; 32020: const __uctype __urange 32020: = __uctype(__param.b()) - __uctype(__param.a()); 32020: 32020: __uctype __ret; 32020: 32020: if (__urngrange > __urange) 32020: { 32020: if (__detail::_Power_of_2(__urngrange + 1) 32020: && __detail::_Power_of_2(__urange + 1)) 32020: { 32020: while (__f != __t) 32020: { 32020: __ret = __uctype(__urng()) - __urngmin; 32020: *__f++ = (__ret & __urange) + __param.a(); 32020: } 32020: } 32020: else 32020: { 32020: 32020: const __uctype __uerange = __urange + 1; 32020: const __uctype __scaling = __urngrange / __uerange; 32020: const __uctype __past = __uerange * __scaling; 32020: while (__f != __t) 32020: { 32020: do 32020: __ret = __uctype(__urng()) - __urngmin; 32020: while (__ret >= __past); 32020: *__f++ = __ret / __scaling + __param.a(); 32020: } 32020: } 32020: } 32020: else if (__urngrange < __urange) 32020: { 32020: # 371 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uniform_int_dist.h" 3 32020: __uctype __tmp; 32020: while (__f != __t) 32020: { 32020: do 32020: { 32020: const __uctype __uerngrange = __urngrange + 1; 32020: __tmp = (__uerngrange * operator() 32020: (__urng, param_type(0, __urange / __uerngrange))); 32020: __ret = __tmp + (__uctype(__urng()) - __urngmin); 32020: } 32020: while (__ret > __urange || __ret < __tmp); 32020: *__f++ = __ret; 32020: } 32020: } 32020: else 32020: while (__f != __t) 32020: *__f++ = __uctype(__urng()) - __urngmin + __param.a(); 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 2 3 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: 32020: void 32020: __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b, 32020: _Iterator __c, _Compare __comp) 32020: { 32020: if (__comp(__a, __b)) 32020: { 32020: if (__comp(__b, __c)) 32020: std::iter_swap(__result, __b); 32020: else if (__comp(__a, __c)) 32020: std::iter_swap(__result, __c); 32020: else 32020: std::iter_swap(__result, __a); 32020: } 32020: else if (__comp(__a, __c)) 32020: std::iter_swap(__result, __a); 32020: else if (__comp(__b, __c)) 32020: std::iter_swap(__result, __c); 32020: else 32020: std::iter_swap(__result, __b); 32020: } 32020: 32020: 32020: template 32020: 32020: inline _InputIterator 32020: __find_if_not(_InputIterator __first, _InputIterator __last, 32020: _Predicate __pred) 32020: { 32020: return std::__find_if(__first, __last, 32020: __gnu_cxx::__ops::__negate(__pred), 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _InputIterator 32020: __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred) 32020: { 32020: for (; __len; --__len, (void) ++__first) 32020: if (!__pred(__first)) 32020: break; 32020: return __first; 32020: } 32020: # 138 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _ForwardIterator1 32020: __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 32020: _BinaryPredicate __predicate) 32020: { 32020: 32020: if (__first1 == __last1 || __first2 == __last2) 32020: return __first1; 32020: 32020: 32020: _ForwardIterator2 __p1(__first2); 32020: if (++__p1 == __last2) 32020: return std::__find_if(__first1, __last1, 32020: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 32020: 32020: 32020: _ForwardIterator1 __current = __first1; 32020: 32020: for (;;) 32020: { 32020: __first1 = 32020: std::__find_if(__first1, __last1, 32020: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 32020: 32020: if (__first1 == __last1) 32020: return __last1; 32020: 32020: _ForwardIterator2 __p = __p1; 32020: __current = __first1; 32020: if (++__current == __last1) 32020: return __last1; 32020: 32020: while (__predicate(__current, __p)) 32020: { 32020: if (++__p == __last2) 32020: return __first1; 32020: if (++__current == __last1) 32020: return __last1; 32020: } 32020: ++__first1; 32020: } 32020: return __first1; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __search_n_aux(_ForwardIterator __first, _ForwardIterator __last, 32020: _Integer __count, _UnaryPredicate __unary_pred, 32020: std::forward_iterator_tag) 32020: { 32020: __first = std::__find_if(__first, __last, __unary_pred); 32020: while (__first != __last) 32020: { 32020: typename iterator_traits<_ForwardIterator>::difference_type 32020: __n = __count; 32020: _ForwardIterator __i = __first; 32020: ++__i; 32020: while (__i != __last && __n != 1 && __unary_pred(__i)) 32020: { 32020: ++__i; 32020: --__n; 32020: } 32020: if (__n == 1) 32020: return __first; 32020: if (__i == __last) 32020: return __last; 32020: __first = std::__find_if(++__i, __last, __unary_pred); 32020: } 32020: return __last; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _RandomAccessIter 32020: __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last, 32020: _Integer __count, _UnaryPredicate __unary_pred, 32020: std::random_access_iterator_tag) 32020: { 32020: typedef typename std::iterator_traits<_RandomAccessIter>::difference_type 32020: _DistanceType; 32020: 32020: _DistanceType __tailSize = __last - __first; 32020: _DistanceType __remainder = __count; 32020: 32020: while (__remainder <= __tailSize) 32020: { 32020: __first += __remainder; 32020: __tailSize -= __remainder; 32020: 32020: 32020: _RandomAccessIter __backTrack = __first; 32020: while (__unary_pred(--__backTrack)) 32020: { 32020: if (--__remainder == 0) 32020: return (__first - __count); 32020: } 32020: __remainder = __count + 1 - (__first - __backTrack); 32020: } 32020: return __last; 32020: } 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __search_n(_ForwardIterator __first, _ForwardIterator __last, 32020: _Integer __count, 32020: _UnaryPredicate __unary_pred) 32020: { 32020: if (__count <= 0) 32020: return __first; 32020: 32020: if (__count == 1) 32020: return std::__find_if(__first, __last, __unary_pred); 32020: 32020: return std::__search_n_aux(__first, __last, __count, __unary_pred, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: 32020: template 32020: 32020: _ForwardIterator1 32020: __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 32020: forward_iterator_tag, forward_iterator_tag, 32020: _BinaryPredicate __comp) 32020: { 32020: if (__first2 == __last2) 32020: return __last1; 32020: 32020: _ForwardIterator1 __result = __last1; 32020: while (1) 32020: { 32020: _ForwardIterator1 __new_result 32020: = std::__search(__first1, __last1, __first2, __last2, __comp); 32020: if (__new_result == __last1) 32020: return __result; 32020: else 32020: { 32020: __result = __new_result; 32020: __first1 = __new_result; 32020: ++__first1; 32020: } 32020: } 32020: } 32020: 32020: 32020: template 32020: 32020: _BidirectionalIterator1 32020: __find_end(_BidirectionalIterator1 __first1, 32020: _BidirectionalIterator1 __last1, 32020: _BidirectionalIterator2 __first2, 32020: _BidirectionalIterator2 __last2, 32020: bidirectional_iterator_tag, bidirectional_iterator_tag, 32020: _BinaryPredicate __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; 32020: typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; 32020: 32020: _RevIterator1 __rlast1(__first1); 32020: _RevIterator2 __rlast2(__first2); 32020: _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1, 32020: _RevIterator2(__last2), __rlast2, 32020: __comp); 32020: 32020: if (__rresult == __rlast1) 32020: return __last1; 32020: else 32020: { 32020: _BidirectionalIterator1 __result = __rresult.base(); 32020: std::advance(__result, -std::distance(__first2, __last2)); 32020: return __result; 32020: } 32020: } 32020: # 364 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator1 32020: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__find_end(__first1, __last1, __first2, __last2, 32020: std::__iterator_category(__first1), 32020: std::__iterator_category(__first2), 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 413 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator1 32020: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 32020: _BinaryPredicate __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__find_end(__first1, __last1, __first2, __last2, 32020: std::__iterator_category(__first1), 32020: std::__iterator_category(__first2), 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: # 449 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 32020: { return __last == std::find_if_not(__first, __last, __pred); } 32020: # 467 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 32020: { return __last == std::find_if(__first, __last, __pred); } 32020: # 486 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 32020: { return !std::none_of(__first, __last, __pred); } 32020: # 502 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _InputIterator 32020: find_if_not(_InputIterator __first, _InputIterator __last, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: return std::__find_if_not(__first, __last, 32020: __gnu_cxx::__ops::__pred_iter(__pred)); 32020: } 32020: # 527 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: is_partitioned(_InputIterator __first, _InputIterator __last, 32020: _Predicate __pred) 32020: { 32020: __first = std::find_if_not(__first, __last, __pred); 32020: if (__first == __last) 32020: return true; 32020: ++__first; 32020: return std::none_of(__first, __last, __pred); 32020: } 32020: # 549 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _ForwardIterator 32020: partition_point(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: typedef typename iterator_traits<_ForwardIterator>::difference_type 32020: _DistanceType; 32020: 32020: _DistanceType __len = std::distance(__first, __last); 32020: 32020: while (__len > 0) 32020: { 32020: _DistanceType __half = __len >> 1; 32020: _ForwardIterator __middle = __first; 32020: std::advance(__middle, __half); 32020: if (__pred(*__middle)) 32020: { 32020: __first = __middle; 32020: ++__first; 32020: __len = __len - __half - 1; 32020: } 32020: else 32020: __len = __half; 32020: } 32020: return __first; 32020: } 32020: 32020: 32020: template 32020: 32020: _OutputIterator 32020: __remove_copy_if(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _Predicate __pred) 32020: { 32020: for (; __first != __last; ++__first) 32020: if (!__pred(__first)) 32020: { 32020: *__result = *__first; 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: # 616 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: remove_copy(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, const _Tp& __value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__remove_copy_if(__first, __last, __result, 32020: __gnu_cxx::__ops::__iter_equals_val(__value)); 32020: } 32020: # 649 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: remove_copy_if(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__remove_copy_if(__first, __last, __result, 32020: __gnu_cxx::__ops::__pred_iter(__pred)); 32020: } 32020: # 684 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _OutputIterator 32020: copy_if(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: if (__pred(*__first)) 32020: { 32020: *__result = *__first; 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: 32020: template 32020: 32020: _OutputIterator 32020: __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result) 32020: { 32020: if (__n > 0) 32020: { 32020: while (true) 32020: { 32020: *__result = *__first; 32020: ++__result; 32020: if (--__n > 0) 32020: ++__first; 32020: else 32020: break; 32020: } 32020: } 32020: return __result; 32020: } 32020: 32020: template 32020: __enable_if_t<__is_char<_CharT>::__value, _CharT*> 32020: __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT>>, 32020: _Size, _CharT*); 32020: 32020: template 32020: 32020: _OutputIterator 32020: __copy_n(_InputIterator __first, _Size __n, 32020: _OutputIterator __result, input_iterator_tag) 32020: { 32020: return std::__niter_wrap(__result, 32020: __copy_n_a(__first, __n, 32020: std::__niter_base(__result))); 32020: } 32020: 32020: template 32020: 32020: inline _OutputIterator 32020: __copy_n(_RandomAccessIterator __first, _Size __n, 32020: _OutputIterator __result, random_access_iterator_tag) 32020: { return std::copy(__first, __first + __n, __result); } 32020: # 765 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: copy_n(_InputIterator __first, _Size __n, _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__copy_n(__first, __n, __result, 32020: std::__iterator_category(__first)); 32020: } 32020: # 796 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: pair<_OutputIterator1, _OutputIterator2> 32020: partition_copy(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator1 __out_true, _OutputIterator2 __out_false, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: if (__pred(*__first)) 32020: { 32020: *__out_true = *__first; 32020: ++__out_true; 32020: } 32020: else 32020: { 32020: *__out_false = *__first; 32020: ++__out_false; 32020: } 32020: 32020: return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); 32020: } 32020: 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __remove_if(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred) 32020: { 32020: __first = std::__find_if(__first, __last, __pred); 32020: if (__first == __last) 32020: return __first; 32020: _ForwardIterator __result = __first; 32020: ++__first; 32020: for (; __first != __last; ++__first) 32020: if (!__pred(__first)) 32020: { 32020: *__result = std::move(*__first); 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: # 867 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: remove(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__remove_if(__first, __last, 32020: __gnu_cxx::__ops::__iter_equals_val(__value)); 32020: } 32020: # 901 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: remove_if(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__remove_if(__first, __last, 32020: __gnu_cxx::__ops::__pred_iter(__pred)); 32020: } 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: if (__first == __last) 32020: return __last; 32020: _ForwardIterator __next = __first; 32020: while (++__next != __last) 32020: { 32020: if (__binary_pred(__first, __next)) 32020: return __first; 32020: __first = __next; 32020: } 32020: return __last; 32020: } 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __unique(_ForwardIterator __first, _ForwardIterator __last, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: 32020: __first = std::__adjacent_find(__first, __last, __binary_pred); 32020: if (__first == __last) 32020: return __last; 32020: 32020: 32020: _ForwardIterator __dest = __first; 32020: ++__first; 32020: while (++__first != __last) 32020: if (!__binary_pred(__dest, __first)) 32020: *++__dest = std::move(*__first); 32020: return ++__dest; 32020: } 32020: # 970 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: unique(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__unique(__first, __last, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 1001 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: unique(_ForwardIterator __first, _ForwardIterator __last, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__unique(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _OutputIterator 32020: __unique_copy(_ForwardIterator __first, _ForwardIterator __last, 32020: _OutputIterator __result, _BinaryPredicate __binary_pred, 32020: forward_iterator_tag, output_iterator_tag) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: _ForwardIterator __next = __first; 32020: *__result = *__first; 32020: while (++__next != __last) 32020: if (!__binary_pred(__first, __next)) 32020: { 32020: __first = __next; 32020: *++__result = *__first; 32020: } 32020: return ++__result; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _OutputIterator 32020: __unique_copy(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _BinaryPredicate __binary_pred, 32020: input_iterator_tag, output_iterator_tag) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: typename iterator_traits<_InputIterator>::value_type __value = *__first; 32020: __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred)) 32020: __rebound_pred 32020: = __gnu_cxx::__ops::__iter_comp_val(__binary_pred); 32020: *__result = __value; 32020: while (++__first != __last) 32020: if (!__rebound_pred(__first, __value)) 32020: { 32020: __value = *__first; 32020: *++__result = __value; 32020: } 32020: return ++__result; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __unique_copy(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result, _BinaryPredicate __binary_pred, 32020: input_iterator_tag, forward_iterator_tag) 32020: { 32020: 32020: 32020: 32020: 32020: *__result = *__first; 32020: while (++__first != __last) 32020: if (!__binary_pred(__result, __first)) 32020: *++__result = *__first; 32020: return ++__result; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: void 32020: __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, 32020: bidirectional_iterator_tag) 32020: { 32020: while (true) 32020: if (__first == __last || __first == --__last) 32020: return; 32020: else 32020: { 32020: std::iter_swap(__first, __last); 32020: ++__first; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: void 32020: __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: random_access_iterator_tag) 32020: { 32020: if (__first == __last) 32020: return; 32020: --__last; 32020: while (__first < __last) 32020: { 32020: std::iter_swap(__first, __last); 32020: ++__first; 32020: --__last; 32020: } 32020: } 32020: # 1162 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) 32020: { 32020: 32020: 32020: 32020: ; 32020: std::__reverse(__first, __last, std::__iterator_category(__first)); 32020: } 32020: # 1190 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _OutputIterator 32020: reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: while (__first != __last) 32020: { 32020: --__last; 32020: *__result = *__last; 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _EuclideanRingElement 32020: __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) 32020: { 32020: while (__n != 0) 32020: { 32020: _EuclideanRingElement __t = __m % __n; 32020: __m = __n; 32020: __n = __t; 32020: } 32020: return __m; 32020: } 32020: 32020: inline namespace _V2 32020: { 32020: 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __rotate(_ForwardIterator __first, 32020: _ForwardIterator __middle, 32020: _ForwardIterator __last, 32020: forward_iterator_tag) 32020: { 32020: if (__first == __middle) 32020: return __last; 32020: else if (__last == __middle) 32020: return __first; 32020: 32020: _ForwardIterator __first2 = __middle; 32020: do 32020: { 32020: std::iter_swap(__first, __first2); 32020: ++__first; 32020: ++__first2; 32020: if (__first == __middle) 32020: __middle = __first2; 32020: } 32020: while (__first2 != __last); 32020: 32020: _ForwardIterator __ret = __first; 32020: 32020: __first2 = __middle; 32020: 32020: while (__first2 != __last) 32020: { 32020: std::iter_swap(__first, __first2); 32020: ++__first; 32020: ++__first2; 32020: if (__first == __middle) 32020: __middle = __first2; 32020: else if (__first2 == __last) 32020: __first2 = __middle; 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: template 32020: 32020: _BidirectionalIterator 32020: __rotate(_BidirectionalIterator __first, 32020: _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last, 32020: bidirectional_iterator_tag) 32020: { 32020: 32020: 32020: 32020: 32020: if (__first == __middle) 32020: return __last; 32020: else if (__last == __middle) 32020: return __first; 32020: 32020: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 32020: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 32020: 32020: while (__first != __middle && __middle != __last) 32020: { 32020: std::iter_swap(__first, --__last); 32020: ++__first; 32020: } 32020: 32020: if (__first == __middle) 32020: { 32020: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 32020: return __last; 32020: } 32020: else 32020: { 32020: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 32020: return __first; 32020: } 32020: } 32020: 32020: 32020: template 32020: 32020: _RandomAccessIterator 32020: __rotate(_RandomAccessIterator __first, 32020: _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last, 32020: random_access_iterator_tag) 32020: { 32020: 32020: 32020: 32020: 32020: if (__first == __middle) 32020: return __last; 32020: else if (__last == __middle) 32020: return __first; 32020: 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _Distance; 32020: typedef typename iterator_traits<_RandomAccessIterator>::value_type 32020: _ValueType; 32020: 32020: _Distance __n = __last - __first; 32020: _Distance __k = __middle - __first; 32020: 32020: if (__k == __n - __k) 32020: { 32020: std::swap_ranges(__first, __middle, __middle); 32020: return __middle; 32020: } 32020: 32020: _RandomAccessIterator __p = __first; 32020: _RandomAccessIterator __ret = __first + (__last - __middle); 32020: 32020: for (;;) 32020: { 32020: if (__k < __n - __k) 32020: { 32020: if (__is_pod(_ValueType) && __k == 1) 32020: { 32020: _ValueType __t = std::move(*__p); 32020: std::move(__p + 1, __p + __n, __p); 32020: *(__p + __n - 1) = std::move(__t); 32020: return __ret; 32020: } 32020: _RandomAccessIterator __q = __p + __k; 32020: for (_Distance __i = 0; __i < __n - __k; ++ __i) 32020: { 32020: std::iter_swap(__p, __q); 32020: ++__p; 32020: ++__q; 32020: } 32020: __n %= __k; 32020: if (__n == 0) 32020: return __ret; 32020: std::swap(__n, __k); 32020: __k = __n - __k; 32020: } 32020: else 32020: { 32020: __k = __n - __k; 32020: if (__is_pod(_ValueType) && __k == 1) 32020: { 32020: _ValueType __t = std::move(*(__p + __n - 1)); 32020: std::move_backward(__p, __p + __n - 1, __p + __n); 32020: *__p = std::move(__t); 32020: return __ret; 32020: } 32020: _RandomAccessIterator __q = __p + __n; 32020: __p = __q - __k; 32020: for (_Distance __i = 0; __i < __n - __k; ++ __i) 32020: { 32020: --__p; 32020: --__q; 32020: std::iter_swap(__p, __q); 32020: } 32020: __n %= __k; 32020: if (__n == 0) 32020: return __ret; 32020: std::swap(__n, __k); 32020: } 32020: } 32020: } 32020: # 1422 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: rotate(_ForwardIterator __first, _ForwardIterator __middle, 32020: _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__rotate(__first, __middle, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: } 32020: # 1460 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, 32020: _ForwardIterator __last, _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::copy(__first, __middle, 32020: std::copy(__middle, __last, __result)); 32020: } 32020: 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __partition(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred, forward_iterator_tag) 32020: { 32020: if (__first == __last) 32020: return __first; 32020: 32020: while (__pred(*__first)) 32020: if (++__first == __last) 32020: return __first; 32020: 32020: _ForwardIterator __next = __first; 32020: 32020: while (++__next != __last) 32020: if (__pred(*__next)) 32020: { 32020: std::iter_swap(__first, __next); 32020: ++__first; 32020: } 32020: 32020: return __first; 32020: } 32020: 32020: 32020: template 32020: 32020: _BidirectionalIterator 32020: __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, 32020: _Predicate __pred, bidirectional_iterator_tag) 32020: { 32020: while (true) 32020: { 32020: while (true) 32020: if (__first == __last) 32020: return __first; 32020: else if (__pred(*__first)) 32020: ++__first; 32020: else 32020: break; 32020: --__last; 32020: while (true) 32020: if (__first == __last) 32020: return __first; 32020: else if (!bool(__pred(*__last))) 32020: --__last; 32020: else 32020: break; 32020: std::iter_swap(__first, __last); 32020: ++__first; 32020: } 32020: } 32020: # 1540 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: _ForwardIterator 32020: __stable_partition_adaptive(_ForwardIterator __first, 32020: _ForwardIterator __last, 32020: _Predicate __pred, _Distance __len, 32020: _Pointer __buffer, 32020: _Distance __buffer_size) 32020: { 32020: if (__len == 1) 32020: return __first; 32020: 32020: if (__len <= __buffer_size) 32020: { 32020: _ForwardIterator __result1 = __first; 32020: _Pointer __result2 = __buffer; 32020: 32020: 32020: 32020: 32020: *__result2 = std::move(*__first); 32020: ++__result2; 32020: ++__first; 32020: for (; __first != __last; ++__first) 32020: if (__pred(__first)) 32020: { 32020: *__result1 = std::move(*__first); 32020: ++__result1; 32020: } 32020: else 32020: { 32020: *__result2 = std::move(*__first); 32020: ++__result2; 32020: } 32020: 32020: std::move(__buffer, __result2, __result1); 32020: return __result1; 32020: } 32020: 32020: _ForwardIterator __middle = __first; 32020: std::advance(__middle, __len / 2); 32020: _ForwardIterator __left_split = 32020: std::__stable_partition_adaptive(__first, __middle, __pred, 32020: __len / 2, __buffer, 32020: __buffer_size); 32020: 32020: 32020: 32020: _Distance __right_len = __len - __len / 2; 32020: _ForwardIterator __right_split = 32020: std::__find_if_not_n(__middle, __right_len, __pred); 32020: 32020: if (__right_len) 32020: __right_split = 32020: std::__stable_partition_adaptive(__right_split, __last, __pred, 32020: __right_len, 32020: __buffer, __buffer_size); 32020: 32020: return std::rotate(__left_split, __middle, __right_split); 32020: } 32020: 32020: template 32020: _ForwardIterator 32020: __stable_partition(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred) 32020: { 32020: __first = std::__find_if_not(__first, __last, __pred); 32020: 32020: if (__first == __last) 32020: return __first; 32020: 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_ForwardIterator>::difference_type 32020: _DistanceType; 32020: 32020: _Temporary_buffer<_ForwardIterator, _ValueType> 32020: __buf(__first, std::distance(__first, __last)); 32020: return 32020: std::__stable_partition_adaptive(__first, __last, __pred, 32020: _DistanceType(__buf.requested_size()), 32020: __buf.begin(), 32020: _DistanceType(__buf.size())); 32020: } 32020: # 1642 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: inline _ForwardIterator 32020: stable_partition(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__stable_partition(__first, __last, 32020: __gnu_cxx::__ops::__pred_iter(__pred)); 32020: } 32020: 32020: 32020: template 32020: 32020: void 32020: __heap_select(_RandomAccessIterator __first, 32020: _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: std::__make_heap(__first, __middle, __comp); 32020: for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) 32020: if (__comp(__i, __first)) 32020: std::__pop_heap(__first, __middle, __i, __comp); 32020: } 32020: 32020: 32020: 32020: template 32020: 32020: _RandomAccessIterator 32020: __partial_sort_copy(_InputIterator __first, _InputIterator __last, 32020: _RandomAccessIterator __result_first, 32020: _RandomAccessIterator __result_last, 32020: _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type 32020: _InputValueType; 32020: typedef iterator_traits<_RandomAccessIterator> _RItTraits; 32020: typedef typename _RItTraits::difference_type _DistanceType; 32020: 32020: if (__result_first == __result_last) 32020: return __result_last; 32020: _RandomAccessIterator __result_real_last = __result_first; 32020: while (__first != __last && __result_real_last != __result_last) 32020: { 32020: *__result_real_last = *__first; 32020: ++__result_real_last; 32020: ++__first; 32020: } 32020: 32020: std::__make_heap(__result_first, __result_real_last, __comp); 32020: while (__first != __last) 32020: { 32020: if (__comp(__first, __result_first)) 32020: std::__adjust_heap(__result_first, _DistanceType(0), 32020: _DistanceType(__result_real_last 32020: - __result_first), 32020: _InputValueType(*__first), __comp); 32020: ++__first; 32020: } 32020: std::__sort_heap(__result_first, __result_real_last, __comp); 32020: return __result_real_last; 32020: } 32020: # 1730 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _RandomAccessIterator 32020: partial_sort_copy(_InputIterator __first, _InputIterator __last, 32020: _RandomAccessIterator __result_first, 32020: _RandomAccessIterator __result_last) 32020: { 32020: # 1745 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__partial_sort_copy(__first, __last, 32020: __result_first, __result_last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 1780 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _RandomAccessIterator 32020: partial_sort_copy(_InputIterator __first, _InputIterator __last, 32020: _RandomAccessIterator __result_first, 32020: _RandomAccessIterator __result_last, 32020: _Compare __comp) 32020: { 32020: # 1797 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__partial_sort_copy(__first, __last, 32020: __result_first, __result_last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: 32020: template 32020: 32020: void 32020: __unguarded_linear_insert(_RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: typename iterator_traits<_RandomAccessIterator>::value_type 32020: __val = std::move(*__last); 32020: _RandomAccessIterator __next = __last; 32020: --__next; 32020: while (__comp(__val, __next)) 32020: { 32020: *__last = std::move(*__next); 32020: __last = __next; 32020: --__next; 32020: } 32020: *__last = std::move(__val); 32020: } 32020: 32020: 32020: template 32020: 32020: void 32020: __insertion_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: if (__first == __last) return; 32020: 32020: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 32020: { 32020: if (__comp(__i, __first)) 32020: { 32020: typename iterator_traits<_RandomAccessIterator>::value_type 32020: __val = std::move(*__i); 32020: std::move_backward(__first, __i, __i + 1); 32020: *__first = std::move(__val); 32020: } 32020: else 32020: std::__unguarded_linear_insert(__i, 32020: __gnu_cxx::__ops::__val_comp_iter(__comp)); 32020: } 32020: } 32020: 32020: 32020: template 32020: 32020: inline void 32020: __unguarded_insertion_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: for (_RandomAccessIterator __i = __first; __i != __last; ++__i) 32020: std::__unguarded_linear_insert(__i, 32020: __gnu_cxx::__ops::__val_comp_iter(__comp)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: enum { _S_threshold = 16 }; 32020: 32020: 32020: template 32020: 32020: void 32020: __final_insertion_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: if (__last - __first > int(_S_threshold)) 32020: { 32020: std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 32020: std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, 32020: __comp); 32020: } 32020: else 32020: std::__insertion_sort(__first, __last, __comp); 32020: } 32020: 32020: 32020: template 32020: 32020: _RandomAccessIterator 32020: __unguarded_partition(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, 32020: _RandomAccessIterator __pivot, _Compare __comp) 32020: { 32020: while (true) 32020: { 32020: while (__comp(__first, __pivot)) 32020: ++__first; 32020: --__last; 32020: while (__comp(__pivot, __last)) 32020: --__last; 32020: if (!(__first < __last)) 32020: return __first; 32020: std::iter_swap(__first, __last); 32020: ++__first; 32020: } 32020: } 32020: 32020: 32020: template 32020: 32020: inline _RandomAccessIterator 32020: __unguarded_partition_pivot(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: _RandomAccessIterator __mid = __first + (__last - __first) / 2; 32020: std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, 32020: __comp); 32020: return std::__unguarded_partition(__first + 1, __last, __first, __comp); 32020: } 32020: 32020: template 32020: 32020: inline void 32020: __partial_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: std::__heap_select(__first, __middle, __last, __comp); 32020: std::__sort_heap(__first, __middle, __comp); 32020: } 32020: 32020: 32020: template 32020: 32020: void 32020: __introsort_loop(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, 32020: _Size __depth_limit, _Compare __comp) 32020: { 32020: while (__last - __first > int(_S_threshold)) 32020: { 32020: if (__depth_limit == 0) 32020: { 32020: std::__partial_sort(__first, __last, __last, __comp); 32020: return; 32020: } 32020: --__depth_limit; 32020: _RandomAccessIterator __cut = 32020: std::__unguarded_partition_pivot(__first, __last, __comp); 32020: std::__introsort_loop(__cut, __last, __depth_limit, __comp); 32020: __last = __cut; 32020: } 32020: } 32020: 32020: 32020: 32020: template 32020: 32020: inline void 32020: __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: if (__first != __last) 32020: { 32020: std::__introsort_loop(__first, __last, 32020: std::__lg(__last - __first) * 2, 32020: __comp); 32020: std::__final_insertion_sort(__first, __last, __comp); 32020: } 32020: } 32020: 32020: template 32020: 32020: void 32020: __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, 32020: _RandomAccessIterator __last, _Size __depth_limit, 32020: _Compare __comp) 32020: { 32020: while (__last - __first > 3) 32020: { 32020: if (__depth_limit == 0) 32020: { 32020: std::__heap_select(__first, __nth + 1, __last, __comp); 32020: 32020: std::iter_swap(__first, __nth); 32020: return; 32020: } 32020: --__depth_limit; 32020: _RandomAccessIterator __cut = 32020: std::__unguarded_partition_pivot(__first, __last, __comp); 32020: if (__cut <= __nth) 32020: __first = __cut; 32020: else 32020: __last = __cut; 32020: } 32020: std::__insertion_sort(__first, __last, __comp); 32020: } 32020: # 2028 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__lower_bound(__first, __last, __val, 32020: __gnu_cxx::__ops::__iter_comp_val(__comp)); 32020: } 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __upper_bound(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::difference_type 32020: _DistanceType; 32020: 32020: _DistanceType __len = std::distance(__first, __last); 32020: 32020: while (__len > 0) 32020: { 32020: _DistanceType __half = __len >> 1; 32020: _ForwardIterator __middle = __first; 32020: std::advance(__middle, __half); 32020: if (__comp(__val, __middle)) 32020: __len = __half; 32020: else 32020: { 32020: __first = __middle; 32020: ++__first; 32020: __len = __len - __half - 1; 32020: } 32020: } 32020: return __first; 32020: } 32020: # 2084 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__upper_bound(__first, __last, __val, 32020: __gnu_cxx::__ops::__val_less_iter()); 32020: } 32020: # 2115 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__upper_bound(__first, __last, __val, 32020: __gnu_cxx::__ops::__val_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: pair<_ForwardIterator, _ForwardIterator> 32020: __equal_range(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, 32020: _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::difference_type 32020: _DistanceType; 32020: 32020: _DistanceType __len = std::distance(__first, __last); 32020: 32020: while (__len > 0) 32020: { 32020: _DistanceType __half = __len >> 1; 32020: _ForwardIterator __middle = __first; 32020: std::advance(__middle, __half); 32020: if (__comp_it_val(__middle, __val)) 32020: { 32020: __first = __middle; 32020: ++__first; 32020: __len = __len - __half - 1; 32020: } 32020: else if (__comp_val_it(__val, __middle)) 32020: __len = __half; 32020: else 32020: { 32020: _ForwardIterator __left 32020: = std::__lower_bound(__first, __middle, __val, __comp_it_val); 32020: std::advance(__first, __len); 32020: _ForwardIterator __right 32020: = std::__upper_bound(++__middle, __first, __val, __comp_val_it); 32020: return pair<_ForwardIterator, _ForwardIterator>(__left, __right); 32020: } 32020: } 32020: return pair<_ForwardIterator, _ForwardIterator>(__first, __first); 32020: } 32020: # 2188 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline pair<_ForwardIterator, _ForwardIterator> 32020: equal_range(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__equal_range(__first, __last, __val, 32020: __gnu_cxx::__ops::__iter_less_val(), 32020: __gnu_cxx::__ops::__val_less_iter()); 32020: } 32020: # 2225 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline pair<_ForwardIterator, _ForwardIterator> 32020: equal_range(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: ; 32020: 32020: return std::__equal_range(__first, __last, __val, 32020: __gnu_cxx::__ops::__iter_comp_val(__comp), 32020: __gnu_cxx::__ops::__val_comp_iter(__comp)); 32020: } 32020: # 2259 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: bool 32020: binary_search(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: _ForwardIterator __i 32020: = std::__lower_bound(__first, __last, __val, 32020: __gnu_cxx::__ops::__iter_less_val()); 32020: return __i != __last && !(__val < *__i); 32020: } 32020: # 2293 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: bool 32020: binary_search(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __val, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: ; 32020: 32020: _ForwardIterator __i 32020: = std::__lower_bound(__first, __last, __val, 32020: __gnu_cxx::__ops::__iter_comp_val(__comp)); 32020: return __i != __last && !bool(__comp(__val, *__i)); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: { 32020: if (__comp(__first2, __first1)) 32020: { 32020: *__result = std::move(*__first2); 32020: ++__first2; 32020: } 32020: else 32020: { 32020: *__result = std::move(*__first1); 32020: ++__first1; 32020: } 32020: ++__result; 32020: } 32020: if (__first1 != __last1) 32020: std::move(__first1, __last1, __result); 32020: } 32020: 32020: 32020: template 32020: void 32020: __move_merge_adaptive_backward(_BidirectionalIterator1 __first1, 32020: _BidirectionalIterator1 __last1, 32020: _BidirectionalIterator2 __first2, 32020: _BidirectionalIterator2 __last2, 32020: _BidirectionalIterator3 __result, 32020: _Compare __comp) 32020: { 32020: if (__first1 == __last1) 32020: { 32020: std::move_backward(__first2, __last2, __result); 32020: return; 32020: } 32020: else if (__first2 == __last2) 32020: return; 32020: 32020: --__last1; 32020: --__last2; 32020: while (true) 32020: { 32020: if (__comp(__last2, __last1)) 32020: { 32020: *--__result = std::move(*__last1); 32020: if (__first1 == __last1) 32020: { 32020: std::move_backward(__first2, ++__last2, __result); 32020: return; 32020: } 32020: --__last1; 32020: } 32020: else 32020: { 32020: *--__result = std::move(*__last2); 32020: if (__first2 == __last2) 32020: return; 32020: --__last2; 32020: } 32020: } 32020: } 32020: 32020: 32020: template 32020: _BidirectionalIterator1 32020: __rotate_adaptive(_BidirectionalIterator1 __first, 32020: _BidirectionalIterator1 __middle, 32020: _BidirectionalIterator1 __last, 32020: _Distance __len1, _Distance __len2, 32020: _BidirectionalIterator2 __buffer, 32020: _Distance __buffer_size) 32020: { 32020: _BidirectionalIterator2 __buffer_end; 32020: if (__len1 > __len2 && __len2 <= __buffer_size) 32020: { 32020: if (__len2) 32020: { 32020: __buffer_end = std::move(__middle, __last, __buffer); 32020: std::move_backward(__first, __middle, __last); 32020: return std::move(__buffer, __buffer_end, __first); 32020: } 32020: else 32020: return __first; 32020: } 32020: else if (__len1 <= __buffer_size) 32020: { 32020: if (__len1) 32020: { 32020: __buffer_end = std::move(__first, __middle, __buffer); 32020: std::move(__middle, __last, __first); 32020: return std::move_backward(__buffer, __buffer_end, __last); 32020: } 32020: else 32020: return __last; 32020: } 32020: else 32020: return std::rotate(__first, __middle, __last); 32020: } 32020: 32020: 32020: template 32020: void 32020: __merge_adaptive(_BidirectionalIterator __first, 32020: _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last, 32020: _Distance __len1, _Distance __len2, 32020: _Pointer __buffer, _Distance __buffer_size, 32020: _Compare __comp) 32020: { 32020: if (__len1 <= __len2 && __len1 <= __buffer_size) 32020: { 32020: _Pointer __buffer_end = std::move(__first, __middle, __buffer); 32020: std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last, 32020: __first, __comp); 32020: } 32020: else if (__len2 <= __buffer_size) 32020: { 32020: _Pointer __buffer_end = std::move(__middle, __last, __buffer); 32020: std::__move_merge_adaptive_backward(__first, __middle, __buffer, 32020: __buffer_end, __last, __comp); 32020: } 32020: else 32020: { 32020: _BidirectionalIterator __first_cut = __first; 32020: _BidirectionalIterator __second_cut = __middle; 32020: _Distance __len11 = 0; 32020: _Distance __len22 = 0; 32020: if (__len1 > __len2) 32020: { 32020: __len11 = __len1 / 2; 32020: std::advance(__first_cut, __len11); 32020: __second_cut 32020: = std::__lower_bound(__middle, __last, *__first_cut, 32020: __gnu_cxx::__ops::__iter_comp_val(__comp)); 32020: __len22 = std::distance(__middle, __second_cut); 32020: } 32020: else 32020: { 32020: __len22 = __len2 / 2; 32020: std::advance(__second_cut, __len22); 32020: __first_cut 32020: = std::__upper_bound(__first, __middle, *__second_cut, 32020: __gnu_cxx::__ops::__val_comp_iter(__comp)); 32020: __len11 = std::distance(__first, __first_cut); 32020: } 32020: 32020: _BidirectionalIterator __new_middle 32020: = std::__rotate_adaptive(__first_cut, __middle, __second_cut, 32020: __len1 - __len11, __len22, __buffer, 32020: __buffer_size); 32020: std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, 32020: __len22, __buffer, __buffer_size, __comp); 32020: std::__merge_adaptive(__new_middle, __second_cut, __last, 32020: __len1 - __len11, 32020: __len2 - __len22, __buffer, 32020: __buffer_size, __comp); 32020: } 32020: } 32020: 32020: 32020: template 32020: void 32020: __merge_without_buffer(_BidirectionalIterator __first, 32020: _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last, 32020: _Distance __len1, _Distance __len2, 32020: _Compare __comp) 32020: { 32020: if (__len1 == 0 || __len2 == 0) 32020: return; 32020: 32020: if (__len1 + __len2 == 2) 32020: { 32020: if (__comp(__middle, __first)) 32020: std::iter_swap(__first, __middle); 32020: return; 32020: } 32020: 32020: _BidirectionalIterator __first_cut = __first; 32020: _BidirectionalIterator __second_cut = __middle; 32020: _Distance __len11 = 0; 32020: _Distance __len22 = 0; 32020: if (__len1 > __len2) 32020: { 32020: __len11 = __len1 / 2; 32020: std::advance(__first_cut, __len11); 32020: __second_cut 32020: = std::__lower_bound(__middle, __last, *__first_cut, 32020: __gnu_cxx::__ops::__iter_comp_val(__comp)); 32020: __len22 = std::distance(__middle, __second_cut); 32020: } 32020: else 32020: { 32020: __len22 = __len2 / 2; 32020: std::advance(__second_cut, __len22); 32020: __first_cut 32020: = std::__upper_bound(__first, __middle, *__second_cut, 32020: __gnu_cxx::__ops::__val_comp_iter(__comp)); 32020: __len11 = std::distance(__first, __first_cut); 32020: } 32020: 32020: _BidirectionalIterator __new_middle 32020: = std::rotate(__first_cut, __middle, __second_cut); 32020: std::__merge_without_buffer(__first, __first_cut, __new_middle, 32020: __len11, __len22, __comp); 32020: std::__merge_without_buffer(__new_middle, __second_cut, __last, 32020: __len1 - __len11, __len2 - __len22, __comp); 32020: } 32020: 32020: template 32020: void 32020: __inplace_merge(_BidirectionalIterator __first, 32020: _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last, 32020: _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_BidirectionalIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_BidirectionalIterator>::difference_type 32020: _DistanceType; 32020: 32020: if (__first == __middle || __middle == __last) 32020: return; 32020: 32020: const _DistanceType __len1 = std::distance(__first, __middle); 32020: const _DistanceType __len2 = std::distance(__middle, __last); 32020: 32020: typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf; 32020: _TmpBuf __buf(__first, __len1 + __len2); 32020: 32020: if (__buf.begin() == 0) 32020: std::__merge_without_buffer 32020: (__first, __middle, __last, __len1, __len2, __comp); 32020: else 32020: std::__merge_adaptive 32020: (__first, __middle, __last, __len1, __len2, __buf.begin(), 32020: _DistanceType(__buf.size()), __comp); 32020: } 32020: # 2583 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: inline void 32020: inplace_merge(_BidirectionalIterator __first, 32020: _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: std::__inplace_merge(__first, __middle, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 2624 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: inline void 32020: inplace_merge(_BidirectionalIterator __first, 32020: _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: std::__inplace_merge(__first, __middle, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: 32020: 32020: template 32020: _OutputIterator 32020: __move_merge(_InputIterator __first1, _InputIterator __last1, 32020: _InputIterator __first2, _InputIterator __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: { 32020: if (__comp(__first2, __first1)) 32020: { 32020: *__result = std::move(*__first2); 32020: ++__first2; 32020: } 32020: else 32020: { 32020: *__result = std::move(*__first1); 32020: ++__first1; 32020: } 32020: ++__result; 32020: } 32020: return std::move(__first2, __last2, std::move(__first1, __last1, __result)) 32020: 32020: ; 32020: } 32020: 32020: template 32020: void 32020: __merge_sort_loop(_RandomAccessIterator1 __first, 32020: _RandomAccessIterator1 __last, 32020: _RandomAccessIterator2 __result, _Distance __step_size, 32020: _Compare __comp) 32020: { 32020: const _Distance __two_step = 2 * __step_size; 32020: 32020: while (__last - __first >= __two_step) 32020: { 32020: __result = std::__move_merge(__first, __first + __step_size, 32020: __first + __step_size, 32020: __first + __two_step, 32020: __result, __comp); 32020: __first += __two_step; 32020: } 32020: __step_size = std::min(_Distance(__last - __first), __step_size); 32020: 32020: std::__move_merge(__first, __first + __step_size, 32020: __first + __step_size, __last, __result, __comp); 32020: } 32020: 32020: template 32020: 32020: void 32020: __chunk_insertion_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, 32020: _Distance __chunk_size, _Compare __comp) 32020: { 32020: while (__last - __first >= __chunk_size) 32020: { 32020: std::__insertion_sort(__first, __first + __chunk_size, __comp); 32020: __first += __chunk_size; 32020: } 32020: std::__insertion_sort(__first, __last, __comp); 32020: } 32020: 32020: enum { _S_chunk_size = 7 }; 32020: 32020: template 32020: void 32020: __merge_sort_with_buffer(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, 32020: _Pointer __buffer, _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _Distance; 32020: 32020: const _Distance __len = __last - __first; 32020: const _Pointer __buffer_last = __buffer + __len; 32020: 32020: _Distance __step_size = _S_chunk_size; 32020: std::__chunk_insertion_sort(__first, __last, __step_size, __comp); 32020: 32020: while (__step_size < __len) 32020: { 32020: std::__merge_sort_loop(__first, __last, __buffer, 32020: __step_size, __comp); 32020: __step_size *= 2; 32020: std::__merge_sort_loop(__buffer, __buffer_last, __first, 32020: __step_size, __comp); 32020: __step_size *= 2; 32020: } 32020: } 32020: 32020: template 32020: void 32020: __stable_sort_adaptive(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, 32020: _Pointer __buffer, _Distance __buffer_size, 32020: _Compare __comp) 32020: { 32020: const _Distance __len = (__last - __first + 1) / 2; 32020: const _RandomAccessIterator __middle = __first + __len; 32020: if (__len > __buffer_size) 32020: { 32020: std::__stable_sort_adaptive(__first, __middle, __buffer, 32020: __buffer_size, __comp); 32020: std::__stable_sort_adaptive(__middle, __last, __buffer, 32020: __buffer_size, __comp); 32020: } 32020: else 32020: { 32020: std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); 32020: std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); 32020: } 32020: std::__merge_adaptive(__first, __middle, __last, 32020: _Distance(__middle - __first), 32020: _Distance(__last - __middle), 32020: __buffer, __buffer_size, 32020: __comp); 32020: } 32020: 32020: 32020: template 32020: void 32020: __inplace_stable_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: if (__last - __first < 15) 32020: { 32020: std::__insertion_sort(__first, __last, __comp); 32020: return; 32020: } 32020: _RandomAccessIterator __middle = __first + (__last - __first) / 2; 32020: std::__inplace_stable_sort(__first, __middle, __comp); 32020: std::__inplace_stable_sort(__middle, __last, __comp); 32020: std::__merge_without_buffer(__first, __middle, __last, 32020: __middle - __first, 32020: __last - __middle, 32020: __comp); 32020: } 32020: # 2797 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: bool 32020: __includes(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: if (__comp(__first2, __first1)) 32020: return false; 32020: else if (__comp(__first1, __first2)) 32020: ++__first1; 32020: else 32020: { 32020: ++__first1; 32020: ++__first2; 32020: } 32020: 32020: return __first2 == __last2; 32020: } 32020: # 2837 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: includes(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__includes(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 2882 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: includes(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__includes(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: # 2918 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: bool 32020: __next_permutation(_BidirectionalIterator __first, 32020: _BidirectionalIterator __last, _Compare __comp) 32020: { 32020: if (__first == __last) 32020: return false; 32020: _BidirectionalIterator __i = __first; 32020: ++__i; 32020: if (__i == __last) 32020: return false; 32020: __i = __last; 32020: --__i; 32020: 32020: for(;;) 32020: { 32020: _BidirectionalIterator __ii = __i; 32020: --__i; 32020: if (__comp(__i, __ii)) 32020: { 32020: _BidirectionalIterator __j = __last; 32020: while (!__comp(__i, --__j)) 32020: {} 32020: std::iter_swap(__i, __j); 32020: std::__reverse(__ii, __last, 32020: std::__iterator_category(__first)); 32020: return true; 32020: } 32020: if (__i == __first) 32020: { 32020: std::__reverse(__first, __last, 32020: std::__iterator_category(__first)); 32020: return false; 32020: } 32020: } 32020: } 32020: # 2968 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: next_permutation(_BidirectionalIterator __first, 32020: _BidirectionalIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__next_permutation 32020: (__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 3001 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: next_permutation(_BidirectionalIterator __first, 32020: _BidirectionalIterator __last, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__next_permutation 32020: (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: bool 32020: __prev_permutation(_BidirectionalIterator __first, 32020: _BidirectionalIterator __last, _Compare __comp) 32020: { 32020: if (__first == __last) 32020: return false; 32020: _BidirectionalIterator __i = __first; 32020: ++__i; 32020: if (__i == __last) 32020: return false; 32020: __i = __last; 32020: --__i; 32020: 32020: for(;;) 32020: { 32020: _BidirectionalIterator __ii = __i; 32020: --__i; 32020: if (__comp(__ii, __i)) 32020: { 32020: _BidirectionalIterator __j = __last; 32020: while (!__comp(--__j, __i)) 32020: {} 32020: std::iter_swap(__i, __j); 32020: std::__reverse(__ii, __last, 32020: std::__iterator_category(__first)); 32020: return true; 32020: } 32020: if (__i == __first) 32020: { 32020: std::__reverse(__first, __last, 32020: std::__iterator_category(__first)); 32020: return false; 32020: } 32020: } 32020: } 32020: # 3071 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: prev_permutation(_BidirectionalIterator __first, 32020: _BidirectionalIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__prev_permutation(__first, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 3104 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: prev_permutation(_BidirectionalIterator __first, 32020: _BidirectionalIterator __last, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__prev_permutation(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _OutputIterator 32020: __replace_copy_if(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, 32020: _Predicate __pred, const _Tp& __new_value) 32020: { 32020: for (; __first != __last; ++__first, (void)++__result) 32020: if (__pred(__first)) 32020: *__result = __new_value; 32020: else 32020: *__result = *__first; 32020: return __result; 32020: } 32020: # 3156 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: replace_copy(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, 32020: const _Tp& __old_value, const _Tp& __new_value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__replace_copy_if(__first, __last, __result, 32020: __gnu_cxx::__ops::__iter_equals_val(__old_value), 32020: __new_value); 32020: } 32020: # 3191 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: replace_copy_if(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, 32020: _Predicate __pred, const _Tp& __new_value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__replace_copy_if(__first, __last, __result, 32020: __gnu_cxx::__ops::__pred_iter(__pred), 32020: __new_value); 32020: } 32020: # 3220 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: is_sorted(_ForwardIterator __first, _ForwardIterator __last) 32020: { return std::is_sorted_until(__first, __last) == __last; } 32020: # 3235 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: is_sorted(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { return std::is_sorted_until(__first, __last, __comp) == __last; } 32020: 32020: template 32020: 32020: _ForwardIterator 32020: __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: if (__first == __last) 32020: return __last; 32020: 32020: _ForwardIterator __next = __first; 32020: for (++__next; __next != __last; __first = __next, (void)++__next) 32020: if (__comp(__next, __first)) 32020: return __next; 32020: return __next; 32020: } 32020: # 3266 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__is_sorted_until(__first, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 3291 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__is_sorted_until(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: # 3317 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline pair 32020: minmax(const _Tp& __a, const _Tp& __b) 32020: { 32020: 32020: 32020: 32020: return __b < __a ? pair(__b, __a) 32020: : pair(__a, __b); 32020: } 32020: # 3338 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline pair 32020: minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) 32020: { 32020: return __comp(__b, __a) ? pair(__b, __a) 32020: : pair(__a, __b); 32020: } 32020: 32020: template 32020: constexpr 32020: pair<_ForwardIterator, _ForwardIterator> 32020: __minmax_element(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: _ForwardIterator __next = __first; 32020: if (__first == __last 32020: || ++__next == __last) 32020: return std::make_pair(__first, __first); 32020: 32020: _ForwardIterator __min{}, __max{}; 32020: if (__comp(__next, __first)) 32020: { 32020: __min = __next; 32020: __max = __first; 32020: } 32020: else 32020: { 32020: __min = __first; 32020: __max = __next; 32020: } 32020: 32020: __first = __next; 32020: ++__first; 32020: 32020: while (__first != __last) 32020: { 32020: __next = __first; 32020: if (++__next == __last) 32020: { 32020: if (__comp(__first, __min)) 32020: __min = __first; 32020: else if (!__comp(__first, __max)) 32020: __max = __first; 32020: break; 32020: } 32020: 32020: if (__comp(__next, __first)) 32020: { 32020: if (__comp(__next, __min)) 32020: __min = __next; 32020: if (!__comp(__first, __max)) 32020: __max = __first; 32020: } 32020: else 32020: { 32020: if (__comp(__first, __min)) 32020: __min = __first; 32020: if (!__comp(__next, __max)) 32020: __max = __next; 32020: } 32020: 32020: __first = __next; 32020: ++__first; 32020: } 32020: 32020: return std::make_pair(__min, __max); 32020: } 32020: # 3418 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline pair<_ForwardIterator, _ForwardIterator> 32020: minmax_element(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__minmax_element(__first, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 3446 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline pair<_ForwardIterator, _ForwardIterator> 32020: minmax_element(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__minmax_element(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: 32020: template 32020: constexpr 32020: inline _Tp 32020: min(initializer_list<_Tp> __l) 32020: { return *std::min_element(__l.begin(), __l.end()); } 32020: 32020: template 32020: constexpr 32020: inline _Tp 32020: min(initializer_list<_Tp> __l, _Compare __comp) 32020: { return *std::min_element(__l.begin(), __l.end(), __comp); } 32020: 32020: template 32020: constexpr 32020: inline _Tp 32020: max(initializer_list<_Tp> __l) 32020: { return *std::max_element(__l.begin(), __l.end()); } 32020: 32020: template 32020: constexpr 32020: inline _Tp 32020: max(initializer_list<_Tp> __l, _Compare __comp) 32020: { return *std::max_element(__l.begin(), __l.end(), __comp); } 32020: 32020: template 32020: constexpr 32020: inline pair<_Tp, _Tp> 32020: minmax(initializer_list<_Tp> __l) 32020: { 32020: pair __p = 32020: std::minmax_element(__l.begin(), __l.end()); 32020: return std::make_pair(*__p.first, *__p.second); 32020: } 32020: 32020: template 32020: constexpr 32020: inline pair<_Tp, _Tp> 32020: minmax(initializer_list<_Tp> __l, _Compare __comp) 32020: { 32020: pair __p = 32020: std::minmax_element(__l.begin(), __l.end(), __comp); 32020: return std::make_pair(*__p.first, *__p.second); 32020: } 32020: # 3523 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _BinaryPredicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__is_permutation(__first1, __last1, __first2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 32020: } 32020: 32020: 32020: template 32020: 32020: bool 32020: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 32020: _BinaryPredicate __pred) 32020: { 32020: using _Cat1 32020: = typename iterator_traits<_ForwardIterator1>::iterator_category; 32020: using _Cat2 32020: = typename iterator_traits<_ForwardIterator2>::iterator_category; 32020: using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>; 32020: using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>; 32020: constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA(); 32020: if (__ra_iters) 32020: { 32020: auto __d1 = std::distance(__first1, __last1); 32020: auto __d2 = std::distance(__first2, __last2); 32020: if (__d1 != __d2) 32020: return false; 32020: } 32020: 32020: 32020: 32020: for (; __first1 != __last1 && __first2 != __last2; 32020: ++__first1, (void)++__first2) 32020: if (!__pred(__first1, __first2)) 32020: break; 32020: 32020: if (__ra_iters) 32020: { 32020: if (__first1 == __last1) 32020: return true; 32020: } 32020: else 32020: { 32020: auto __d1 = std::distance(__first1, __last1); 32020: auto __d2 = std::distance(__first2, __last2); 32020: if (__d1 == 0 && __d2 == 0) 32020: return true; 32020: if (__d1 != __d2) 32020: return false; 32020: } 32020: 32020: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 32020: { 32020: if (__scan != std::__find_if(__first1, __scan, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 32020: continue; 32020: 32020: auto __matches = std::__count_if(__first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 32020: if (0 == __matches 32020: || std::__count_if(__scan, __last1, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 32020: != __matches) 32020: return false; 32020: } 32020: return true; 32020: } 32020: # 3618 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 32020: { 32020: ; 32020: ; 32020: 32020: return 32020: std::__is_permutation(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 3646 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline bool 32020: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 32020: _BinaryPredicate __pred) 32020: { 32020: ; 32020: ; 32020: 32020: return std::__is_permutation(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 32020: } 32020: # 3673 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr const _Tp& 32020: clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi) 32020: { 32020: ; 32020: return (__val < __lo) ? __lo : (__hi < __val) ? __hi : __val; 32020: } 32020: # 3691 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr const _Tp& 32020: clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp) 32020: { 32020: ; 32020: return __comp(__val, __lo) ? __lo : __comp(__hi, __val) ? __hi : __val; 32020: } 32020: # 3723 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: pair<_IntType, _IntType> 32020: __gen_two_uniform_ints(_IntType __b0, _IntType __b1, 32020: _UniformRandomBitGenerator&& __g) 32020: { 32020: _IntType __x 32020: = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g); 32020: return std::make_pair(__x / __b1, __x % __b1); 32020: } 32020: # 3745 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: void 32020: shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _UniformRandomNumberGenerator&& __g) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return; 32020: 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _DistanceType; 32020: 32020: typedef typename std::make_unsigned<_DistanceType>::type __ud_type; 32020: typedef typename std::uniform_int_distribution<__ud_type> __distr_type; 32020: typedef typename __distr_type::param_type __p_type; 32020: 32020: typedef typename remove_reference<_UniformRandomNumberGenerator>::type 32020: _Gen; 32020: typedef typename common_type::type 32020: __uc_type; 32020: 32020: const __uc_type __urngrange = __g.max() - __g.min(); 32020: const __uc_type __urange = __uc_type(__last - __first); 32020: 32020: if (__urngrange / __urange >= __urange) 32020: 32020: { 32020: _RandomAccessIterator __i = __first + 1; 32020: 32020: 32020: 32020: 32020: 32020: if ((__urange % 2) == 0) 32020: { 32020: __distr_type __d{0, 1}; 32020: std::iter_swap(__i++, __first + __d(__g)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: while (__i != __last) 32020: { 32020: const __uc_type __swap_range = __uc_type(__i - __first) + 1; 32020: 32020: const pair<__uc_type, __uc_type> __pospos = 32020: __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g); 32020: 32020: std::iter_swap(__i++, __first + __pospos.first); 32020: std::iter_swap(__i++, __first + __pospos.second); 32020: } 32020: 32020: return; 32020: } 32020: 32020: __distr_type __d; 32020: 32020: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 32020: std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: # 3830 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _Function 32020: for_each(_InputIterator __first, _InputIterator __last, _Function __f) 32020: { 32020: 32020: 32020: ; 32020: for (; __first != __last; ++__first) 32020: __f(*__first); 32020: return __f; 32020: } 32020: # 3856 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _InputIterator 32020: for_each_n(_InputIterator __first, _Size __n, _Function __f) 32020: { 32020: auto __n2 = std::__size_to_integer(__n); 32020: using _Cat = typename iterator_traits<_InputIterator>::iterator_category; 32020: if constexpr (is_base_of_v) 32020: { 32020: if (__n2 <= 0) 32020: return __first; 32020: auto __last = __first + __n2; 32020: std::for_each(__first, __last, std::move(__f)); 32020: return __last; 32020: } 32020: else 32020: { 32020: while (__n2-->0) 32020: { 32020: __f(*__first); 32020: ++__first; 32020: } 32020: return __first; 32020: } 32020: } 32020: # 3892 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _InputIterator 32020: find(_InputIterator __first, _InputIterator __last, 32020: const _Tp& __val) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: return std::__find_if(__first, __last, 32020: __gnu_cxx::__ops::__iter_equals_val(__val)); 32020: } 32020: # 3917 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _InputIterator 32020: find_if(_InputIterator __first, _InputIterator __last, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__find_if(__first, __last, 32020: __gnu_cxx::__ops::__pred_iter(__pred)); 32020: } 32020: # 3949 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _InputIterator 32020: find_first_of(_InputIterator __first1, _InputIterator __last1, 32020: _ForwardIterator __first2, _ForwardIterator __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1) 32020: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 32020: if (*__first1 == *__iter) 32020: return __first1; 32020: return __last1; 32020: } 32020: # 3990 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _InputIterator 32020: find_first_of(_InputIterator __first1, _InputIterator __last1, 32020: _ForwardIterator __first2, _ForwardIterator __last2, 32020: _BinaryPredicate __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1) 32020: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 32020: if (__comp(*__first1, *__iter)) 32020: return __first1; 32020: return __last1; 32020: } 32020: # 4023 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: adjacent_find(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__adjacent_find(__first, __last, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 4049 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__adjacent_find(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 32020: } 32020: # 4075 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline typename iterator_traits<_InputIterator>::difference_type 32020: count(_InputIterator __first, _InputIterator __last, const _Tp& __value) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__count_if(__first, __last, 32020: __gnu_cxx::__ops::__iter_equals_val(__value)); 32020: } 32020: # 4099 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline typename iterator_traits<_InputIterator>::difference_type 32020: count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__count_if(__first, __last, 32020: __gnu_cxx::__ops::__pred_iter(__pred)); 32020: } 32020: # 4140 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator1 32020: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__search(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_equal_to_iter()); 32020: } 32020: # 4180 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator1 32020: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 32020: _BinaryPredicate __predicate) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__search(__first1, __last1, __first2, __last2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__predicate)); 32020: } 32020: # 4216 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: search_n(_ForwardIterator __first, _ForwardIterator __last, 32020: _Integer __count, const _Tp& __val) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__search_n(__first, __last, __count, 32020: __gnu_cxx::__ops::__iter_equals_val(__val)); 32020: } 32020: # 4250 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: search_n(_ForwardIterator __first, _ForwardIterator __last, 32020: _Integer __count, const _Tp& __val, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__search_n(__first, __last, __count, 32020: __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); 32020: } 32020: # 4276 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: search(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Searcher& __searcher) 32020: { return __searcher(__first, __last).first; } 32020: # 4300 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _OutputIterator 32020: transform(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _UnaryOperation __unary_op) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first, (void)++__result) 32020: *__result = __unary_op(*__first); 32020: return __result; 32020: } 32020: # 4338 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _OutputIterator 32020: transform(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _OutputIterator __result, 32020: _BinaryOperation __binary_op) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) 32020: *__result = __binary_op(*__first1, *__first2); 32020: return __result; 32020: } 32020: # 4372 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: void 32020: replace(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __old_value, const _Tp& __new_value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: if (*__first == __old_value) 32020: *__first = __new_value; 32020: } 32020: # 4405 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: void 32020: replace_if(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred, const _Tp& __new_value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: if (__pred(*__first)) 32020: *__first = __new_value; 32020: } 32020: # 4438 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: void 32020: generate(_ForwardIterator __first, _ForwardIterator __last, 32020: _Generator __gen) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: *__first = __gen(); 32020: } 32020: # 4472 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: _OutputIterator 32020: generate_n(_OutputIterator __first, _Size __n, _Generator __gen) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: typedef __decltype(std::__size_to_integer(__n)) _IntSize; 32020: for (_IntSize __niter = std::__size_to_integer(__n); 32020: __niter > 0; --__niter, (void) ++__first) 32020: *__first = __gen(); 32020: return __first; 32020: } 32020: # 4510 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: unique_copy(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return __result; 32020: return std::__unique_copy(__first, __last, __result, 32020: __gnu_cxx::__ops::__iter_equal_to_iter(), 32020: std::__iterator_category(__first), 32020: std::__iterator_category(__result)); 32020: } 32020: # 4551 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: unique_copy(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, 32020: _BinaryPredicate __binary_pred) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return __result; 32020: return std::__unique_copy(__first, __last, __result, 32020: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred), 32020: std::__iterator_category(__first), 32020: std::__iterator_category(__result)); 32020: } 32020: # 4585 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: inline void 32020: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first != __last) 32020: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 32020: { 32020: 32020: _RandomAccessIterator __j = __first 32020: + std::rand() % ((__i - __first) + 1); 32020: if (__i != __j) 32020: std::iter_swap(__i, __j); 32020: } 32020: } 32020: # 4620 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: void 32020: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: 32020: _RandomNumberGenerator&& __rand) 32020: 32020: 32020: 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return; 32020: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 32020: { 32020: _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); 32020: if (__i != __j) 32020: std::iter_swap(__i, __j); 32020: } 32020: } 32020: # 4660 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _ForwardIterator 32020: partition(_ForwardIterator __first, _ForwardIterator __last, 32020: _Predicate __pred) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: return std::__partition(__first, __last, __pred, 32020: std::__iterator_category(__first)); 32020: } 32020: # 4694 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: partial_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: std::__partial_sort(__first, __middle, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 4733 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: partial_sort(_RandomAccessIterator __first, 32020: _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: std::__partial_sort(__first, __middle, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: # 4770 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 32020: _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: if (__first == __last || __nth == __last) 32020: return; 32020: 32020: std::__introselect(__first, __nth, __last, 32020: std::__lg(__last - __first) * 2, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 4810 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 32020: _RandomAccessIterator __last, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: if (__first == __last || __nth == __last) 32020: return; 32020: 32020: std::__introselect(__first, __nth, __last, 32020: std::__lg(__last - __first) * 2, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: # 4848 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 4879 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline void 32020: sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: _OutputIterator 32020: __merge(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: { 32020: if (__comp(__first2, __first1)) 32020: { 32020: *__result = *__first2; 32020: ++__first2; 32020: } 32020: else 32020: { 32020: *__result = *__first1; 32020: ++__first1; 32020: } 32020: ++__result; 32020: } 32020: return std::copy(__first2, __last2, 32020: std::copy(__first1, __last1, __result)); 32020: } 32020: # 4942 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: merge(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__merge(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 4993 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: merge(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__merge(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: inline void 32020: __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: typedef typename iterator_traits<_RandomAccessIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 32020: _DistanceType; 32020: 32020: typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf; 32020: _TmpBuf __buf(__first, std::distance(__first, __last)); 32020: 32020: if (__buf.begin() == 0) 32020: std::__inplace_stable_sort(__first, __last, __comp); 32020: else 32020: std::__stable_sort_adaptive(__first, __last, __buf.begin(), 32020: _DistanceType(__buf.size()), __comp); 32020: } 32020: # 5058 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: inline void 32020: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: std::__stable_sort(__first, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5092 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: inline void 32020: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: std::__stable_sort(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: _OutputIterator 32020: __set_union(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: { 32020: if (__comp(__first1, __first2)) 32020: { 32020: *__result = *__first1; 32020: ++__first1; 32020: } 32020: else if (__comp(__first2, __first1)) 32020: { 32020: *__result = *__first2; 32020: ++__first2; 32020: } 32020: else 32020: { 32020: *__result = *__first1; 32020: ++__first1; 32020: ++__first2; 32020: } 32020: ++__result; 32020: } 32020: return std::copy(__first2, __last2, 32020: std::copy(__first1, __last1, __result)); 32020: } 32020: # 5162 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_union(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5213 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_union(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: _OutputIterator 32020: __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: if (__comp(__first1, __first2)) 32020: ++__first1; 32020: else if (__comp(__first2, __first1)) 32020: ++__first2; 32020: else 32020: { 32020: *__result = *__first1; 32020: ++__first1; 32020: ++__first2; 32020: ++__result; 32020: } 32020: return __result; 32020: } 32020: # 5286 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_intersection(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5336 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_intersection(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: _OutputIterator 32020: __set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: if (__comp(__first1, __first2)) 32020: { 32020: *__result = *__first1; 32020: ++__first1; 32020: ++__result; 32020: } 32020: else if (__comp(__first2, __first1)) 32020: ++__first2; 32020: else 32020: { 32020: ++__first1; 32020: ++__first2; 32020: } 32020: return std::copy(__first1, __last1, __result); 32020: } 32020: # 5411 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_difference(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5463 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_difference(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: 32020: _OutputIterator 32020: __set_symmetric_difference(_InputIterator1 __first1, 32020: _InputIterator1 __last1, 32020: _InputIterator2 __first2, 32020: _InputIterator2 __last2, 32020: _OutputIterator __result, 32020: _Compare __comp) 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: if (__comp(__first1, __first2)) 32020: { 32020: *__result = *__first1; 32020: ++__first1; 32020: ++__result; 32020: } 32020: else if (__comp(__first2, __first1)) 32020: { 32020: *__result = *__first2; 32020: ++__first2; 32020: ++__result; 32020: } 32020: else 32020: { 32020: ++__first1; 32020: ++__first2; 32020: } 32020: return std::copy(__first2, __last2, 32020: std::copy(__first1, __last1, __result)); 32020: } 32020: # 5544 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_symmetric_difference(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5596 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: 32020: inline _OutputIterator 32020: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _InputIterator2 __last2, 32020: _OutputIterator __result, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: ; 32020: ; 32020: 32020: return std::__set_symmetric_difference(__first1, __last1, 32020: __first2, __last2, __result, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: constexpr 32020: _ForwardIterator 32020: __min_element(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: if (__first == __last) 32020: return __first; 32020: _ForwardIterator __result = __first; 32020: while (++__first != __last) 32020: if (__comp(__first, __result)) 32020: __result = __first; 32020: return __result; 32020: } 32020: # 5650 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: _ForwardIterator 32020: inline min_element(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__min_element(__first, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5675 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline _ForwardIterator 32020: min_element(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__min_element(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: template 32020: constexpr 32020: _ForwardIterator 32020: __max_element(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: if (__first == __last) return __first; 32020: _ForwardIterator __result = __first; 32020: while (++__first != __last) 32020: if (__comp(__result, __first)) 32020: __result = __first; 32020: return __result; 32020: } 32020: # 5714 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline _ForwardIterator 32020: max_element(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__max_element(__first, __last, 32020: __gnu_cxx::__ops::__iter_less_iter()); 32020: } 32020: # 5739 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_algo.h" 3 32020: template 32020: constexpr 32020: inline _ForwardIterator 32020: max_element(_ForwardIterator __first, _ForwardIterator __last, 32020: _Compare __comp) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: ; 32020: 32020: return std::__max_element(__first, __last, 32020: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 32020: } 32020: 32020: 32020: 32020: template 32020: _RandomAccessIterator 32020: __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag, 32020: _RandomAccessIterator __out, random_access_iterator_tag, 32020: _Size __n, _UniformRandomBitGenerator&& __g) 32020: { 32020: using __distrib_type = uniform_int_distribution<_Size>; 32020: using __param_type = typename __distrib_type::param_type; 32020: __distrib_type __d{}; 32020: _Size __sample_sz = 0; 32020: while (__first != __last && __sample_sz != __n) 32020: { 32020: __out[__sample_sz++] = *__first; 32020: ++__first; 32020: } 32020: for (auto __pop_sz = __sample_sz; __first != __last; 32020: ++__first, (void) ++__pop_sz) 32020: { 32020: const auto __k = __d(__g, __param_type{0, __pop_sz}); 32020: if (__k < __n) 32020: __out[__k] = *__first; 32020: } 32020: return __out + __sample_sz; 32020: } 32020: 32020: 32020: template 32020: _OutputIterator 32020: __sample(_ForwardIterator __first, _ForwardIterator __last, 32020: forward_iterator_tag, 32020: _OutputIterator __out, _Cat, 32020: _Size __n, _UniformRandomBitGenerator&& __g) 32020: { 32020: using __distrib_type = uniform_int_distribution<_Size>; 32020: using __param_type = typename __distrib_type::param_type; 32020: using _USize = make_unsigned_t<_Size>; 32020: using _Gen = remove_reference_t<_UniformRandomBitGenerator>; 32020: using __uc_type = common_type_t; 32020: 32020: if (__first == __last) 32020: return __out; 32020: 32020: __distrib_type __d{}; 32020: _Size __unsampled_sz = std::distance(__first, __last); 32020: __n = std::min(__n, __unsampled_sz); 32020: 32020: 32020: 32020: 32020: const __uc_type __urngrange = __g.max() - __g.min(); 32020: if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz)) 32020: 32020: 32020: { 32020: while (__n != 0 && __unsampled_sz >= 2) 32020: { 32020: const pair<_Size, _Size> __p = 32020: __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g); 32020: 32020: --__unsampled_sz; 32020: if (__p.first < __n) 32020: { 32020: *__out++ = *__first; 32020: --__n; 32020: } 32020: 32020: ++__first; 32020: 32020: if (__n == 0) break; 32020: 32020: --__unsampled_sz; 32020: if (__p.second < __n) 32020: { 32020: *__out++ = *__first; 32020: --__n; 32020: } 32020: 32020: ++__first; 32020: } 32020: } 32020: 32020: 32020: 32020: for (; __n != 0; ++__first) 32020: if (__d(__g, __param_type{0, --__unsampled_sz}) < __n) 32020: { 32020: *__out++ = *__first; 32020: --__n; 32020: } 32020: return __out; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: _SampleIterator 32020: sample(_PopulationIterator __first, _PopulationIterator __last, 32020: _SampleIterator __out, _Distance __n, 32020: _UniformRandomBitGenerator&& __g) 32020: { 32020: using __pop_cat = typename 32020: std::iterator_traits<_PopulationIterator>::iterator_category; 32020: using __samp_cat = typename 32020: std::iterator_traits<_SampleIterator>::iterator_category; 32020: 32020: static_assert( 32020: __or_, 32020: is_convertible<__samp_cat, random_access_iterator_tag>>::value, 32020: "output range must use a RandomAccessIterator when input range" 32020: " does not meet the ForwardIterator requirements"); 32020: 32020: static_assert(is_integral<_Distance>::value, 32020: "sample size must be an integer type"); 32020: 32020: typename iterator_traits<_PopulationIterator>::difference_type __d = __n; 32020: return std:: 32020: __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d, 32020: std::forward<_UniformRandomBitGenerator>(__g)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 2 3 32020: # 74 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h" 1 3 32020: # 13 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 1 3 32020: # 46 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/array" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/array" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/array" 3 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/array" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: struct __array_traits 32020: { 32020: typedef _Tp _Type[_Nm]; 32020: typedef __is_swappable<_Tp> _Is_swappable; 32020: typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable; 32020: 32020: static constexpr _Tp& 32020: _S_ref(const _Type& __t, std::size_t __n) noexcept 32020: { return const_cast<_Tp&>(__t[__n]); } 32020: 32020: static constexpr _Tp* 32020: _S_ptr(const _Type& __t) noexcept 32020: { return const_cast<_Tp*>(__t); } 32020: }; 32020: 32020: template 32020: struct __array_traits<_Tp, 0> 32020: { 32020: struct _Type { }; 32020: typedef true_type _Is_swappable; 32020: typedef true_type _Is_nothrow_swappable; 32020: 32020: static constexpr _Tp& 32020: _S_ref(const _Type&, std::size_t) noexcept 32020: { return *static_cast<_Tp*>(nullptr); } 32020: 32020: static constexpr _Tp* 32020: _S_ptr(const _Type&) noexcept 32020: { return nullptr; } 32020: }; 32020: # 93 "/usr/arm-linux-gnueabihf/include/c++/10/array" 3 32020: template 32020: struct array 32020: { 32020: typedef _Tp value_type; 32020: typedef value_type* pointer; 32020: typedef const value_type* const_pointer; 32020: typedef value_type& reference; 32020: typedef const value_type& const_reference; 32020: typedef value_type* iterator; 32020: typedef const value_type* const_iterator; 32020: typedef std::size_t size_type; 32020: typedef std::ptrdiff_t difference_type; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: 32020: typedef std::__array_traits<_Tp, _Nm> _AT_Type; 32020: typename _AT_Type::_Type _M_elems; 32020: 32020: 32020: 32020: 32020: void 32020: fill(const value_type& __u) 32020: { std::fill_n(begin(), size(), __u); } 32020: 32020: void 32020: swap(array& __other) 32020: noexcept(_AT_Type::_Is_nothrow_swappable::value) 32020: { std::swap_ranges(begin(), end(), __other.begin()); } 32020: 32020: 32020: constexpr iterator 32020: begin() noexcept 32020: { return iterator(data()); } 32020: 32020: constexpr const_iterator 32020: begin() const noexcept 32020: { return const_iterator(data()); } 32020: 32020: constexpr iterator 32020: end() noexcept 32020: { return iterator(data() + _Nm); } 32020: 32020: constexpr const_iterator 32020: end() const noexcept 32020: { return const_iterator(data() + _Nm); } 32020: 32020: constexpr reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(end()); } 32020: 32020: constexpr const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: constexpr reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(begin()); } 32020: 32020: constexpr const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: constexpr const_iterator 32020: cbegin() const noexcept 32020: { return const_iterator(data()); } 32020: 32020: constexpr const_iterator 32020: cend() const noexcept 32020: { return const_iterator(data() + _Nm); } 32020: 32020: constexpr const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: constexpr const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: constexpr size_type 32020: size() const noexcept { return _Nm; } 32020: 32020: constexpr size_type 32020: max_size() const noexcept { return _Nm; } 32020: 32020: [[__nodiscard__]] constexpr bool 32020: empty() const noexcept { return size() == 0; } 32020: 32020: 32020: constexpr reference 32020: operator[](size_type __n) noexcept 32020: { return _AT_Type::_S_ref(_M_elems, __n); } 32020: 32020: constexpr const_reference 32020: operator[](size_type __n) const noexcept 32020: { return _AT_Type::_S_ref(_M_elems, __n); } 32020: 32020: constexpr reference 32020: at(size_type __n) 32020: { 32020: if (__n >= _Nm) 32020: std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 32020: , 32020: __n, _Nm); 32020: return _AT_Type::_S_ref(_M_elems, __n); 32020: } 32020: 32020: constexpr const_reference 32020: at(size_type __n) const 32020: { 32020: 32020: 32020: return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n) 32020: : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 32020: , 32020: __n, _Nm), 32020: _AT_Type::_S_ref(_M_elems, 0)); 32020: } 32020: 32020: constexpr reference 32020: front() noexcept 32020: { return *begin(); } 32020: 32020: constexpr const_reference 32020: front() const noexcept 32020: { return _AT_Type::_S_ref(_M_elems, 0); } 32020: 32020: constexpr reference 32020: back() noexcept 32020: { return _Nm ? *(end() - 1) : *end(); } 32020: 32020: constexpr const_reference 32020: back() const noexcept 32020: { 32020: return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) 32020: : _AT_Type::_S_ref(_M_elems, 0); 32020: } 32020: 32020: constexpr pointer 32020: data() noexcept 32020: { return _AT_Type::_S_ptr(_M_elems); } 32020: 32020: constexpr const_pointer 32020: data() const noexcept 32020: { return _AT_Type::_S_ptr(_M_elems); } 32020: }; 32020: 32020: 32020: template 32020: array(_Tp, _Up...) 32020: -> array && ...), _Tp>, 32020: 1 + sizeof...(_Up)>; 32020: 32020: 32020: 32020: template 32020: 32020: inline bool 32020: operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 32020: { return std::equal(__one.begin(), __one.end(), __two.begin()); } 32020: # 279 "/usr/arm-linux-gnueabihf/include/c++/10/array" 3 32020: template 32020: 32020: inline bool 32020: operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 32020: { return !(__one == __two); } 32020: 32020: template 32020: 32020: inline bool 32020: operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) 32020: { 32020: return std::lexicographical_compare(__a.begin(), __a.end(), 32020: __b.begin(), __b.end()); 32020: } 32020: 32020: template 32020: 32020: inline bool 32020: operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 32020: { return __two < __one; } 32020: 32020: template 32020: 32020: inline bool 32020: operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 32020: { return !(__one > __two); } 32020: 32020: template 32020: 32020: inline bool 32020: operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 32020: { return !(__one < __two); } 32020: 32020: 32020: 32020: template 32020: 32020: inline 32020: 32020: 32020: typename enable_if< 32020: std::__array_traits<_Tp, _Nm>::_Is_swappable::value 32020: >::type 32020: 32020: 32020: 32020: swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) 32020: noexcept(noexcept(__one.swap(__two))) 32020: { __one.swap(__two); } 32020: 32020: 32020: template 32020: typename enable_if< 32020: !std::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type 32020: swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete; 32020: 32020: 32020: template 32020: constexpr _Tp& 32020: get(array<_Tp, _Nm>& __arr) noexcept 32020: { 32020: static_assert(_Int < _Nm, "array index is within bounds"); 32020: return std::__array_traits<_Tp, _Nm>:: 32020: _S_ref(__arr._M_elems, _Int); 32020: } 32020: 32020: template 32020: constexpr _Tp&& 32020: get(array<_Tp, _Nm>&& __arr) noexcept 32020: { 32020: static_assert(_Int < _Nm, "array index is within bounds"); 32020: return std::move(std::get<_Int>(__arr)); 32020: } 32020: 32020: template 32020: constexpr const _Tp& 32020: get(const array<_Tp, _Nm>& __arr) noexcept 32020: { 32020: static_assert(_Int < _Nm, "array index is within bounds"); 32020: return std::__array_traits<_Tp, _Nm>:: 32020: _S_ref(__arr._M_elems, _Int); 32020: } 32020: 32020: template 32020: constexpr const _Tp&& 32020: get(const array<_Tp, _Nm>&& __arr) noexcept 32020: { 32020: static_assert(_Int < _Nm, "array index is within bounds"); 32020: return std::move(std::get<_Int>(__arr)); 32020: } 32020: # 408 "/usr/arm-linux-gnueabihf/include/c++/10/array" 3 32020: 32020: } 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct tuple_size; 32020: 32020: 32020: template 32020: struct tuple_size> 32020: : public integral_constant { }; 32020: 32020: 32020: template 32020: struct tuple_element; 32020: 32020: 32020: template 32020: struct tuple_element<_Int, std::array<_Tp, _Nm>> 32020: { 32020: static_assert(_Int < _Nm, "index is out of bounds"); 32020: typedef _Tp type; 32020: }; 32020: 32020: template 32020: struct __is_tuple_like_impl> : true_type 32020: { }; 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uses_allocator.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/uses_allocator.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: struct __erased_type { }; 32020: 32020: 32020: 32020: 32020: template 32020: using __is_erased_or_convertible 32020: = __or_, is_same<_Tp, __erased_type>>; 32020: 32020: 32020: struct allocator_arg_t { explicit allocator_arg_t() = default; }; 32020: 32020: inline constexpr allocator_arg_t allocator_arg = 32020: allocator_arg_t(); 32020: 32020: template> 32020: struct __uses_allocator_helper 32020: : false_type { }; 32020: 32020: template 32020: struct __uses_allocator_helper<_Tp, _Alloc, 32020: __void_t> 32020: : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type 32020: { }; 32020: 32020: 32020: template 32020: struct uses_allocator 32020: : __uses_allocator_helper<_Tp, _Alloc>::type 32020: { }; 32020: 32020: struct __uses_alloc_base { }; 32020: 32020: struct __uses_alloc0 : __uses_alloc_base 32020: { 32020: struct _Sink { void operator=(const void*) { } } _M_a; 32020: }; 32020: 32020: template 32020: struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; 32020: 32020: template 32020: struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; 32020: 32020: template 32020: struct __uses_alloc; 32020: 32020: template 32020: struct __uses_alloc 32020: : conditional< 32020: is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value, 32020: __uses_alloc1<_Alloc>, 32020: __uses_alloc2<_Alloc>>::type 32020: { 32020: 32020: 32020: static_assert(__or_< 32020: is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>, 32020: is_constructible<_Tp, _Args..., const _Alloc&>>::value, 32020: "construction with an allocator must be possible" 32020: " if uses_allocator is true"); 32020: }; 32020: 32020: template 32020: struct __uses_alloc 32020: : __uses_alloc0 { }; 32020: 32020: template 32020: using __uses_alloc_t = 32020: __uses_alloc::value, _Tp, _Alloc, _Args...>; 32020: 32020: template 32020: 32020: inline __uses_alloc_t<_Tp, _Alloc, _Args...> 32020: __use_alloc(const _Alloc& __a) 32020: { 32020: __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; 32020: __ret._M_a = std::__addressof(__a); 32020: return __ret; 32020: } 32020: 32020: template 32020: void 32020: __use_alloc(const _Alloc&&) = delete; 32020: 32020: 32020: template 32020: inline constexpr bool uses_allocator_v = 32020: uses_allocator<_Tp, _Alloc>::value; 32020: 32020: 32020: template class _Predicate, 32020: typename _Tp, typename _Alloc, typename... _Args> 32020: struct __is_uses_allocator_predicate 32020: : conditional::value, 32020: __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, 32020: _Predicate<_Tp, _Args..., _Alloc>>, 32020: _Predicate<_Tp, _Args...>>::type { }; 32020: 32020: template 32020: struct __is_uses_allocator_constructible 32020: : __is_uses_allocator_predicate 32020: { }; 32020: 32020: 32020: template 32020: inline constexpr bool __is_uses_allocator_constructible_v = 32020: __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; 32020: 32020: 32020: template 32020: struct __is_nothrow_uses_allocator_constructible 32020: : __is_uses_allocator_predicate 32020: { }; 32020: 32020: 32020: 32020: template 32020: inline constexpr bool 32020: __is_nothrow_uses_allocator_constructible_v = 32020: __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; 32020: 32020: 32020: template 32020: void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr, 32020: _Args&&... __args) 32020: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } 32020: 32020: template 32020: void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, 32020: _Args&&... __args) 32020: { 32020: ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: template 32020: void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, 32020: _Args&&... __args) 32020: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } 32020: 32020: template 32020: void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, 32020: _Args&&... __args) 32020: { 32020: std::__uses_allocator_construct_impl( 32020: std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr, 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: } 32020: # 41 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/invoke.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/invoke.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/invoke.h" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 52 "/usr/arm-linux-gnueabihf/include/c++/10/bits/invoke.h" 3 32020: template::type> 32020: constexpr _Up&& 32020: __invfwd(typename remove_reference<_Tp>::type& __t) noexcept 32020: { return static_cast<_Up&&>(__t); } 32020: 32020: template 32020: constexpr _Res 32020: __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) 32020: { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } 32020: 32020: template 32020: constexpr _Res 32020: __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, 32020: _Args&&... __args) 32020: { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } 32020: 32020: template 32020: constexpr _Res 32020: __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, 32020: _Args&&... __args) 32020: { 32020: return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); 32020: } 32020: 32020: template 32020: constexpr _Res 32020: __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) 32020: { return __invfwd<_Tp>(__t).*__f; } 32020: 32020: template 32020: constexpr _Res 32020: __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) 32020: { return (*std::forward<_Tp>(__t)).*__f; } 32020: 32020: 32020: template 32020: constexpr typename __invoke_result<_Callable, _Args...>::type 32020: __invoke(_Callable&& __fn, _Args&&... __args) 32020: noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) 32020: { 32020: using __result = __invoke_result<_Callable, _Args...>; 32020: using __type = typename __result::type; 32020: using __tag = typename __result::__invoke_type; 32020: return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: 32020: template 32020: constexpr enable_if_t, _Res> 32020: __invoke_r(_Callable&& __fn, _Args&&... __args) 32020: noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>) 32020: { 32020: using __result = __invoke_result<_Callable, _Args...>; 32020: using __type = typename __result::type; 32020: using __tag = typename __result::__invoke_type; 32020: if constexpr (is_void_v<_Res>) 32020: std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), 32020: std::forward<_Args>(__args)...); 32020: else 32020: return std::__invoke_impl<__type>(__tag{}, 32020: std::forward<_Callable>(__fn), 32020: std::forward<_Args>(__args)...); 32020: } 32020: # 158 "/usr/arm-linux-gnueabihf/include/c++/10/bits/invoke.h" 3 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 2 3 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class tuple; 32020: 32020: template 32020: struct __is_empty_non_tuple : is_empty<_Tp> { }; 32020: 32020: 32020: template 32020: struct __is_empty_non_tuple> : false_type { }; 32020: 32020: 32020: template 32020: using __empty_not_final 32020: = typename conditional<__is_final(_Tp), false_type, 32020: __is_empty_non_tuple<_Tp>>::type; 32020: 32020: template::value> 32020: struct _Head_base; 32020: 32020: template 32020: struct _Head_base<_Idx, _Head, true> 32020: : public _Head 32020: { 32020: constexpr _Head_base() 32020: : _Head() { } 32020: 32020: constexpr _Head_base(const _Head& __h) 32020: : _Head(__h) { } 32020: 32020: constexpr _Head_base(const _Head_base&) = default; 32020: constexpr _Head_base(_Head_base&&) = default; 32020: 32020: template 32020: constexpr _Head_base(_UHead&& __h) 32020: : _Head(std::forward<_UHead>(__h)) { } 32020: 32020: _Head_base(allocator_arg_t, __uses_alloc0) 32020: : _Head() { } 32020: 32020: template 32020: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 32020: : _Head(allocator_arg, *__a._M_a) { } 32020: 32020: template 32020: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 32020: : _Head(*__a._M_a) { } 32020: 32020: template 32020: _Head_base(__uses_alloc0, _UHead&& __uhead) 32020: : _Head(std::forward<_UHead>(__uhead)) { } 32020: 32020: template 32020: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 32020: : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } 32020: 32020: template 32020: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 32020: : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { } 32020: 32020: static constexpr _Head& 32020: _M_head(_Head_base& __b) noexcept { return __b; } 32020: 32020: static constexpr const _Head& 32020: _M_head(const _Head_base& __b) noexcept { return __b; } 32020: }; 32020: 32020: template 32020: struct _Head_base<_Idx, _Head, false> 32020: { 32020: constexpr _Head_base() 32020: : _M_head_impl() { } 32020: 32020: constexpr _Head_base(const _Head& __h) 32020: : _M_head_impl(__h) { } 32020: 32020: constexpr _Head_base(const _Head_base&) = default; 32020: constexpr _Head_base(_Head_base&&) = default; 32020: 32020: template 32020: constexpr _Head_base(_UHead&& __h) 32020: : _M_head_impl(std::forward<_UHead>(__h)) { } 32020: 32020: 32020: _Head_base(allocator_arg_t, __uses_alloc0) 32020: : _M_head_impl() { } 32020: 32020: template 32020: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 32020: : _M_head_impl(allocator_arg, *__a._M_a) { } 32020: 32020: template 32020: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 32020: : _M_head_impl(*__a._M_a) { } 32020: 32020: template 32020: 32020: _Head_base(__uses_alloc0, _UHead&& __uhead) 32020: : _M_head_impl(std::forward<_UHead>(__uhead)) { } 32020: 32020: template 32020: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 32020: : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) 32020: { } 32020: 32020: template 32020: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 32020: : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } 32020: 32020: static constexpr _Head& 32020: _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } 32020: 32020: static constexpr const _Head& 32020: _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } 32020: 32020: _Head _M_head_impl; 32020: }; 32020: # 182 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 3 32020: template 32020: struct _Tuple_impl; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Tuple_impl<_Idx, _Head, _Tail...> 32020: : public _Tuple_impl<_Idx + 1, _Tail...>, 32020: private _Head_base<_Idx, _Head> 32020: { 32020: template friend class _Tuple_impl; 32020: 32020: typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; 32020: typedef _Head_base<_Idx, _Head> _Base; 32020: 32020: static constexpr _Head& 32020: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 32020: 32020: static constexpr const _Head& 32020: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 32020: 32020: static constexpr _Inherited& 32020: _M_tail(_Tuple_impl& __t) noexcept { return __t; } 32020: 32020: static constexpr const _Inherited& 32020: _M_tail(const _Tuple_impl& __t) noexcept { return __t; } 32020: 32020: constexpr _Tuple_impl() 32020: : _Inherited(), _Base() { } 32020: 32020: explicit 32020: constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) 32020: : _Inherited(__tail...), _Base(__head) { } 32020: 32020: template::type> 32020: explicit 32020: constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) 32020: : _Inherited(std::forward<_UTail>(__tail)...), 32020: _Base(std::forward<_UHead>(__head)) { } 32020: 32020: constexpr _Tuple_impl(const _Tuple_impl&) = default; 32020: 32020: 32020: 32020: _Tuple_impl& operator=(const _Tuple_impl&) = delete; 32020: 32020: constexpr 32020: _Tuple_impl(_Tuple_impl&& __in) 32020: noexcept(__and_, 32020: is_nothrow_move_constructible<_Inherited>>::value) 32020: : _Inherited(std::move(_M_tail(__in))), 32020: _Base(std::forward<_Head>(_M_head(__in))) { } 32020: 32020: template 32020: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) 32020: : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 32020: _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 32020: 32020: template 32020: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 32020: : _Inherited(std::move 32020: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 32020: _Base(std::forward<_UHead> 32020: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 32020: : _Inherited(__tag, __a), 32020: _Base(__tag, __use_alloc<_Head>(__a)) { } 32020: 32020: template 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Head& __head, const _Tail&... __tail) 32020: : _Inherited(__tag, __a, __tail...), 32020: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 32020: 32020: template::type> 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: _UHead&& __head, _UTail&&... __tail) 32020: : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), 32020: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 32020: std::forward<_UHead>(__head)) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Tuple_impl& __in) 32020: : _Inherited(__tag, __a, _M_tail(__in)), 32020: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: _Tuple_impl&& __in) 32020: : _Inherited(__tag, __a, std::move(_M_tail(__in))), 32020: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 32020: std::forward<_Head>(_M_head(__in))) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Tuple_impl<_Idx, _UHead, _UTails...>& __in) 32020: : _Inherited(__tag, __a, 32020: _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)), 32020: _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), 32020: _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 32020: : _Inherited(__tag, __a, std::move 32020: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 32020: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 32020: std::forward<_UHead> 32020: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 32020: 32020: template 32020: 32020: void 32020: _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in) 32020: { 32020: _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); 32020: _M_tail(*this)._M_assign( 32020: _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)); 32020: } 32020: 32020: template 32020: 32020: void 32020: _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 32020: { 32020: _M_head(*this) = std::forward<_UHead> 32020: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); 32020: _M_tail(*this)._M_assign( 32020: std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))); 32020: } 32020: 32020: protected: 32020: 32020: void 32020: _M_swap(_Tuple_impl& __in) 32020: { 32020: using std::swap; 32020: swap(_M_head(*this), _M_head(__in)); 32020: _Inherited::_M_swap(_M_tail(__in)); 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Tuple_impl<_Idx, _Head> 32020: : private _Head_base<_Idx, _Head> 32020: { 32020: template friend class _Tuple_impl; 32020: 32020: typedef _Head_base<_Idx, _Head> _Base; 32020: 32020: static constexpr _Head& 32020: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 32020: 32020: static constexpr const _Head& 32020: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 32020: 32020: constexpr _Tuple_impl() 32020: : _Base() { } 32020: 32020: explicit 32020: constexpr _Tuple_impl(const _Head& __head) 32020: : _Base(__head) { } 32020: 32020: template 32020: explicit 32020: constexpr _Tuple_impl(_UHead&& __head) 32020: : _Base(std::forward<_UHead>(__head)) { } 32020: 32020: constexpr _Tuple_impl(const _Tuple_impl&) = default; 32020: 32020: 32020: 32020: _Tuple_impl& operator=(const _Tuple_impl&) = delete; 32020: 32020: constexpr 32020: _Tuple_impl(_Tuple_impl&& __in) 32020: noexcept(is_nothrow_move_constructible<_Head>::value) 32020: : _Base(std::forward<_Head>(_M_head(__in))) { } 32020: 32020: template 32020: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) 32020: : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 32020: 32020: template 32020: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) 32020: : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 32020: { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 32020: : _Base(__tag, __use_alloc<_Head>(__a)) { } 32020: 32020: template 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Head& __head) 32020: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: _UHead&& __head) 32020: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 32020: std::forward<_UHead>(__head)) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Tuple_impl& __in) 32020: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: _Tuple_impl&& __in) 32020: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 32020: std::forward<_Head>(_M_head(__in))) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Tuple_impl<_Idx, _UHead>& __in) 32020: : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), 32020: _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 32020: 32020: template 32020: 32020: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 32020: _Tuple_impl<_Idx, _UHead>&& __in) 32020: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 32020: std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 32020: { } 32020: 32020: template 32020: 32020: void 32020: _M_assign(const _Tuple_impl<_Idx, _UHead>& __in) 32020: { 32020: _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); 32020: } 32020: 32020: template 32020: 32020: void 32020: _M_assign(_Tuple_impl<_Idx, _UHead>&& __in) 32020: { 32020: _M_head(*this) 32020: = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); 32020: } 32020: 32020: protected: 32020: 32020: void 32020: _M_swap(_Tuple_impl& __in) 32020: { 32020: using std::swap; 32020: swap(_M_head(*this), _M_head(__in)); 32020: } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct _TupleConstraints 32020: { 32020: 32020: 32020: 32020: template 32020: static constexpr bool __is_implicitly_constructible() 32020: { 32020: return __and_..., 32020: is_convertible<_UTypes, _Types>... 32020: >::value; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: static constexpr bool __is_explicitly_constructible() 32020: { 32020: return __and_..., 32020: __not_<__and_...>> 32020: >::value; 32020: } 32020: 32020: static constexpr bool __is_implicitly_default_constructible() 32020: { 32020: return __and_... 32020: >::value; 32020: } 32020: 32020: static constexpr bool __is_explicitly_default_constructible() 32020: { 32020: return __and_..., 32020: __not_<__and_< 32020: std::__is_implicitly_default_constructible<_Types>...> 32020: >>::value; 32020: } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct _TupleConstraints 32020: { 32020: template 32020: static constexpr bool __is_implicitly_constructible() 32020: { return false; } 32020: 32020: template 32020: static constexpr bool __is_explicitly_constructible() 32020: { return false; } 32020: }; 32020: 32020: 32020: template 32020: class tuple : public _Tuple_impl<0, _Elements...> 32020: { 32020: typedef _Tuple_impl<0, _Elements...> _Inherited; 32020: 32020: template 32020: using _TCC = _TupleConstraints<_Cond, _Elements...>; 32020: 32020: 32020: template 32020: using _ImplicitDefaultCtor = __enable_if_t< 32020: _TCC<_Dummy>::__is_implicitly_default_constructible(), 32020: bool>; 32020: 32020: 32020: template 32020: using _ExplicitDefaultCtor = __enable_if_t< 32020: _TCC<_Dummy>::__is_explicitly_default_constructible(), 32020: bool>; 32020: 32020: 32020: template 32020: using _ImplicitCtor = __enable_if_t< 32020: _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(), 32020: bool>; 32020: 32020: 32020: template 32020: using _ExplicitCtor = __enable_if_t< 32020: _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(), 32020: bool>; 32020: 32020: template 32020: static constexpr 32020: __enable_if_t 32020: __assignable() 32020: { return __and_...>::value; } 32020: 32020: 32020: template 32020: static constexpr bool __nothrow_assignable() 32020: { 32020: return 32020: __and_...>::value; 32020: } 32020: 32020: 32020: template 32020: static constexpr bool __nothrow_constructible() 32020: { 32020: return 32020: __and_...>::value; 32020: } 32020: 32020: 32020: template 32020: static constexpr bool __valid_args() 32020: { 32020: return sizeof...(_Elements) == 1 32020: && !is_same>::value; 32020: } 32020: 32020: 32020: template 32020: static constexpr bool __valid_args() 32020: { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); } 32020: # 591 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 3 32020: template> 32020: struct _UseOtherCtor 32020: : false_type 32020: { }; 32020: 32020: 32020: template 32020: struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>> 32020: : __or_, is_constructible<_Tp, _Tuple>> 32020: { }; 32020: 32020: 32020: template 32020: struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>> 32020: : true_type 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: static constexpr bool __use_other_ctor() 32020: { return _UseOtherCtor<_Tuple>::value; } 32020: 32020: public: 32020: template::value> = true> 32020: constexpr 32020: tuple() 32020: noexcept(__and_...>::value) 32020: : _Inherited() { } 32020: 32020: template::value> = false> 32020: explicit constexpr 32020: tuple() 32020: noexcept(__and_...>::value) 32020: : _Inherited() { } 32020: 32020: template= 1), 32020: _ImplicitCtor<_NotEmpty, const _Elements&...> = true> 32020: constexpr 32020: tuple(const _Elements&... __elements) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(__elements...) { } 32020: 32020: template= 1), 32020: _ExplicitCtor<_NotEmpty, const _Elements&...> = false> 32020: explicit constexpr 32020: tuple(const _Elements&... __elements) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(__elements...) { } 32020: 32020: template(), 32020: _ImplicitCtor<_Valid, _UElements...> = true> 32020: constexpr 32020: tuple(_UElements&&... __elements) 32020: noexcept(__nothrow_constructible<_UElements...>()) 32020: : _Inherited(std::forward<_UElements>(__elements)...) { } 32020: 32020: template(), 32020: _ExplicitCtor<_Valid, _UElements...> = false> 32020: explicit constexpr 32020: tuple(_UElements&&... __elements) 32020: noexcept(__nothrow_constructible<_UElements...>()) 32020: : _Inherited(std::forward<_UElements>(__elements)...) { } 32020: 32020: constexpr tuple(const tuple&) = default; 32020: 32020: constexpr tuple(tuple&&) = default; 32020: 32020: template&>(), 32020: _ImplicitCtor<_Valid, const _UElements&...> = true> 32020: constexpr 32020: tuple(const tuple<_UElements...>& __in) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(static_cast&>(__in)) 32020: { } 32020: 32020: template&>(), 32020: _ExplicitCtor<_Valid, const _UElements&...> = false> 32020: explicit constexpr 32020: tuple(const tuple<_UElements...>& __in) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(static_cast&>(__in)) 32020: { } 32020: 32020: template&&>(), 32020: _ImplicitCtor<_Valid, _UElements...> = true> 32020: constexpr 32020: tuple(tuple<_UElements...>&& __in) 32020: noexcept(__nothrow_constructible<_UElements...>()) 32020: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 32020: 32020: template&&>(), 32020: _ExplicitCtor<_Valid, _UElements...> = false> 32020: explicit constexpr 32020: tuple(tuple<_UElements...>&& __in) 32020: noexcept(__nothrow_constructible<_UElements...>()) 32020: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 32020: 32020: 32020: 32020: template::value> = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a) 32020: : _Inherited(__tag, __a) { } 32020: 32020: template= 1), 32020: _ImplicitCtor<_NotEmpty, const _Elements&...> = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Elements&... __elements) 32020: : _Inherited(__tag, __a, __elements...) { } 32020: 32020: template= 1), 32020: _ExplicitCtor<_NotEmpty, const _Elements&...> = false> 32020: 32020: explicit 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const _Elements&... __elements) 32020: : _Inherited(__tag, __a, __elements...) { } 32020: 32020: template(), 32020: _ImplicitCtor<_Valid, _UElements...> = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: _UElements&&... __elements) 32020: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 32020: { } 32020: 32020: template(), 32020: _ExplicitCtor<_Valid, _UElements...> = false> 32020: 32020: explicit 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: _UElements&&... __elements) 32020: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 32020: { } 32020: 32020: template 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 32020: : _Inherited(__tag, __a, static_cast(__in)) { } 32020: 32020: template 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 32020: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 32020: 32020: template&>(), 32020: _ImplicitCtor<_Valid, const _UElements&...> = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const tuple<_UElements...>& __in) 32020: : _Inherited(__tag, __a, 32020: static_cast&>(__in)) 32020: { } 32020: 32020: template&>(), 32020: _ExplicitCtor<_Valid, const _UElements&...> = false> 32020: 32020: explicit 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const tuple<_UElements...>& __in) 32020: : _Inherited(__tag, __a, 32020: static_cast&>(__in)) 32020: { } 32020: 32020: template&&>(), 32020: _ImplicitCtor<_Valid, _UElements...> = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: tuple<_UElements...>&& __in) 32020: : _Inherited(__tag, __a, 32020: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 32020: { } 32020: 32020: template&&>(), 32020: _ExplicitCtor<_Valid, _UElements...> = false> 32020: 32020: explicit 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: tuple<_UElements...>&& __in) 32020: : _Inherited(__tag, __a, 32020: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 32020: { } 32020: 32020: 32020: 32020: 32020: tuple& 32020: operator=(typename conditional<__assignable(), 32020: const tuple&, 32020: const __nonesuch&>::type __in) 32020: noexcept(__nothrow_assignable()) 32020: { 32020: this->_M_assign(__in); 32020: return *this; 32020: } 32020: 32020: 32020: tuple& 32020: operator=(typename conditional<__assignable<_Elements...>(), 32020: tuple&&, 32020: __nonesuch&&>::type __in) 32020: noexcept(__nothrow_assignable<_Elements...>()) 32020: { 32020: this->_M_assign(std::move(__in)); 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: __enable_if_t<__assignable(), tuple&> 32020: operator=(const tuple<_UElements...>& __in) 32020: noexcept(__nothrow_assignable()) 32020: { 32020: this->_M_assign(__in); 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: __enable_if_t<__assignable<_UElements...>(), tuple&> 32020: operator=(tuple<_UElements...>&& __in) 32020: noexcept(__nothrow_assignable<_UElements...>()) 32020: { 32020: this->_M_assign(std::move(__in)); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: void 32020: swap(tuple& __in) 32020: noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value) 32020: { _Inherited::_M_swap(__in); } 32020: }; 32020: 32020: 32020: template 32020: tuple(_UTypes...) -> tuple<_UTypes...>; 32020: template 32020: tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>; 32020: template 32020: tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>; 32020: template 32020: tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>; 32020: template 32020: tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>; 32020: 32020: 32020: 32020: template<> 32020: class tuple<> 32020: { 32020: public: 32020: void swap(tuple&) noexcept { } 32020: 32020: 32020: tuple() = default; 32020: 32020: template 32020: 32020: tuple(allocator_arg_t, const _Alloc&) noexcept { } 32020: template 32020: 32020: tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { } 32020: }; 32020: 32020: 32020: 32020: template 32020: class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> 32020: { 32020: typedef _Tuple_impl<0, _T1, _T2> _Inherited; 32020: 32020: 32020: template 32020: using _ImplicitDefaultCtor = __enable_if_t< 32020: _TupleConstraints<_Dummy, _U1, _U2>:: 32020: __is_implicitly_default_constructible(), 32020: bool>; 32020: 32020: 32020: template 32020: using _ExplicitDefaultCtor = __enable_if_t< 32020: _TupleConstraints<_Dummy, _U1, _U2>:: 32020: __is_explicitly_default_constructible(), 32020: bool>; 32020: 32020: template 32020: using _TCC = _TupleConstraints<_Dummy, _T1, _T2>; 32020: 32020: 32020: template 32020: using _ImplicitCtor = __enable_if_t< 32020: _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(), 32020: bool>; 32020: 32020: 32020: template 32020: using _ExplicitCtor = __enable_if_t< 32020: _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(), 32020: bool>; 32020: 32020: template 32020: static constexpr bool __assignable() 32020: { 32020: return __and_, 32020: is_assignable<_T2&, _U2>>::value; 32020: } 32020: 32020: template 32020: static constexpr bool __nothrow_assignable() 32020: { 32020: return __and_, 32020: is_nothrow_assignable<_T2&, _U2>>::value; 32020: } 32020: 32020: template 32020: static constexpr bool __nothrow_constructible() 32020: { 32020: return __and_, 32020: is_nothrow_constructible<_T2, _U2>>::value; 32020: } 32020: 32020: static constexpr bool __nothrow_default_constructible() 32020: { 32020: return __and_, 32020: is_nothrow_default_constructible<_T2>>::value; 32020: } 32020: 32020: template 32020: static constexpr bool __is_alloc_arg() 32020: { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; } 32020: 32020: public: 32020: template = true> 32020: constexpr 32020: tuple() 32020: noexcept(__nothrow_default_constructible()) 32020: : _Inherited() { } 32020: 32020: template = false> 32020: explicit constexpr 32020: tuple() 32020: noexcept(__nothrow_default_constructible()) 32020: : _Inherited() { } 32020: 32020: template = true> 32020: constexpr 32020: tuple(const _T1& __a1, const _T2& __a2) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(__a1, __a2) { } 32020: 32020: template = false> 32020: explicit constexpr 32020: tuple(const _T1& __a1, const _T2& __a2) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(__a1, __a2) { } 32020: 32020: template(), _U1, _U2> = true> 32020: constexpr 32020: tuple(_U1&& __a1, _U2&& __a2) 32020: noexcept(__nothrow_constructible<_U1, _U2>()) 32020: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 32020: 32020: template(), _U1, _U2> = false> 32020: explicit constexpr 32020: tuple(_U1&& __a1, _U2&& __a2) 32020: noexcept(__nothrow_constructible<_U1, _U2>()) 32020: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 32020: 32020: constexpr tuple(const tuple&) = default; 32020: 32020: constexpr tuple(tuple&&) = default; 32020: 32020: template = true> 32020: constexpr 32020: tuple(const tuple<_U1, _U2>& __in) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(static_cast&>(__in)) { } 32020: 32020: template = false> 32020: explicit constexpr 32020: tuple(const tuple<_U1, _U2>& __in) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(static_cast&>(__in)) { } 32020: 32020: template = true> 32020: constexpr 32020: tuple(tuple<_U1, _U2>&& __in) 32020: noexcept(__nothrow_constructible<_U1, _U2>()) 32020: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 32020: 32020: template = false> 32020: explicit constexpr 32020: tuple(tuple<_U1, _U2>&& __in) 32020: noexcept(__nothrow_constructible<_U1, _U2>()) 32020: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 32020: 32020: template = true> 32020: constexpr 32020: tuple(const pair<_U1, _U2>& __in) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(__in.first, __in.second) { } 32020: 32020: template = false> 32020: explicit constexpr 32020: tuple(const pair<_U1, _U2>& __in) 32020: noexcept(__nothrow_constructible()) 32020: : _Inherited(__in.first, __in.second) { } 32020: 32020: template = true> 32020: constexpr 32020: tuple(pair<_U1, _U2>&& __in) 32020: noexcept(__nothrow_constructible<_U1, _U2>()) 32020: : _Inherited(std::forward<_U1>(__in.first), 32020: std::forward<_U2>(__in.second)) { } 32020: 32020: template = false> 32020: explicit constexpr 32020: tuple(pair<_U1, _U2>&& __in) 32020: noexcept(__nothrow_constructible<_U1, _U2>()) 32020: : _Inherited(std::forward<_U1>(__in.first), 32020: std::forward<_U2>(__in.second)) { } 32020: 32020: 32020: 32020: template::value, _T1, _T2> = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a) 32020: : _Inherited(__tag, __a) { } 32020: 32020: template = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const _T1& __a1, const _T2& __a2) 32020: : _Inherited(__tag, __a, __a1, __a2) { } 32020: 32020: template = false> 32020: explicit 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const _T1& __a1, const _T2& __a2) 32020: : _Inherited(__tag, __a, __a1, __a2) { } 32020: 32020: template = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) 32020: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 32020: std::forward<_U2>(__a2)) { } 32020: 32020: template = false> 32020: explicit 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: _U1&& __a1, _U2&& __a2) 32020: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 32020: std::forward<_U2>(__a2)) { } 32020: 32020: template 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 32020: : _Inherited(__tag, __a, static_cast(__in)) { } 32020: 32020: template 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 32020: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 32020: 32020: template = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const tuple<_U1, _U2>& __in) 32020: : _Inherited(__tag, __a, 32020: static_cast&>(__in)) 32020: { } 32020: 32020: template = false> 32020: explicit 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const tuple<_U1, _U2>& __in) 32020: : _Inherited(__tag, __a, 32020: static_cast&>(__in)) 32020: { } 32020: 32020: template = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) 32020: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 32020: { } 32020: 32020: template = false> 32020: explicit 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) 32020: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 32020: { } 32020: 32020: template = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const pair<_U1, _U2>& __in) 32020: : _Inherited(__tag, __a, __in.first, __in.second) { } 32020: 32020: template = false> 32020: explicit 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, 32020: const pair<_U1, _U2>& __in) 32020: : _Inherited(__tag, __a, __in.first, __in.second) { } 32020: 32020: template = true> 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) 32020: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 32020: std::forward<_U2>(__in.second)) { } 32020: 32020: template = false> 32020: explicit 32020: 32020: tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) 32020: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 32020: std::forward<_U2>(__in.second)) { } 32020: 32020: 32020: 32020: 32020: tuple& 32020: operator=(typename conditional<__assignable(), 32020: const tuple&, 32020: const __nonesuch&>::type __in) 32020: noexcept(__nothrow_assignable()) 32020: { 32020: this->_M_assign(__in); 32020: return *this; 32020: } 32020: 32020: 32020: tuple& 32020: operator=(typename conditional<__assignable<_T1, _T2>(), 32020: tuple&&, 32020: __nonesuch&&>::type __in) 32020: noexcept(__nothrow_assignable<_T1, _T2>()) 32020: { 32020: this->_M_assign(std::move(__in)); 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: __enable_if_t<__assignable(), tuple&> 32020: operator=(const tuple<_U1, _U2>& __in) 32020: noexcept(__nothrow_assignable()) 32020: { 32020: this->_M_assign(__in); 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: __enable_if_t<__assignable<_U1, _U2>(), tuple&> 32020: operator=(tuple<_U1, _U2>&& __in) 32020: noexcept(__nothrow_assignable<_U1, _U2>()) 32020: { 32020: this->_M_assign(std::move(__in)); 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: __enable_if_t<__assignable(), tuple&> 32020: operator=(const pair<_U1, _U2>& __in) 32020: noexcept(__nothrow_assignable()) 32020: { 32020: this->_M_head(*this) = __in.first; 32020: this->_M_tail(*this)._M_head(*this) = __in.second; 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: __enable_if_t<__assignable<_U1, _U2>(), tuple&> 32020: operator=(pair<_U1, _U2>&& __in) 32020: noexcept(__nothrow_assignable<_U1, _U2>()) 32020: { 32020: this->_M_head(*this) = std::forward<_U1>(__in.first); 32020: this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); 32020: return *this; 32020: } 32020: 32020: 32020: void 32020: swap(tuple& __in) 32020: noexcept(__and_<__is_nothrow_swappable<_T1>, 32020: __is_nothrow_swappable<_T2>>::value) 32020: { _Inherited::_M_swap(__in); } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct tuple_size> 32020: : public integral_constant { }; 32020: 32020: 32020: template 32020: inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct tuple_element<__i, tuple<_Head, _Tail...> > 32020: : tuple_element<__i - 1, tuple<_Tail...> > { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct tuple_element<0, tuple<_Head, _Tail...> > 32020: { 32020: typedef _Head type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct tuple_element<__i, tuple<>> 32020: { 32020: static_assert(__i < tuple_size>::value, 32020: "tuple index is in range"); 32020: }; 32020: 32020: template 32020: constexpr _Head& 32020: __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 32020: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 32020: 32020: template 32020: constexpr const _Head& 32020: __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 32020: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 32020: 32020: 32020: template 32020: constexpr __tuple_element_t<__i, tuple<_Elements...>>& 32020: get(tuple<_Elements...>& __t) noexcept 32020: { return std::__get_helper<__i>(__t); } 32020: 32020: 32020: template 32020: constexpr const __tuple_element_t<__i, tuple<_Elements...>>& 32020: get(const tuple<_Elements...>& __t) noexcept 32020: { return std::__get_helper<__i>(__t); } 32020: 32020: 32020: template 32020: constexpr __tuple_element_t<__i, tuple<_Elements...>>&& 32020: get(tuple<_Elements...>&& __t) noexcept 32020: { 32020: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 32020: return std::forward<__element_type&&>(std::get<__i>(__t)); 32020: } 32020: 32020: 32020: template 32020: constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& 32020: get(const tuple<_Elements...>&& __t) noexcept 32020: { 32020: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 32020: return std::forward(std::get<__i>(__t)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr _Head& 32020: __get_helper2(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 32020: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 32020: 32020: template 32020: constexpr const _Head& 32020: __get_helper2(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 32020: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 32020: 32020: 32020: template 32020: constexpr _Tp& 32020: get(tuple<_Types...>& __t) noexcept 32020: { return std::__get_helper2<_Tp>(__t); } 32020: 32020: 32020: template 32020: constexpr _Tp&& 32020: get(tuple<_Types...>&& __t) noexcept 32020: { return std::forward<_Tp&&>(std::__get_helper2<_Tp>(__t)); } 32020: 32020: 32020: template 32020: constexpr const _Tp& 32020: get(const tuple<_Types...>& __t) noexcept 32020: { return std::__get_helper2<_Tp>(__t); } 32020: 32020: 32020: 32020: template 32020: constexpr const _Tp&& 32020: get(const tuple<_Types...>&& __t) noexcept 32020: { return std::forward(std::__get_helper2<_Tp>(__t)); } 32020: 32020: 32020: 32020: template 32020: struct __tuple_compare 32020: { 32020: static constexpr bool 32020: __eq(const _Tp& __t, const _Up& __u) 32020: { 32020: return bool(std::get<__i>(__t) == std::get<__i>(__u)) 32020: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); 32020: } 32020: 32020: static constexpr bool 32020: __less(const _Tp& __t, const _Up& __u) 32020: { 32020: return bool(std::get<__i>(__t) < std::get<__i>(__u)) 32020: || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) 32020: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); 32020: } 32020: }; 32020: 32020: template 32020: struct __tuple_compare<_Tp, _Up, __size, __size> 32020: { 32020: static constexpr bool 32020: __eq(const _Tp&, const _Up&) { return true; } 32020: 32020: static constexpr bool 32020: __less(const _Tp&, const _Up&) { return false; } 32020: }; 32020: 32020: template 32020: constexpr bool 32020: operator==(const tuple<_TElements...>& __t, 32020: const tuple<_UElements...>& __u) 32020: { 32020: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 32020: "tuple objects can only be compared if they have equal sizes."); 32020: using __compare = __tuple_compare, 32020: tuple<_UElements...>, 32020: 0, sizeof...(_TElements)>; 32020: return __compare::__eq(__t, __u); 32020: } 32020: # 1433 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 3 32020: template 32020: constexpr bool 32020: operator<(const tuple<_TElements...>& __t, 32020: const tuple<_UElements...>& __u) 32020: { 32020: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 32020: "tuple objects can only be compared if they have equal sizes."); 32020: using __compare = __tuple_compare, 32020: tuple<_UElements...>, 32020: 0, sizeof...(_TElements)>; 32020: return __compare::__less(__t, __u); 32020: } 32020: 32020: template 32020: constexpr bool 32020: operator!=(const tuple<_TElements...>& __t, 32020: const tuple<_UElements...>& __u) 32020: { return !(__t == __u); } 32020: 32020: template 32020: constexpr bool 32020: operator>(const tuple<_TElements...>& __t, 32020: const tuple<_UElements...>& __u) 32020: { return __u < __t; } 32020: 32020: template 32020: constexpr bool 32020: operator<=(const tuple<_TElements...>& __t, 32020: const tuple<_UElements...>& __u) 32020: { return !(__u < __t); } 32020: 32020: template 32020: constexpr bool 32020: operator>=(const tuple<_TElements...>& __t, 32020: const tuple<_UElements...>& __u) 32020: { return !(__t < __u); } 32020: 32020: 32020: 32020: template 32020: constexpr tuple::__type...> 32020: make_tuple(_Elements&&... __args) 32020: { 32020: typedef tuple::__type...> 32020: __result_type; 32020: return __result_type(std::forward<_Elements>(__args)...); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: constexpr tuple<_Elements&&...> 32020: forward_as_tuple(_Elements&&... __args) noexcept 32020: { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } 32020: 32020: template 32020: struct __make_tuple_impl; 32020: 32020: template 32020: struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> 32020: : __make_tuple_impl<_Idx + 1, 32020: tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, 32020: _Tuple, _Nm> 32020: { }; 32020: 32020: template 32020: struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> 32020: { 32020: typedef tuple<_Tp...> __type; 32020: }; 32020: 32020: template 32020: struct __do_make_tuple 32020: : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value> 32020: { }; 32020: 32020: 32020: template 32020: struct __make_tuple 32020: : public __do_make_tuple<__remove_cvref_t<_Tuple>> 32020: { }; 32020: 32020: 32020: template 32020: struct __combine_tuples; 32020: 32020: template<> 32020: struct __combine_tuples<> 32020: { 32020: typedef tuple<> __type; 32020: }; 32020: 32020: template 32020: struct __combine_tuples> 32020: { 32020: typedef tuple<_Ts...> __type; 32020: }; 32020: 32020: template 32020: struct __combine_tuples, tuple<_T2s...>, _Rem...> 32020: { 32020: typedef typename __combine_tuples, 32020: _Rem...>::__type __type; 32020: }; 32020: 32020: 32020: template 32020: struct __tuple_cat_result 32020: { 32020: typedef typename __combine_tuples 32020: ::__type...>::__type __type; 32020: }; 32020: 32020: 32020: 32020: template 32020: struct __make_1st_indices; 32020: 32020: template<> 32020: struct __make_1st_indices<> 32020: { 32020: typedef std::_Index_tuple<> __type; 32020: }; 32020: 32020: template 32020: struct __make_1st_indices<_Tp, _Tpls...> 32020: { 32020: typedef typename std::_Build_index_tuple::type>::value>::__type __type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __tuple_concater; 32020: 32020: template 32020: struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...> 32020: { 32020: template 32020: static constexpr _Ret 32020: _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) 32020: { 32020: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 32020: typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; 32020: return __next::_S_do(std::forward<_Tpls>(__tps)..., 32020: std::forward<_Us>(__us)..., 32020: std::get<_Is>(std::forward<_Tp>(__tp))...); 32020: } 32020: }; 32020: 32020: template 32020: struct __tuple_concater<_Ret, std::_Index_tuple<>> 32020: { 32020: template 32020: static constexpr _Ret 32020: _S_do(_Us&&... __us) 32020: { 32020: return _Ret(std::forward<_Us>(__us)...); 32020: } 32020: }; 32020: 32020: 32020: template...>::value>::type> 32020: constexpr auto 32020: tuple_cat(_Tpls&&... __tpls) 32020: -> typename __tuple_cat_result<_Tpls...>::__type 32020: { 32020: typedef typename __tuple_cat_result<_Tpls...>::__type __ret; 32020: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 32020: typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; 32020: return __concater::_S_do(std::forward<_Tpls>(__tpls)...); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: constexpr tuple<_Elements&...> 32020: tie(_Elements&... __args) noexcept 32020: { return tuple<_Elements&...>(__args...); } 32020: 32020: 32020: template 32020: 32020: inline 32020: 32020: 32020: typename enable_if<__and_<__is_swappable<_Elements>...>::value 32020: >::type 32020: 32020: 32020: 32020: swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: template 32020: 32020: typename enable_if...>::value>::type 32020: swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct _Swallow_assign 32020: { 32020: template 32020: constexpr const _Swallow_assign& 32020: operator=(const _Tp&) const 32020: { return *this; } 32020: }; 32020: 32020: 32020: 32020: inline constexpr _Swallow_assign ignore{}; 32020: 32020: 32020: template 32020: struct uses_allocator, _Alloc> : true_type { }; 32020: # 1669 "/usr/arm-linux-gnueabihf/include/c++/10/tuple" 3 32020: template 32020: template 32020: 32020: inline 32020: pair<_T1, _T2>:: 32020: pair(piecewise_construct_t, 32020: tuple<_Args1...> __first, tuple<_Args2...> __second) 32020: : pair(__first, __second, 32020: typename _Build_index_tuple::__type(), 32020: typename _Build_index_tuple::__type()) 32020: { } 32020: 32020: template 32020: template 32020: inline 32020: pair<_T1, _T2>:: 32020: pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, 32020: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) 32020: : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), 32020: second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template class _Trait, typename _Tp, typename _Tuple> 32020: inline constexpr bool __unpack_std_tuple = false; 32020: 32020: template class _Trait, typename _Tp, typename... _Up> 32020: inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>> 32020: = _Trait<_Tp, _Up...>::value; 32020: 32020: template class _Trait, typename _Tp, typename... _Up> 32020: inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&> 32020: = _Trait<_Tp, _Up&...>::value; 32020: 32020: template class _Trait, typename _Tp, typename... _Up> 32020: inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>> 32020: = _Trait<_Tp, const _Up...>::value; 32020: 32020: template class _Trait, typename _Tp, typename... _Up> 32020: inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&> 32020: = _Trait<_Tp, const _Up&...>::value; 32020: 32020: 32020: 32020: template 32020: constexpr decltype(auto) 32020: __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>) 32020: { 32020: return std::__invoke(std::forward<_Fn>(__f), 32020: std::get<_Idx>(std::forward<_Tuple>(__t))...); 32020: } 32020: 32020: template 32020: constexpr decltype(auto) 32020: apply(_Fn&& __f, _Tuple&& __t) 32020: noexcept(__unpack_std_tuple) 32020: { 32020: using _Indices 32020: = make_index_sequence>>; 32020: return std::__apply_impl(std::forward<_Fn>(__f), 32020: std::forward<_Tuple>(__t), 32020: _Indices{}); 32020: } 32020: 32020: 32020: 32020: template 32020: constexpr _Tp 32020: __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>) 32020: { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } 32020: 32020: template 32020: constexpr _Tp 32020: make_from_tuple(_Tuple&& __t) 32020: noexcept(__unpack_std_tuple) 32020: { 32020: return __make_from_tuple_impl<_Tp>( 32020: std::forward<_Tuple>(__t), 32020: make_index_sequence>>{}); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 55 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 3 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 54 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 3 32020: template 32020: struct _Maybe_unary_or_binary_function { }; 32020: 32020: 32020: template 32020: struct _Maybe_unary_or_binary_function<_Res, _T1> 32020: : std::unary_function<_T1, _Res> { }; 32020: 32020: 32020: template 32020: struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> 32020: : std::binary_function<_T1, _T2, _Res> { }; 32020: 32020: template 32020: struct _Mem_fn_traits; 32020: 32020: template 32020: struct _Mem_fn_traits_base 32020: { 32020: using __result_type = _Res; 32020: using __maybe_type 32020: = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; 32020: using __arity = integral_constant; 32020: }; 32020: # 99 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 3 32020: 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; }; 32020: 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; }; 32020: 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; }; 32020: 32020: 32020: 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; }; 32020: 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; }; 32020: 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; }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template> 32020: struct _Maybe_get_result_type 32020: { }; 32020: 32020: template 32020: struct _Maybe_get_result_type<_Functor, 32020: __void_t> 32020: { typedef typename _Functor::result_type result_type; }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Weak_result_type_impl 32020: : _Maybe_get_result_type<_Functor> 32020: { }; 32020: 32020: 32020: template 32020: struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)> 32020: { typedef _Res result_type; }; 32020: 32020: 32020: template 32020: struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)> 32020: { typedef _Res result_type; }; 32020: 32020: 32020: template 32020: struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)> 32020: { typedef _Res result_type; }; 32020: 32020: 32020: template 32020: struct 32020: _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)> 32020: { typedef _Res result_type; }; 32020: 32020: 32020: template::value> 32020: struct _Weak_result_type_memfun 32020: : _Weak_result_type_impl<_Functor> 32020: { }; 32020: 32020: 32020: template 32020: struct _Weak_result_type_memfun<_MemFunPtr, true> 32020: { 32020: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 32020: }; 32020: 32020: 32020: template 32020: struct _Weak_result_type_memfun<_Func _Class::*, false> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Weak_result_type 32020: : _Weak_result_type_memfun::type> 32020: { }; 32020: 32020: 32020: 32020: template> 32020: struct _Refwrap_base_arg1 32020: { }; 32020: 32020: 32020: template 32020: struct _Refwrap_base_arg1<_Tp, 32020: __void_t> 32020: { 32020: typedef typename _Tp::argument_type argument_type; 32020: }; 32020: 32020: 32020: template> 32020: struct _Refwrap_base_arg2 32020: { }; 32020: 32020: 32020: template 32020: struct _Refwrap_base_arg2<_Tp, 32020: __void_t> 32020: { 32020: typedef typename _Tp::first_argument_type first_argument_type; 32020: typedef typename _Tp::second_argument_type second_argument_type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Reference_wrapper_base 32020: : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp> 32020: { }; 32020: 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)> 32020: : unary_function<_T1, _Res> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1) const> 32020: : unary_function<_T1, _Res> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1) volatile> 32020: : unary_function<_T1, _Res> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1) const volatile> 32020: : unary_function<_T1, _Res> 32020: { }; 32020: 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)> 32020: : binary_function<_T1, _T2, _Res> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1, _T2) const> 32020: : binary_function<_T1, _T2, _Res> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> 32020: : binary_function<_T1, _T2, _Res> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> 32020: : binary_function<_T1, _T2, _Res> 32020: { }; 32020: 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)> 32020: : unary_function<_T1, _Res> 32020: { }; 32020: 32020: 32020: template 32020: struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)> 32020: : binary_function<_T1, _T2, _Res> 32020: { }; 32020: 32020: template::value> 32020: struct _Reference_wrapper_base_memfun 32020: : _Reference_wrapper_base<_Tp> 32020: { }; 32020: 32020: template 32020: struct _Reference_wrapper_base_memfun<_MemFunPtr, true> 32020: : _Mem_fn_traits<_MemFunPtr>::__maybe_type 32020: { 32020: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 32020: }; 32020: # 293 "/usr/arm-linux-gnueabihf/include/c++/10/bits/refwrap.h" 3 32020: template 32020: class reference_wrapper 32020: 32020: 32020: 32020: : public _Reference_wrapper_base_memfun::type> 32020: 32020: { 32020: _Tp* _M_data; 32020: 32020: 32020: static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); } 32020: 32020: static void _S_fun(_Tp&&) = delete; 32020: 32020: template> 32020: using __not_same 32020: = typename enable_if::value>::type; 32020: 32020: public: 32020: typedef _Tp type; 32020: 32020: 32020: 32020: 32020: template, typename 32020: = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> 32020: 32020: reference_wrapper(_Up&& __uref) 32020: noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>()))) 32020: : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref))) 32020: { } 32020: 32020: reference_wrapper(const reference_wrapper&) = default; 32020: 32020: reference_wrapper& 32020: operator=(const reference_wrapper&) = default; 32020: 32020: 32020: operator _Tp&() const noexcept 32020: { return this->get(); } 32020: 32020: 32020: _Tp& 32020: get() const noexcept 32020: { return *_M_data; } 32020: 32020: template 32020: 32020: typename result_of<_Tp&(_Args&&...)>::type 32020: operator()(_Args&&... __args) const 32020: { 32020: 32020: 32020: 32020: 32020: return std::__invoke(get(), std::forward<_Args>(__args)...); 32020: } 32020: }; 32020: 32020: 32020: template 32020: reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: inline reference_wrapper<_Tp> 32020: ref(_Tp& __t) noexcept 32020: { return reference_wrapper<_Tp>(__t); } 32020: 32020: 32020: template 32020: 32020: inline reference_wrapper 32020: cref(const _Tp& __t) noexcept 32020: { return reference_wrapper(__t); } 32020: 32020: template 32020: void ref(const _Tp&&) = delete; 32020: 32020: template 32020: void cref(const _Tp&&) = delete; 32020: 32020: 32020: template 32020: 32020: inline reference_wrapper<_Tp> 32020: ref(reference_wrapper<_Tp> __t) noexcept 32020: { return __t; } 32020: 32020: 32020: template 32020: 32020: inline reference_wrapper 32020: cref(reference_wrapper<_Tp> __t) noexcept 32020: { return { __t.get() }; } 32020: 32020: 32020: 32020: 32020: } 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class bad_function_call : public std::exception 32020: { 32020: public: 32020: virtual ~bad_function_call() noexcept; 32020: 32020: const char* what() const noexcept; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_location_invariant 32020: : is_trivially_copyable<_Tp>::type 32020: { }; 32020: 32020: class _Undefined_class; 32020: 32020: union _Nocopy_types 32020: { 32020: void* _M_object; 32020: const void* _M_const_object; 32020: void (*_M_function_pointer)(); 32020: void (_Undefined_class::*_M_member_pointer)(); 32020: }; 32020: 32020: union [[gnu::may_alias]] _Any_data 32020: { 32020: void* _M_access() { return &_M_pod_data[0]; } 32020: const void* _M_access() const { return &_M_pod_data[0]; } 32020: 32020: template 32020: _Tp& 32020: _M_access() 32020: { return *static_cast<_Tp*>(_M_access()); } 32020: 32020: template 32020: const _Tp& 32020: _M_access() const 32020: { return *static_cast(_M_access()); } 32020: 32020: _Nocopy_types _M_unused; 32020: char _M_pod_data[sizeof(_Nocopy_types)]; 32020: }; 32020: 32020: enum _Manager_operation 32020: { 32020: __get_type_info, 32020: __get_functor_ptr, 32020: __clone_functor, 32020: __destroy_functor 32020: }; 32020: 32020: template 32020: class function; 32020: 32020: 32020: class _Function_base 32020: { 32020: public: 32020: static const size_t _M_max_size = sizeof(_Nocopy_types); 32020: static const size_t _M_max_align = __alignof__(_Nocopy_types); 32020: 32020: template 32020: class _Base_manager 32020: { 32020: protected: 32020: static const bool __stored_locally = 32020: (__is_location_invariant<_Functor>::value 32020: && sizeof(_Functor) <= _M_max_size 32020: && __alignof__(_Functor) <= _M_max_align 32020: && (_M_max_align % __alignof__(_Functor) == 0)); 32020: 32020: typedef integral_constant _Local_storage; 32020: 32020: 32020: static _Functor* 32020: _M_get_pointer(const _Any_data& __source) 32020: { 32020: if constexpr (__stored_locally) 32020: { 32020: const _Functor& __f = __source._M_access<_Functor>(); 32020: return const_cast<_Functor*>(std::__addressof(__f)); 32020: } 32020: else 32020: return __source._M_access<_Functor*>(); 32020: } 32020: 32020: 32020: 32020: static void 32020: _M_clone(_Any_data& __dest, const _Any_data& __source, true_type) 32020: { 32020: ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>()); 32020: } 32020: 32020: 32020: 32020: static void 32020: _M_clone(_Any_data& __dest, const _Any_data& __source, false_type) 32020: { 32020: __dest._M_access<_Functor*>() = 32020: new _Functor(*__source._M_access()); 32020: } 32020: 32020: 32020: 32020: static void 32020: _M_destroy(_Any_data& __victim, true_type) 32020: { 32020: __victim._M_access<_Functor>().~_Functor(); 32020: } 32020: 32020: 32020: static void 32020: _M_destroy(_Any_data& __victim, false_type) 32020: { 32020: delete __victim._M_access<_Functor*>(); 32020: } 32020: 32020: public: 32020: static bool 32020: _M_manager(_Any_data& __dest, const _Any_data& __source, 32020: _Manager_operation __op) 32020: { 32020: switch (__op) 32020: { 32020: 32020: case __get_type_info: 32020: __dest._M_access() = &typeid(_Functor); 32020: break; 32020: 32020: case __get_functor_ptr: 32020: __dest._M_access<_Functor*>() = _M_get_pointer(__source); 32020: break; 32020: 32020: case __clone_functor: 32020: _M_clone(__dest, __source, _Local_storage()); 32020: break; 32020: 32020: case __destroy_functor: 32020: _M_destroy(__dest, _Local_storage()); 32020: break; 32020: } 32020: return false; 32020: } 32020: 32020: static void 32020: _M_init_functor(_Any_data& __functor, _Functor&& __f) 32020: { _M_init_functor(__functor, std::move(__f), _Local_storage()); } 32020: 32020: template 32020: static bool 32020: _M_not_empty_function(const function<_Signature>& __f) 32020: { return static_cast(__f); } 32020: 32020: template 32020: static bool 32020: _M_not_empty_function(_Tp* __fp) 32020: { return __fp != nullptr; } 32020: 32020: template 32020: static bool 32020: _M_not_empty_function(_Tp _Class::* __mp) 32020: { return __mp != nullptr; } 32020: 32020: template 32020: static bool 32020: _M_not_empty_function(const _Tp&) 32020: { return true; } 32020: 32020: private: 32020: static void 32020: _M_init_functor(_Any_data& __functor, _Functor&& __f, true_type) 32020: { ::new (__functor._M_access()) _Functor(std::move(__f)); } 32020: 32020: static void 32020: _M_init_functor(_Any_data& __functor, _Functor&& __f, false_type) 32020: { __functor._M_access<_Functor*>() = new _Functor(std::move(__f)); } 32020: }; 32020: 32020: _Function_base() : _M_manager(nullptr) { } 32020: 32020: ~_Function_base() 32020: { 32020: if (_M_manager) 32020: _M_manager(_M_functor, _M_functor, __destroy_functor); 32020: } 32020: 32020: bool _M_empty() const { return !_M_manager; } 32020: 32020: typedef bool (*_Manager_type)(_Any_data&, const _Any_data&, 32020: _Manager_operation); 32020: 32020: _Any_data _M_functor; 32020: _Manager_type _M_manager; 32020: }; 32020: 32020: template 32020: class _Function_handler; 32020: 32020: template 32020: class _Function_handler<_Res(_ArgTypes...), _Functor> 32020: : public _Function_base::_Base_manager<_Functor> 32020: { 32020: typedef _Function_base::_Base_manager<_Functor> _Base; 32020: 32020: public: 32020: static bool 32020: _M_manager(_Any_data& __dest, const _Any_data& __source, 32020: _Manager_operation __op) 32020: { 32020: switch (__op) 32020: { 32020: 32020: case __get_type_info: 32020: __dest._M_access() = &typeid(_Functor); 32020: break; 32020: 32020: case __get_functor_ptr: 32020: __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source); 32020: break; 32020: 32020: default: 32020: _Base::_M_manager(__dest, __source, __op); 32020: } 32020: return false; 32020: } 32020: 32020: static _Res 32020: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 32020: { 32020: return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor), 32020: std::forward<_ArgTypes>(__args)...); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class function<_Res(_ArgTypes...)> 32020: : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, 32020: private _Function_base 32020: { 32020: template> 32020: struct _Callable 32020: : __is_invocable_impl<_Res2, _Res>::type 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct _Callable : false_type { }; 32020: 32020: template 32020: using _Requires = typename enable_if<_Cond::value, _Tp>::type; 32020: 32020: public: 32020: typedef _Res result_type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: function() noexcept 32020: : _Function_base() { } 32020: 32020: 32020: 32020: 32020: 32020: function(nullptr_t) noexcept 32020: : _Function_base() { } 32020: # 348 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: function(const function& __x); 32020: # 357 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: function(function&& __x) noexcept : _Function_base() 32020: { 32020: __x.swap(*this); 32020: } 32020: # 378 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: template>, void>, 32020: typename = _Requires<_Callable<_Functor>, void>> 32020: function(_Functor); 32020: # 395 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: function& 32020: operator=(const function& __x) 32020: { 32020: function(__x).swap(*this); 32020: return *this; 32020: } 32020: # 413 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: function& 32020: operator=(function&& __x) noexcept 32020: { 32020: function(std::move(__x)).swap(*this); 32020: return *this; 32020: } 32020: # 427 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: function& 32020: operator=(nullptr_t) noexcept 32020: { 32020: if (_M_manager) 32020: { 32020: _M_manager(_M_functor, _M_functor, __destroy_functor); 32020: _M_manager = nullptr; 32020: _M_invoker = nullptr; 32020: } 32020: return *this; 32020: } 32020: # 455 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: template 32020: _Requires<_Callable::type>, function&> 32020: operator=(_Functor&& __f) 32020: { 32020: function(std::forward<_Functor>(__f)).swap(*this); 32020: return *this; 32020: } 32020: 32020: 32020: template 32020: function& 32020: operator=(reference_wrapper<_Functor> __f) noexcept 32020: { 32020: function(__f).swap(*this); 32020: return *this; 32020: } 32020: # 481 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: void swap(function& __x) noexcept 32020: { 32020: std::swap(_M_functor, __x._M_functor); 32020: std::swap(_M_manager, __x._M_manager); 32020: std::swap(_M_invoker, __x._M_invoker); 32020: } 32020: # 498 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: explicit operator bool() const noexcept 32020: { return !_M_empty(); } 32020: # 511 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: _Res operator()(_ArgTypes... __args) const; 32020: # 524 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: const type_info& target_type() const noexcept; 32020: # 537 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: template _Functor* target() noexcept; 32020: 32020: template const _Functor* target() const noexcept; 32020: 32020: 32020: 32020: private: 32020: using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...); 32020: _Invoker_type _M_invoker; 32020: }; 32020: 32020: 32020: template 32020: struct __function_guide_helper 32020: { }; 32020: 32020: template 32020: struct __function_guide_helper< 32020: _Res (_Tp::*) (_Args...) noexcept(_Nx) 32020: > 32020: { using type = _Res(_Args...); }; 32020: 32020: template 32020: struct __function_guide_helper< 32020: _Res (_Tp::*) (_Args...) & noexcept(_Nx) 32020: > 32020: { using type = _Res(_Args...); }; 32020: 32020: template 32020: struct __function_guide_helper< 32020: _Res (_Tp::*) (_Args...) const noexcept(_Nx) 32020: > 32020: { using type = _Res(_Args...); }; 32020: 32020: template 32020: struct __function_guide_helper< 32020: _Res (_Tp::*) (_Args...) const & noexcept(_Nx) 32020: > 32020: { using type = _Res(_Args...); }; 32020: 32020: template 32020: function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>; 32020: 32020: template::type> 32020: function(_Functor) -> function<_Signature>; 32020: 32020: 32020: 32020: template 32020: function<_Res(_ArgTypes...)>:: 32020: function(const function& __x) 32020: : _Function_base() 32020: { 32020: if (static_cast(__x)) 32020: { 32020: __x._M_manager(_M_functor, __x._M_functor, __clone_functor); 32020: _M_invoker = __x._M_invoker; 32020: _M_manager = __x._M_manager; 32020: } 32020: } 32020: 32020: template 32020: template 32020: function<_Res(_ArgTypes...)>:: 32020: function(_Functor __f) 32020: : _Function_base() 32020: { 32020: typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler; 32020: 32020: if (_My_handler::_M_not_empty_function(__f)) 32020: { 32020: _My_handler::_M_init_functor(_M_functor, std::move(__f)); 32020: _M_invoker = &_My_handler::_M_invoke; 32020: _M_manager = &_My_handler::_M_manager; 32020: } 32020: } 32020: 32020: template 32020: _Res 32020: function<_Res(_ArgTypes...)>:: 32020: operator()(_ArgTypes... __args) const 32020: { 32020: if (_M_empty()) 32020: __throw_bad_function_call(); 32020: return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); 32020: } 32020: 32020: 32020: template 32020: const type_info& 32020: function<_Res(_ArgTypes...)>:: 32020: target_type() const noexcept 32020: { 32020: if (_M_manager) 32020: { 32020: _Any_data __typeinfo_result; 32020: _M_manager(__typeinfo_result, _M_functor, __get_type_info); 32020: return *__typeinfo_result._M_access(); 32020: } 32020: else 32020: return typeid(void); 32020: } 32020: 32020: template 32020: template 32020: _Functor* 32020: function<_Res(_ArgTypes...)>:: 32020: target() noexcept 32020: { 32020: const function* __const_this = this; 32020: const _Functor* __func = __const_this->template target<_Functor>(); 32020: return const_cast<_Functor*>(__func); 32020: } 32020: 32020: template 32020: template 32020: const _Functor* 32020: function<_Res(_ArgTypes...)>:: 32020: target() const noexcept 32020: { 32020: if (typeid(_Functor) == target_type() && _M_manager) 32020: { 32020: _Any_data __ptr; 32020: _M_manager(__ptr, _M_functor, __get_functor_ptr); 32020: return __ptr._M_access(); 32020: } 32020: else 32020: return nullptr; 32020: } 32020: # 678 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: template 32020: inline bool 32020: operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept 32020: { return !static_cast(__f); } 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept 32020: { return !static_cast(__f); } 32020: # 697 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: template 32020: inline bool 32020: operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept 32020: { return static_cast(__f); } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept 32020: { return static_cast(__f); } 32020: # 718 "/usr/arm-linux-gnueabihf/include/c++/10/bits/std_function.h" 3 32020: template 32020: inline void 32020: swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept 32020: { __x.swap(__y); } 32020: 32020: 32020: namespace __detail::__variant 32020: { 32020: template struct _Never_valueless_alt; 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt> 32020: : std::true_type 32020: { }; 32020: } 32020: 32020: 32020: 32020: } 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/aligned_buffer.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/aligned_buffer.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/aligned_buffer.h" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: struct __aligned_membuf 32020: { 32020: 32020: 32020: 32020: 32020: 32020: struct _Tp2 { _Tp _M_t; }; 32020: 32020: alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; 32020: 32020: __aligned_membuf() = default; 32020: 32020: 32020: __aligned_membuf(std::nullptr_t) { } 32020: 32020: void* 32020: _M_addr() noexcept 32020: { return static_cast(&_M_storage); } 32020: 32020: const void* 32020: _M_addr() const noexcept 32020: { return static_cast(&_M_storage); } 32020: 32020: _Tp* 32020: _M_ptr() noexcept 32020: { return static_cast<_Tp*>(_M_addr()); } 32020: 32020: const _Tp* 32020: _M_ptr() const noexcept 32020: { return static_cast(_M_addr()); } 32020: }; 32020: # 89 "/usr/arm-linux-gnueabihf/include/c++/10/ext/aligned_buffer.h" 3 32020: template 32020: struct __aligned_buffer 32020: : std::aligned_storage 32020: { 32020: typename 32020: std::aligned_storage::type _M_storage; 32020: 32020: __aligned_buffer() = default; 32020: 32020: 32020: __aligned_buffer(std::nullptr_t) { } 32020: 32020: void* 32020: _M_addr() noexcept 32020: { 32020: return static_cast(&_M_storage); 32020: } 32020: 32020: const void* 32020: _M_addr() const noexcept 32020: { 32020: return static_cast(&_M_storage); 32020: } 32020: 32020: _Tp* 32020: _M_ptr() noexcept 32020: { return static_cast<_Tp*>(_M_addr()); } 32020: 32020: const _Tp* 32020: _M_ptr() const noexcept 32020: { return static_cast(_M_addr()); } 32020: }; 32020: 32020: 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 1 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: class _Hashtable; 32020: 32020: namespace __detail 32020: { 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hashtable_base; 32020: 32020: 32020: 32020: template 32020: inline typename std::iterator_traits<_Iterator>::difference_type 32020: __distance_fw(_Iterator __first, _Iterator __last, 32020: std::input_iterator_tag) 32020: { return __first != __last ? 1 : 0; } 32020: 32020: template 32020: inline typename std::iterator_traits<_Iterator>::difference_type 32020: __distance_fw(_Iterator __first, _Iterator __last, 32020: std::forward_iterator_tag) 32020: { return std::distance(__first, __last); } 32020: 32020: template 32020: inline typename std::iterator_traits<_Iterator>::difference_type 32020: __distance_fw(_Iterator __first, _Iterator __last) 32020: { return __distance_fw(__first, __last, 32020: std::__iterator_category(__first)); } 32020: 32020: struct _Identity 32020: { 32020: template 32020: _Tp&& 32020: operator()(_Tp&& __x) const 32020: { return std::forward<_Tp>(__x); } 32020: }; 32020: 32020: struct _Select1st 32020: { 32020: template 32020: auto 32020: operator()(_Tp&& __x) const 32020: -> decltype(std::get<0>(std::forward<_Tp>(__x))) 32020: { return std::get<0>(std::forward<_Tp>(__x)); } 32020: }; 32020: 32020: template 32020: struct _Hashtable_alloc; 32020: 32020: 32020: 32020: template 32020: struct _ReuseOrAllocNode 32020: { 32020: private: 32020: using __node_alloc_type = _NodeAlloc; 32020: using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>; 32020: using __node_alloc_traits = 32020: typename __hashtable_alloc::__node_alloc_traits; 32020: using __node_type = typename __hashtable_alloc::__node_type; 32020: 32020: public: 32020: _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h) 32020: : _M_nodes(__nodes), _M_h(__h) { } 32020: _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete; 32020: 32020: ~_ReuseOrAllocNode() 32020: { _M_h._M_deallocate_nodes(_M_nodes); } 32020: 32020: template 32020: __node_type* 32020: operator()(_Arg&& __arg) const 32020: { 32020: if (_M_nodes) 32020: { 32020: __node_type* __node = _M_nodes; 32020: _M_nodes = _M_nodes->_M_next(); 32020: __node->_M_nxt = nullptr; 32020: auto& __a = _M_h._M_node_allocator(); 32020: __node_alloc_traits::destroy(__a, __node->_M_valptr()); 32020: try 32020: { 32020: __node_alloc_traits::construct(__a, __node->_M_valptr(), 32020: std::forward<_Arg>(__arg)); 32020: } 32020: catch(...) 32020: { 32020: _M_h._M_deallocate_node_ptr(__node); 32020: throw; 32020: } 32020: return __node; 32020: } 32020: return _M_h._M_allocate_node(std::forward<_Arg>(__arg)); 32020: } 32020: 32020: private: 32020: mutable __node_type* _M_nodes; 32020: __hashtable_alloc& _M_h; 32020: }; 32020: 32020: 32020: 32020: template 32020: struct _AllocNode 32020: { 32020: private: 32020: using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>; 32020: using __node_type = typename __hashtable_alloc::__node_type; 32020: 32020: public: 32020: _AllocNode(__hashtable_alloc& __h) 32020: : _M_h(__h) { } 32020: 32020: template 32020: __node_type* 32020: operator()(_Arg&& __arg) const 32020: { return _M_h._M_allocate_node(std::forward<_Arg>(__arg)); } 32020: 32020: private: 32020: __hashtable_alloc& _M_h; 32020: }; 32020: # 198 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: template 32020: struct _Hashtable_traits 32020: { 32020: using __hash_cached = __bool_constant<_Cache_hash_code>; 32020: using __constant_iterators = __bool_constant<_Constant_iterators>; 32020: using __unique_keys = __bool_constant<_Unique_keys>; 32020: }; 32020: # 214 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: struct _Hash_node_base 32020: { 32020: _Hash_node_base* _M_nxt; 32020: 32020: _Hash_node_base() noexcept : _M_nxt() { } 32020: 32020: _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_node_value_base : _Hash_node_base 32020: { 32020: typedef _Value value_type; 32020: 32020: __gnu_cxx::__aligned_buffer<_Value> _M_storage; 32020: 32020: _Value* 32020: _M_valptr() noexcept 32020: { return _M_storage._M_ptr(); } 32020: 32020: const _Value* 32020: _M_valptr() const noexcept 32020: { return _M_storage._M_ptr(); } 32020: 32020: _Value& 32020: _M_v() noexcept 32020: { return *_M_valptr(); } 32020: 32020: const _Value& 32020: _M_v() const noexcept 32020: { return *_M_valptr(); } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_node; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value> 32020: { 32020: std::size_t _M_hash_code; 32020: 32020: _Hash_node* 32020: _M_next() const noexcept 32020: { return static_cast<_Hash_node*>(this->_M_nxt); } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_node<_Value, false> : _Hash_node_value_base<_Value> 32020: { 32020: _Hash_node* 32020: _M_next() const noexcept 32020: { return static_cast<_Hash_node*>(this->_M_nxt); } 32020: }; 32020: 32020: 32020: template 32020: struct _Node_iterator_base 32020: { 32020: using __node_type = _Hash_node<_Value, _Cache_hash_code>; 32020: 32020: __node_type* _M_cur; 32020: 32020: _Node_iterator_base(__node_type* __p) noexcept 32020: : _M_cur(__p) { } 32020: 32020: void 32020: _M_incr() noexcept 32020: { _M_cur = _M_cur->_M_next(); } 32020: }; 32020: 32020: template 32020: inline bool 32020: operator==(const _Node_iterator_base<_Value, _Cache_hash_code>& __x, 32020: const _Node_iterator_base<_Value, _Cache_hash_code >& __y) 32020: noexcept 32020: { return __x._M_cur == __y._M_cur; } 32020: 32020: template 32020: inline bool 32020: operator!=(const _Node_iterator_base<_Value, _Cache_hash_code>& __x, 32020: const _Node_iterator_base<_Value, _Cache_hash_code>& __y) 32020: noexcept 32020: { return __x._M_cur != __y._M_cur; } 32020: 32020: 32020: template 32020: struct _Node_iterator 32020: : public _Node_iterator_base<_Value, __cache> 32020: { 32020: private: 32020: using __base_type = _Node_iterator_base<_Value, __cache>; 32020: using __node_type = typename __base_type::__node_type; 32020: 32020: public: 32020: typedef _Value value_type; 32020: typedef std::ptrdiff_t difference_type; 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: using pointer = typename std::conditional<__constant_iterators, 32020: const _Value*, _Value*>::type; 32020: 32020: using reference = typename std::conditional<__constant_iterators, 32020: const _Value&, _Value&>::type; 32020: 32020: _Node_iterator() noexcept 32020: : __base_type(0) { } 32020: 32020: explicit 32020: _Node_iterator(__node_type* __p) noexcept 32020: : __base_type(__p) { } 32020: 32020: reference 32020: operator*() const noexcept 32020: { return this->_M_cur->_M_v(); } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return this->_M_cur->_M_valptr(); } 32020: 32020: _Node_iterator& 32020: operator++() noexcept 32020: { 32020: this->_M_incr(); 32020: return *this; 32020: } 32020: 32020: _Node_iterator 32020: operator++(int) noexcept 32020: { 32020: _Node_iterator __tmp(*this); 32020: this->_M_incr(); 32020: return __tmp; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Node_const_iterator 32020: : public _Node_iterator_base<_Value, __cache> 32020: { 32020: private: 32020: using __base_type = _Node_iterator_base<_Value, __cache>; 32020: using __node_type = typename __base_type::__node_type; 32020: 32020: public: 32020: typedef _Value value_type; 32020: typedef std::ptrdiff_t difference_type; 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: typedef const _Value* pointer; 32020: typedef const _Value& reference; 32020: 32020: _Node_const_iterator() noexcept 32020: : __base_type(0) { } 32020: 32020: explicit 32020: _Node_const_iterator(__node_type* __p) noexcept 32020: : __base_type(__p) { } 32020: 32020: _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators, 32020: __cache>& __x) noexcept 32020: : __base_type(__x._M_cur) { } 32020: 32020: reference 32020: operator*() const noexcept 32020: { return this->_M_cur->_M_v(); } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return this->_M_cur->_M_valptr(); } 32020: 32020: _Node_const_iterator& 32020: operator++() noexcept 32020: { 32020: this->_M_incr(); 32020: return *this; 32020: } 32020: 32020: _Node_const_iterator 32020: operator++(int) noexcept 32020: { 32020: _Node_const_iterator __tmp(*this); 32020: this->_M_incr(); 32020: return __tmp; 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct _Mod_range_hashing 32020: { 32020: typedef std::size_t first_argument_type; 32020: typedef std::size_t second_argument_type; 32020: typedef std::size_t result_type; 32020: 32020: result_type 32020: operator()(first_argument_type __num, 32020: second_argument_type __den) const noexcept 32020: { return __num % __den; } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct _Default_ranged_hash { }; 32020: 32020: 32020: 32020: struct _Prime_rehash_policy 32020: { 32020: using __has_load_factor = true_type; 32020: 32020: _Prime_rehash_policy(float __z = 1.0) noexcept 32020: : _M_max_load_factor(__z), _M_next_resize(0) { } 32020: 32020: float 32020: max_load_factor() const noexcept 32020: { return _M_max_load_factor; } 32020: 32020: 32020: std::size_t 32020: _M_next_bkt(std::size_t __n) const; 32020: 32020: 32020: std::size_t 32020: _M_bkt_for_elements(std::size_t __n) const 32020: { return __builtin_ceill(__n / (long double)_M_max_load_factor); } 32020: 32020: 32020: 32020: 32020: 32020: std::pair 32020: _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt, 32020: std::size_t __n_ins) const; 32020: 32020: typedef std::size_t _State; 32020: 32020: _State 32020: _M_state() const 32020: { return _M_next_resize; } 32020: 32020: void 32020: _M_reset() noexcept 32020: { _M_next_resize = 0; } 32020: 32020: void 32020: _M_reset(_State __state) 32020: { _M_next_resize = __state; } 32020: 32020: static const std::size_t _S_growth_factor = 2; 32020: 32020: float _M_max_load_factor; 32020: mutable std::size_t _M_next_resize; 32020: }; 32020: 32020: 32020: struct _Mask_range_hashing 32020: { 32020: typedef std::size_t first_argument_type; 32020: typedef std::size_t second_argument_type; 32020: typedef std::size_t result_type; 32020: 32020: result_type 32020: operator()(first_argument_type __num, 32020: second_argument_type __den) const noexcept 32020: { return __num & (__den - 1); } 32020: }; 32020: 32020: 32020: inline std::size_t 32020: __clp2(std::size_t __n) noexcept 32020: { 32020: 32020: if (__n < 2) 32020: return __n; 32020: const unsigned __lz = sizeof(size_t) > sizeof(long) 32020: ? __builtin_clzll(__n - 1ull) 32020: : __builtin_clzl(__n - 1ul); 32020: 32020: return (size_t(1) << (numeric_limits::digits - __lz - 1)) << 1; 32020: } 32020: 32020: 32020: 32020: struct _Power2_rehash_policy 32020: { 32020: using __has_load_factor = true_type; 32020: 32020: _Power2_rehash_policy(float __z = 1.0) noexcept 32020: : _M_max_load_factor(__z), _M_next_resize(0) { } 32020: 32020: float 32020: max_load_factor() const noexcept 32020: { return _M_max_load_factor; } 32020: 32020: 32020: 32020: std::size_t 32020: _M_next_bkt(std::size_t __n) noexcept 32020: { 32020: if (__n == 0) 32020: 32020: 32020: 32020: return 1; 32020: 32020: const auto __max_width = std::min(sizeof(size_t), 8); 32020: const auto __max_bkt = size_t(1) << (__max_width * 8 - 1); 32020: std::size_t __res = __clp2(__n); 32020: 32020: if (__res == 0) 32020: __res = __max_bkt; 32020: else if (__res == 1) 32020: 32020: 32020: 32020: __res = 2; 32020: 32020: if (__res == __max_bkt) 32020: 32020: 32020: 32020: _M_next_resize = numeric_limits::max(); 32020: else 32020: _M_next_resize 32020: = __builtin_floorl(__res * (long double)_M_max_load_factor); 32020: 32020: return __res; 32020: } 32020: 32020: 32020: std::size_t 32020: _M_bkt_for_elements(std::size_t __n) const noexcept 32020: { return __builtin_ceill(__n / (long double)_M_max_load_factor); } 32020: 32020: 32020: 32020: 32020: 32020: std::pair 32020: _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt, 32020: std::size_t __n_ins) noexcept 32020: { 32020: if (__n_elt + __n_ins > _M_next_resize) 32020: { 32020: 32020: 32020: 32020: long double __min_bkts 32020: = std::max(__n_elt + __n_ins, _M_next_resize ? 0 : 11) 32020: / (long double)_M_max_load_factor; 32020: if (__min_bkts >= __n_bkt) 32020: return { true, 32020: _M_next_bkt(std::max(__builtin_floorl(__min_bkts) + 1, 32020: __n_bkt * _S_growth_factor)) }; 32020: 32020: _M_next_resize 32020: = __builtin_floorl(__n_bkt * (long double)_M_max_load_factor); 32020: return { false, 0 }; 32020: } 32020: else 32020: return { false, 0 }; 32020: } 32020: 32020: typedef std::size_t _State; 32020: 32020: _State 32020: _M_state() const noexcept 32020: { return _M_next_resize; } 32020: 32020: void 32020: _M_reset() noexcept 32020: { _M_next_resize = 0; } 32020: 32020: void 32020: _M_reset(_State __state) noexcept 32020: { _M_next_resize = __state; } 32020: 32020: static const std::size_t _S_growth_factor = 2; 32020: 32020: float _M_max_load_factor; 32020: std::size_t _M_next_resize; 32020: }; 32020: # 640 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: template 32020: struct _Map_base { }; 32020: 32020: 32020: template 32020: struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, false> 32020: { 32020: using mapped_type = typename std::tuple_element<1, _Pair>::type; 32020: }; 32020: 32020: 32020: template 32020: struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true> 32020: { 32020: private: 32020: using __hashtable_base = __detail::_Hashtable_base<_Key, _Pair, 32020: _Select1st, 32020: _Equal, _H1, _H2, _Hash, 32020: _Traits>; 32020: 32020: using __hashtable = _Hashtable<_Key, _Pair, _Alloc, 32020: _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>; 32020: 32020: using __hash_code = typename __hashtable_base::__hash_code; 32020: using __node_type = typename __hashtable_base::__node_type; 32020: 32020: public: 32020: using key_type = typename __hashtable_base::key_type; 32020: using iterator = typename __hashtable_base::iterator; 32020: using mapped_type = typename std::tuple_element<1, _Pair>::type; 32020: 32020: mapped_type& 32020: operator[](const key_type& __k); 32020: 32020: mapped_type& 32020: operator[](key_type&& __k); 32020: 32020: 32020: 32020: mapped_type& 32020: at(const key_type& __k); 32020: 32020: const mapped_type& 32020: at(const key_type& __k) const; 32020: }; 32020: 32020: template 32020: auto 32020: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 32020: operator[](const key_type& __k) 32020: -> mapped_type& 32020: { 32020: __hashtable* __h = static_cast<__hashtable*>(this); 32020: __hash_code __code = __h->_M_hash_code(__k); 32020: std::size_t __bkt = __h->_M_bucket_index(__k, __code); 32020: if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code)) 32020: return __node->_M_v().second; 32020: 32020: typename __hashtable::_Scoped_node __node { 32020: __h, 32020: std::piecewise_construct, 32020: std::tuple(__k), 32020: std::tuple<>() 32020: }; 32020: auto __pos 32020: = __h->_M_insert_unique_node(__k, __bkt, __code, __node._M_node); 32020: __node._M_node = nullptr; 32020: return __pos->second; 32020: } 32020: 32020: template 32020: auto 32020: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 32020: operator[](key_type&& __k) 32020: -> mapped_type& 32020: { 32020: __hashtable* __h = static_cast<__hashtable*>(this); 32020: __hash_code __code = __h->_M_hash_code(__k); 32020: std::size_t __bkt = __h->_M_bucket_index(__k, __code); 32020: if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code)) 32020: return __node->_M_v().second; 32020: 32020: typename __hashtable::_Scoped_node __node { 32020: __h, 32020: std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::tuple<>() 32020: }; 32020: auto __pos 32020: = __h->_M_insert_unique_node(__k, __bkt, __code, __node._M_node); 32020: __node._M_node = nullptr; 32020: return __pos->second; 32020: } 32020: 32020: template 32020: auto 32020: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 32020: at(const key_type& __k) 32020: -> mapped_type& 32020: { 32020: __hashtable* __h = static_cast<__hashtable*>(this); 32020: __hash_code __code = __h->_M_hash_code(__k); 32020: std::size_t __bkt = __h->_M_bucket_index(__k, __code); 32020: __node_type* __p = __h->_M_find_node(__bkt, __k, __code); 32020: 32020: if (!__p) 32020: __throw_out_of_range(("_Map_base::at")); 32020: return __p->_M_v().second; 32020: } 32020: 32020: template 32020: auto 32020: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 32020: at(const key_type& __k) const 32020: -> const mapped_type& 32020: { 32020: const __hashtable* __h = static_cast(this); 32020: __hash_code __code = __h->_M_hash_code(__k); 32020: std::size_t __bkt = __h->_M_bucket_index(__k, __code); 32020: __node_type* __p = __h->_M_find_node(__bkt, __k, __code); 32020: 32020: if (!__p) 32020: __throw_out_of_range(("_Map_base::at")); 32020: return __p->_M_v().second; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Insert_base 32020: { 32020: protected: 32020: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: 32020: using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _Traits>; 32020: 32020: using value_type = typename __hashtable_base::value_type; 32020: using iterator = typename __hashtable_base::iterator; 32020: using const_iterator = typename __hashtable_base::const_iterator; 32020: using size_type = typename __hashtable_base::size_type; 32020: 32020: using __unique_keys = typename __hashtable_base::__unique_keys; 32020: using __ireturn_type = typename __hashtable_base::__ireturn_type; 32020: using __node_type = _Hash_node<_Value, _Traits::__hash_cached::value>; 32020: using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>; 32020: using __node_gen_type = _AllocNode<__node_alloc_type>; 32020: 32020: __hashtable& 32020: _M_conjure_hashtable() 32020: { return *(static_cast<__hashtable*>(this)); } 32020: 32020: template 32020: void 32020: _M_insert_range(_InputIterator __first, _InputIterator __last, 32020: const _NodeGetter&, true_type); 32020: 32020: template 32020: void 32020: _M_insert_range(_InputIterator __first, _InputIterator __last, 32020: const _NodeGetter&, false_type); 32020: 32020: public: 32020: __ireturn_type 32020: insert(const value_type& __v) 32020: { 32020: __hashtable& __h = _M_conjure_hashtable(); 32020: __node_gen_type __node_gen(__h); 32020: return __h._M_insert(__v, __node_gen, __unique_keys()); 32020: } 32020: 32020: iterator 32020: insert(const_iterator __hint, const value_type& __v) 32020: { 32020: __hashtable& __h = _M_conjure_hashtable(); 32020: __node_gen_type __node_gen(__h); 32020: return __h._M_insert(__hint, __v, __node_gen, __unique_keys()); 32020: } 32020: 32020: void 32020: insert(initializer_list __l) 32020: { this->insert(__l.begin(), __l.end()); } 32020: 32020: template 32020: void 32020: insert(_InputIterator __first, _InputIterator __last) 32020: { 32020: __hashtable& __h = _M_conjure_hashtable(); 32020: __node_gen_type __node_gen(__h); 32020: return _M_insert_range(__first, __last, __node_gen, __unique_keys()); 32020: } 32020: }; 32020: 32020: template 32020: template 32020: void 32020: _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>:: 32020: _M_insert_range(_InputIterator __first, _InputIterator __last, 32020: const _NodeGetter& __node_gen, true_type) 32020: { 32020: size_type __n_elt = __detail::__distance_fw(__first, __last); 32020: if (__n_elt == 0) 32020: return; 32020: 32020: __hashtable& __h = _M_conjure_hashtable(); 32020: for (; __first != __last; ++__first) 32020: { 32020: if (__h._M_insert(*__first, __node_gen, __unique_keys(), 32020: __n_elt).second) 32020: __n_elt = 1; 32020: else if (__n_elt != 1) 32020: --__n_elt; 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>:: 32020: _M_insert_range(_InputIterator __first, _InputIterator __last, 32020: const _NodeGetter& __node_gen, false_type) 32020: { 32020: using __rehash_type = typename __hashtable::__rehash_type; 32020: using __rehash_state = typename __hashtable::__rehash_state; 32020: using pair_type = std::pair; 32020: 32020: size_type __n_elt = __detail::__distance_fw(__first, __last); 32020: if (__n_elt == 0) 32020: return; 32020: 32020: __hashtable& __h = _M_conjure_hashtable(); 32020: __rehash_type& __rehash = __h._M_rehash_policy; 32020: const __rehash_state& __saved_state = __rehash._M_state(); 32020: pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count, 32020: __h._M_element_count, 32020: __n_elt); 32020: 32020: if (__do_rehash.first) 32020: __h._M_rehash(__do_rehash.second, __saved_state); 32020: 32020: for (; __first != __last; ++__first) 32020: __h._M_insert(*__first, __node_gen, __unique_keys()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Insert; 32020: 32020: 32020: template 32020: struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits, true> 32020: : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits> 32020: { 32020: using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: 32020: using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _Traits>; 32020: 32020: using value_type = typename __base_type::value_type; 32020: using iterator = typename __base_type::iterator; 32020: using const_iterator = typename __base_type::const_iterator; 32020: 32020: using __unique_keys = typename __base_type::__unique_keys; 32020: using __ireturn_type = typename __hashtable_base::__ireturn_type; 32020: using __hashtable = typename __base_type::__hashtable; 32020: using __node_gen_type = typename __base_type::__node_gen_type; 32020: 32020: using __base_type::insert; 32020: 32020: __ireturn_type 32020: insert(value_type&& __v) 32020: { 32020: __hashtable& __h = this->_M_conjure_hashtable(); 32020: __node_gen_type __node_gen(__h); 32020: return __h._M_insert(std::move(__v), __node_gen, __unique_keys()); 32020: } 32020: 32020: iterator 32020: insert(const_iterator __hint, value_type&& __v) 32020: { 32020: __hashtable& __h = this->_M_conjure_hashtable(); 32020: __node_gen_type __node_gen(__h); 32020: return __h._M_insert(__hint, std::move(__v), __node_gen, 32020: __unique_keys()); 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits, false> 32020: : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits> 32020: { 32020: using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: using value_type = typename __base_type::value_type; 32020: using iterator = typename __base_type::iterator; 32020: using const_iterator = typename __base_type::const_iterator; 32020: 32020: using __unique_keys = typename __base_type::__unique_keys; 32020: using __hashtable = typename __base_type::__hashtable; 32020: using __ireturn_type = typename __base_type::__ireturn_type; 32020: 32020: using __base_type::insert; 32020: 32020: template 32020: using __is_cons = std::is_constructible; 32020: 32020: template 32020: using _IFcons = std::enable_if<__is_cons<_Pair>::value>; 32020: 32020: template 32020: using _IFconsp = typename _IFcons<_Pair>::type; 32020: 32020: template> 32020: __ireturn_type 32020: insert(_Pair&& __v) 32020: { 32020: __hashtable& __h = this->_M_conjure_hashtable(); 32020: return __h._M_emplace(__unique_keys(), std::forward<_Pair>(__v)); 32020: } 32020: 32020: template> 32020: iterator 32020: insert(const_iterator __hint, _Pair&& __v) 32020: { 32020: __hashtable& __h = this->_M_conjure_hashtable(); 32020: return __h._M_emplace(__hint, __unique_keys(), 32020: std::forward<_Pair>(__v)); 32020: } 32020: }; 32020: 32020: template 32020: using __has_load_factor = typename _Policy::__has_load_factor; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template> 32020: struct _Rehash_base; 32020: 32020: 32020: template 32020: struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, 32020: false_type> 32020: { 32020: }; 32020: 32020: 32020: template 32020: struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, 32020: true_type> 32020: { 32020: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: 32020: float 32020: max_load_factor() const noexcept 32020: { 32020: const __hashtable* __this = static_cast(this); 32020: return __this->__rehash_policy().max_load_factor(); 32020: } 32020: 32020: void 32020: max_load_factor(float __z) 32020: { 32020: __hashtable* __this = static_cast<__hashtable*>(this); 32020: __this->__rehash_policy(_RehashPolicy(__z)); 32020: } 32020: 32020: void 32020: reserve(std::size_t __n) 32020: { 32020: __hashtable* __this = static_cast<__hashtable*>(this); 32020: __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n)); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hashtable_ebo_helper; 32020: 32020: 32020: template 32020: struct _Hashtable_ebo_helper<_Nm, _Tp, true> 32020: : private _Tp 32020: { 32020: _Hashtable_ebo_helper() = default; 32020: 32020: template 32020: _Hashtable_ebo_helper(_OtherTp&& __tp) 32020: : _Tp(std::forward<_OtherTp>(__tp)) 32020: { } 32020: 32020: const _Tp& _M_cget() const { return static_cast(*this); } 32020: _Tp& _M_get() { return static_cast<_Tp&>(*this); } 32020: }; 32020: 32020: 32020: template 32020: struct _Hashtable_ebo_helper<_Nm, _Tp, false> 32020: { 32020: _Hashtable_ebo_helper() = default; 32020: 32020: template 32020: _Hashtable_ebo_helper(_OtherTp&& __tp) 32020: : _M_tp(std::forward<_OtherTp>(__tp)) 32020: { } 32020: 32020: const _Tp& _M_cget() const { return _M_tp; } 32020: _Tp& _M_get() { return _M_tp; } 32020: 32020: private: 32020: _Tp _M_tp; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Local_iterator_base; 32020: # 1172 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: template 32020: struct _Hash_code_base; 32020: 32020: 32020: 32020: template 32020: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false> 32020: : private _Hashtable_ebo_helper<0, _ExtractKey>, 32020: private _Hashtable_ebo_helper<1, _Hash> 32020: { 32020: private: 32020: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; 32020: using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>; 32020: 32020: protected: 32020: typedef void* __hash_code; 32020: typedef _Hash_node<_Value, false> __node_type; 32020: 32020: 32020: 32020: _Hash_code_base() = default; 32020: 32020: _Hash_code_base(const _ExtractKey& __ex, const _H1&, const _H2&, 32020: const _Hash& __h) 32020: : __ebo_extract_key(__ex), __ebo_hash(__h) { } 32020: 32020: __hash_code 32020: _M_hash_code(const _Key& __key) const 32020: { return 0; } 32020: 32020: std::size_t 32020: _M_bucket_index(const _Key& __k, __hash_code, 32020: std::size_t __bkt_count) const 32020: { return _M_ranged_hash()(__k, __bkt_count); } 32020: 32020: std::size_t 32020: _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const 32020: noexcept( noexcept(declval()(declval(), 32020: (std::size_t)0)) ) 32020: { return _M_ranged_hash()(_M_extract()(__p->_M_v()), __bkt_count); } 32020: 32020: void 32020: _M_store_code(__node_type*, __hash_code) const 32020: { } 32020: 32020: void 32020: _M_copy_code(__node_type*, const __node_type*) const 32020: { } 32020: 32020: void 32020: _M_swap(_Hash_code_base& __x) 32020: { 32020: std::swap(__ebo_extract_key::_M_get(), 32020: __x.__ebo_extract_key::_M_get()); 32020: std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); 32020: } 32020: 32020: const _ExtractKey& 32020: _M_extract() const { return __ebo_extract_key::_M_cget(); } 32020: 32020: const _Hash& 32020: _M_ranged_hash() const { return __ebo_hash::_M_cget(); } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>; 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, 32020: _Default_ranged_hash, false> 32020: : private _Hashtable_ebo_helper<0, _ExtractKey>, 32020: private _Hashtable_ebo_helper<1, _H1>, 32020: private _Hashtable_ebo_helper<2, _H2> 32020: { 32020: private: 32020: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; 32020: using __ebo_h1 = _Hashtable_ebo_helper<1, _H1>; 32020: using __ebo_h2 = _Hashtable_ebo_helper<2, _H2>; 32020: 32020: 32020: friend struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, 32020: _Default_ranged_hash, false>; 32020: 32020: public: 32020: typedef _H1 hasher; 32020: 32020: hasher 32020: hash_function() const 32020: { return _M_h1(); } 32020: 32020: protected: 32020: typedef std::size_t __hash_code; 32020: typedef _Hash_node<_Value, false> __node_type; 32020: 32020: 32020: 32020: _Hash_code_base() = default; 32020: 32020: _Hash_code_base(const _ExtractKey& __ex, 32020: const _H1& __h1, const _H2& __h2, 32020: const _Default_ranged_hash&) 32020: : __ebo_extract_key(__ex), __ebo_h1(__h1), __ebo_h2(__h2) { } 32020: 32020: __hash_code 32020: _M_hash_code(const _Key& __k) const 32020: { 32020: static_assert(__is_invocable{}, 32020: "hash function must be invocable with an argument of key type"); 32020: return _M_h1()(__k); 32020: } 32020: 32020: std::size_t 32020: _M_bucket_index(const _Key&, __hash_code __c, 32020: std::size_t __bkt_count) const 32020: { return _M_h2()(__c, __bkt_count); } 32020: 32020: std::size_t 32020: _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const 32020: noexcept( noexcept(declval()(declval())) 32020: && noexcept(declval()((__hash_code)0, 32020: (std::size_t)0)) ) 32020: { return _M_h2()(_M_h1()(_M_extract()(__p->_M_v())), __bkt_count); } 32020: 32020: void 32020: _M_store_code(__node_type*, __hash_code) const 32020: { } 32020: 32020: void 32020: _M_copy_code(__node_type*, const __node_type*) const 32020: { } 32020: 32020: void 32020: _M_swap(_Hash_code_base& __x) 32020: { 32020: std::swap(__ebo_extract_key::_M_get(), 32020: __x.__ebo_extract_key::_M_get()); 32020: std::swap(__ebo_h1::_M_get(), __x.__ebo_h1::_M_get()); 32020: std::swap(__ebo_h2::_M_get(), __x.__ebo_h2::_M_get()); 32020: } 32020: 32020: const _ExtractKey& 32020: _M_extract() const { return __ebo_extract_key::_M_cget(); } 32020: 32020: const _H1& 32020: _M_h1() const { return __ebo_h1::_M_cget(); } 32020: 32020: const _H2& 32020: _M_h2() const { return __ebo_h2::_M_cget(); } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, 32020: _Default_ranged_hash, true> 32020: : private _Hashtable_ebo_helper<0, _ExtractKey>, 32020: private _Hashtable_ebo_helper<1, _H1>, 32020: private _Hashtable_ebo_helper<2, _H2> 32020: { 32020: private: 32020: 32020: friend struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, 32020: _Default_ranged_hash, true>; 32020: 32020: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; 32020: using __ebo_h1 = _Hashtable_ebo_helper<1, _H1>; 32020: using __ebo_h2 = _Hashtable_ebo_helper<2, _H2>; 32020: 32020: public: 32020: typedef _H1 hasher; 32020: 32020: hasher 32020: hash_function() const 32020: { return _M_h1(); } 32020: 32020: protected: 32020: typedef std::size_t __hash_code; 32020: typedef _Hash_node<_Value, true> __node_type; 32020: 32020: 32020: _Hash_code_base() = default; 32020: _Hash_code_base(const _ExtractKey& __ex, 32020: const _H1& __h1, const _H2& __h2, 32020: const _Default_ranged_hash&) 32020: : __ebo_extract_key(__ex), __ebo_h1(__h1), __ebo_h2(__h2) { } 32020: 32020: __hash_code 32020: _M_hash_code(const _Key& __k) const 32020: { 32020: static_assert(__is_invocable{}, 32020: "hash function must be invocable with an argument of key type"); 32020: return _M_h1()(__k); 32020: } 32020: 32020: std::size_t 32020: _M_bucket_index(const _Key&, __hash_code __c, 32020: std::size_t __bkt_count) const 32020: { return _M_h2()(__c, __bkt_count); } 32020: 32020: std::size_t 32020: _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const 32020: noexcept( noexcept(declval()((__hash_code)0, 32020: (std::size_t)0)) ) 32020: { return _M_h2()(__p->_M_hash_code, __bkt_count); } 32020: 32020: void 32020: _M_store_code(__node_type* __n, __hash_code __c) const 32020: { __n->_M_hash_code = __c; } 32020: 32020: void 32020: _M_copy_code(__node_type* __to, const __node_type* __from) const 32020: { __to->_M_hash_code = __from->_M_hash_code; } 32020: 32020: void 32020: _M_swap(_Hash_code_base& __x) 32020: { 32020: std::swap(__ebo_extract_key::_M_get(), 32020: __x.__ebo_extract_key::_M_get()); 32020: std::swap(__ebo_h1::_M_get(), __x.__ebo_h1::_M_get()); 32020: std::swap(__ebo_h2::_M_get(), __x.__ebo_h2::_M_get()); 32020: } 32020: 32020: const _ExtractKey& 32020: _M_extract() const { return __ebo_extract_key::_M_cget(); } 32020: 32020: const _H1& 32020: _M_h1() const { return __ebo_h1::_M_cget(); } 32020: 32020: const _H2& 32020: _M_h2() const { return __ebo_h2::_M_cget(); } 32020: }; 32020: 32020: 32020: template 32020: struct _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, true> 32020: : private _Hashtable_ebo_helper<0, _H2> 32020: { 32020: protected: 32020: using __base_type = _Hashtable_ebo_helper<0, _H2>; 32020: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, true>; 32020: 32020: _Local_iterator_base() = default; 32020: _Local_iterator_base(const __hash_code_base& __base, 32020: _Hash_node<_Value, true>* __p, 32020: std::size_t __bkt, std::size_t __bkt_count) 32020: : __base_type(__base._M_h2()), 32020: _M_cur(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count) { } 32020: 32020: void 32020: _M_incr() 32020: { 32020: _M_cur = _M_cur->_M_next(); 32020: if (_M_cur) 32020: { 32020: std::size_t __bkt 32020: = __base_type::_M_get()(_M_cur->_M_hash_code, 32020: _M_bucket_count); 32020: if (__bkt != _M_bucket) 32020: _M_cur = nullptr; 32020: } 32020: } 32020: 32020: _Hash_node<_Value, true>* _M_cur; 32020: std::size_t _M_bucket; 32020: std::size_t _M_bucket_count; 32020: 32020: public: 32020: const void* 32020: _M_curr() const { return _M_cur; } 32020: 32020: std::size_t 32020: _M_get_bucket() const { return _M_bucket; } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template::value> 32020: struct _Hash_code_storage 32020: { 32020: __gnu_cxx::__aligned_buffer<_Tp> _M_storage; 32020: 32020: _Tp* 32020: _M_h() { return _M_storage._M_ptr(); } 32020: 32020: const _Tp* 32020: _M_h() const { return _M_storage._M_ptr(); } 32020: }; 32020: 32020: 32020: template 32020: struct _Hash_code_storage<_Tp, true> 32020: { 32020: static_assert( std::is_empty<_Tp>::value, "Type must be empty" ); 32020: 32020: 32020: 32020: _Tp* 32020: _M_h() { return reinterpret_cast<_Tp*>(this); } 32020: 32020: const _Tp* 32020: _M_h() const { return reinterpret_cast(this); } 32020: }; 32020: 32020: template 32020: using __hash_code_for_local_iter 32020: = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, false>>; 32020: 32020: 32020: template 32020: struct _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, false> 32020: : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _H1, _H2, _Hash> 32020: { 32020: protected: 32020: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, false>; 32020: 32020: _Local_iterator_base() : _M_bucket_count(-1) { } 32020: 32020: _Local_iterator_base(const __hash_code_base& __base, 32020: _Hash_node<_Value, false>* __p, 32020: std::size_t __bkt, std::size_t __bkt_count) 32020: : _M_cur(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count) 32020: { _M_init(__base); } 32020: 32020: ~_Local_iterator_base() 32020: { 32020: if (_M_bucket_count != -1) 32020: _M_destroy(); 32020: } 32020: 32020: _Local_iterator_base(const _Local_iterator_base& __iter) 32020: : _M_cur(__iter._M_cur), _M_bucket(__iter._M_bucket), 32020: _M_bucket_count(__iter._M_bucket_count) 32020: { 32020: if (_M_bucket_count != -1) 32020: _M_init(*__iter._M_h()); 32020: } 32020: 32020: _Local_iterator_base& 32020: operator=(const _Local_iterator_base& __iter) 32020: { 32020: if (_M_bucket_count != -1) 32020: _M_destroy(); 32020: _M_cur = __iter._M_cur; 32020: _M_bucket = __iter._M_bucket; 32020: _M_bucket_count = __iter._M_bucket_count; 32020: if (_M_bucket_count != -1) 32020: _M_init(*__iter._M_h()); 32020: return *this; 32020: } 32020: 32020: void 32020: _M_incr() 32020: { 32020: _M_cur = _M_cur->_M_next(); 32020: if (_M_cur) 32020: { 32020: std::size_t __bkt = this->_M_h()->_M_bucket_index(_M_cur, 32020: _M_bucket_count); 32020: if (__bkt != _M_bucket) 32020: _M_cur = nullptr; 32020: } 32020: } 32020: 32020: _Hash_node<_Value, false>* _M_cur; 32020: std::size_t _M_bucket; 32020: std::size_t _M_bucket_count; 32020: 32020: void 32020: _M_init(const __hash_code_base& __base) 32020: { ::new(this->_M_h()) __hash_code_base(__base); } 32020: 32020: void 32020: _M_destroy() { this->_M_h()->~__hash_code_base(); } 32020: 32020: public: 32020: const void* 32020: _M_curr() const { return _M_cur; } 32020: 32020: std::size_t 32020: _M_get_bucket() const { return _M_bucket; } 32020: }; 32020: 32020: template 32020: inline bool 32020: operator==(const _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache>& __x, 32020: const _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache>& __y) 32020: { return __x._M_curr() == __y._M_curr(); } 32020: 32020: template 32020: inline bool 32020: operator!=(const _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache>& __x, 32020: const _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache>& __y) 32020: { return __x._M_curr() != __y._M_curr(); } 32020: 32020: 32020: template 32020: struct _Local_iterator 32020: : public _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache> 32020: { 32020: private: 32020: using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache>; 32020: using __hash_code_base = typename __base_type::__hash_code_base; 32020: public: 32020: typedef _Value value_type; 32020: typedef typename std::conditional<__constant_iterators, 32020: const _Value*, _Value*>::type 32020: pointer; 32020: typedef typename std::conditional<__constant_iterators, 32020: const _Value&, _Value&>::type 32020: reference; 32020: typedef std::ptrdiff_t difference_type; 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: _Local_iterator() = default; 32020: 32020: _Local_iterator(const __hash_code_base& __base, 32020: _Hash_node<_Value, __cache>* __n, 32020: std::size_t __bkt, std::size_t __bkt_count) 32020: : __base_type(__base, __n, __bkt, __bkt_count) 32020: { } 32020: 32020: reference 32020: operator*() const 32020: { return this->_M_cur->_M_v(); } 32020: 32020: pointer 32020: operator->() const 32020: { return this->_M_cur->_M_valptr(); } 32020: 32020: _Local_iterator& 32020: operator++() 32020: { 32020: this->_M_incr(); 32020: return *this; 32020: } 32020: 32020: _Local_iterator 32020: operator++(int) 32020: { 32020: _Local_iterator __tmp(*this); 32020: this->_M_incr(); 32020: return __tmp; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Local_const_iterator 32020: : public _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache> 32020: { 32020: private: 32020: using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, __cache>; 32020: using __hash_code_base = typename __base_type::__hash_code_base; 32020: 32020: public: 32020: typedef _Value value_type; 32020: typedef const _Value* pointer; 32020: typedef const _Value& reference; 32020: typedef std::ptrdiff_t difference_type; 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: _Local_const_iterator() = default; 32020: 32020: _Local_const_iterator(const __hash_code_base& __base, 32020: _Hash_node<_Value, __cache>* __n, 32020: std::size_t __bkt, std::size_t __bkt_count) 32020: : __base_type(__base, __n, __bkt, __bkt_count) 32020: { } 32020: 32020: _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, 32020: __constant_iterators, 32020: __cache>& __x) 32020: : __base_type(__x) 32020: { } 32020: 32020: reference 32020: operator*() const 32020: { return this->_M_cur->_M_v(); } 32020: 32020: pointer 32020: operator->() const 32020: { return this->_M_cur->_M_valptr(); } 32020: 32020: _Local_const_iterator& 32020: operator++() 32020: { 32020: this->_M_incr(); 32020: return *this; 32020: } 32020: 32020: _Local_const_iterator 32020: operator++(int) 32020: { 32020: _Local_const_iterator __tmp(*this); 32020: this->_M_incr(); 32020: return __tmp; 32020: } 32020: }; 32020: # 1722 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: template 32020: struct _Hashtable_base 32020: : public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, 32020: _Traits::__hash_cached::value>, 32020: private _Hashtable_ebo_helper<0, _Equal> 32020: { 32020: public: 32020: typedef _Key key_type; 32020: typedef _Value value_type; 32020: typedef _Equal key_equal; 32020: typedef std::size_t size_type; 32020: typedef std::ptrdiff_t difference_type; 32020: 32020: using __traits_type = _Traits; 32020: using __hash_cached = typename __traits_type::__hash_cached; 32020: using __constant_iterators = typename __traits_type::__constant_iterators; 32020: using __unique_keys = typename __traits_type::__unique_keys; 32020: 32020: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, 32020: _H1, _H2, _Hash, 32020: __hash_cached::value>; 32020: 32020: using __hash_code = typename __hash_code_base::__hash_code; 32020: using __node_type = typename __hash_code_base::__node_type; 32020: 32020: using iterator = __detail::_Node_iterator; 32020: 32020: using const_iterator = __detail::_Node_const_iterator; 32020: 32020: using local_iterator = __detail::_Local_iterator; 32020: 32020: using const_local_iterator = __detail::_Local_const_iterator; 32020: 32020: using __ireturn_type = typename std::conditional<__unique_keys::value, 32020: std::pair, 32020: iterator>::type; 32020: private: 32020: using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>; 32020: 32020: template 32020: struct _Equal_hash_code 32020: { 32020: static bool 32020: _S_equals(__hash_code, const _NodeT&) 32020: { return true; } 32020: }; 32020: 32020: template 32020: struct _Equal_hash_code<_Hash_node<_Ptr2, true>> 32020: { 32020: static bool 32020: _S_equals(__hash_code __c, const _Hash_node<_Ptr2, true>& __n) 32020: { return __c == __n._M_hash_code; } 32020: }; 32020: 32020: protected: 32020: _Hashtable_base() = default; 32020: _Hashtable_base(const _ExtractKey& __ex, const _H1& __h1, const _H2& __h2, 32020: const _Hash& __hash, const _Equal& __eq) 32020: : __hash_code_base(__ex, __h1, __h2, __hash), _EqualEBO(__eq) 32020: { } 32020: 32020: bool 32020: _M_equals(const _Key& __k, __hash_code __c, __node_type* __n) const 32020: { 32020: static_assert(__is_invocable{}, 32020: "key equality predicate must be invocable with two arguments of " 32020: "key type"); 32020: return _Equal_hash_code<__node_type>::_S_equals(__c, *__n) 32020: && _M_eq()(__k, this->_M_extract()(__n->_M_v())); 32020: } 32020: 32020: void 32020: _M_swap(_Hashtable_base& __x) 32020: { 32020: __hash_code_base::_M_swap(__x); 32020: std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get()); 32020: } 32020: 32020: const _Equal& 32020: _M_eq() const { return _EqualEBO::_M_cget(); } 32020: }; 32020: # 1826 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable_policy.h" 3 32020: template 32020: struct _Equality; 32020: 32020: 32020: template 32020: struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true> 32020: { 32020: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>; 32020: 32020: bool 32020: _M_equal(const __hashtable&) const; 32020: }; 32020: 32020: template 32020: bool 32020: _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 32020: _M_equal(const __hashtable& __other) const 32020: { 32020: using __node_base = typename __hashtable::__node_base; 32020: using __node_type = typename __hashtable::__node_type; 32020: const __hashtable* __this = static_cast(this); 32020: if (__this->size() != __other.size()) 32020: return false; 32020: 32020: for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx) 32020: { 32020: std::size_t __ybkt = __other._M_bucket_index(__itx._M_cur); 32020: __node_base* __prev_n = __other._M_buckets[__ybkt]; 32020: if (!__prev_n) 32020: return false; 32020: 32020: for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);; 32020: __n = __n->_M_next()) 32020: { 32020: if (__n->_M_v() == *__itx) 32020: break; 32020: 32020: if (!__n->_M_nxt 32020: || __other._M_bucket_index(__n->_M_next()) != __ybkt) 32020: return false; 32020: } 32020: } 32020: 32020: return true; 32020: } 32020: 32020: 32020: template 32020: struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, false> 32020: { 32020: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>; 32020: 32020: bool 32020: _M_equal(const __hashtable&) const; 32020: }; 32020: 32020: template 32020: bool 32020: _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits, false>:: 32020: _M_equal(const __hashtable& __other) const 32020: { 32020: using __node_base = typename __hashtable::__node_base; 32020: using __node_type = typename __hashtable::__node_type; 32020: const __hashtable* __this = static_cast(this); 32020: if (__this->size() != __other.size()) 32020: return false; 32020: 32020: for (auto __itx = __this->begin(); __itx != __this->end();) 32020: { 32020: std::size_t __x_count = 1; 32020: auto __itx_end = __itx; 32020: for (++__itx_end; __itx_end != __this->end() 32020: && __this->key_eq()(_ExtractKey()(*__itx), 32020: _ExtractKey()(*__itx_end)); 32020: ++__itx_end) 32020: ++__x_count; 32020: 32020: std::size_t __ybkt = __other._M_bucket_index(__itx._M_cur); 32020: __node_base* __y_prev_n = __other._M_buckets[__ybkt]; 32020: if (!__y_prev_n) 32020: return false; 32020: 32020: __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt); 32020: for (;; __y_n = __y_n->_M_next()) 32020: { 32020: if (__this->key_eq()(_ExtractKey()(__y_n->_M_v()), 32020: _ExtractKey()(*__itx))) 32020: break; 32020: 32020: if (!__y_n->_M_nxt 32020: || __other._M_bucket_index(__y_n->_M_next()) != __ybkt) 32020: return false; 32020: } 32020: 32020: typename __hashtable::const_iterator __ity(__y_n); 32020: for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end) 32020: if (--__x_count == 0) 32020: break; 32020: 32020: if (__x_count != 0) 32020: return false; 32020: 32020: if (!std::is_permutation(__itx, __itx_end, __ity)) 32020: return false; 32020: 32020: __itx = __itx_end; 32020: } 32020: return true; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc> 32020: { 32020: private: 32020: using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>; 32020: public: 32020: using __node_type = typename _NodeAlloc::value_type; 32020: using __node_alloc_type = _NodeAlloc; 32020: 32020: using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>; 32020: 32020: using __value_alloc_traits = typename __node_alloc_traits::template 32020: rebind_traits; 32020: 32020: using __node_base = __detail::_Hash_node_base; 32020: using __bucket_type = __node_base*; 32020: using __bucket_alloc_type = 32020: __alloc_rebind<__node_alloc_type, __bucket_type>; 32020: using __bucket_alloc_traits = std::allocator_traits<__bucket_alloc_type>; 32020: 32020: _Hashtable_alloc() = default; 32020: _Hashtable_alloc(const _Hashtable_alloc&) = default; 32020: _Hashtable_alloc(_Hashtable_alloc&&) = default; 32020: 32020: template 32020: _Hashtable_alloc(_Alloc&& __a) 32020: : __ebo_node_alloc(std::forward<_Alloc>(__a)) 32020: { } 32020: 32020: __node_alloc_type& 32020: _M_node_allocator() 32020: { return __ebo_node_alloc::_M_get(); } 32020: 32020: const __node_alloc_type& 32020: _M_node_allocator() const 32020: { return __ebo_node_alloc::_M_cget(); } 32020: 32020: 32020: template 32020: __node_type* 32020: _M_allocate_node(_Args&&... __args); 32020: 32020: 32020: void 32020: _M_deallocate_node(__node_type* __n); 32020: 32020: 32020: void 32020: _M_deallocate_node_ptr(__node_type* __n); 32020: 32020: 32020: 32020: void 32020: _M_deallocate_nodes(__node_type* __n); 32020: 32020: __bucket_type* 32020: _M_allocate_buckets(std::size_t __bkt_count); 32020: 32020: void 32020: _M_deallocate_buckets(__bucket_type*, std::size_t __bkt_count); 32020: }; 32020: 32020: 32020: 32020: template 32020: template 32020: auto 32020: _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args) 32020: -> __node_type* 32020: { 32020: auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1); 32020: __node_type* __n = std::__to_address(__nptr); 32020: try 32020: { 32020: ::new ((void*)__n) __node_type; 32020: __node_alloc_traits::construct(_M_node_allocator(), 32020: __n->_M_valptr(), 32020: std::forward<_Args>(__args)...); 32020: return __n; 32020: } 32020: catch(...) 32020: { 32020: __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: void 32020: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type* __n) 32020: { 32020: __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr()); 32020: _M_deallocate_node_ptr(__n); 32020: } 32020: 32020: template 32020: void 32020: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_type* __n) 32020: { 32020: typedef typename __node_alloc_traits::pointer _Ptr; 32020: auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n); 32020: __n->~__node_type(); 32020: __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1); 32020: } 32020: 32020: template 32020: void 32020: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_type* __n) 32020: { 32020: while (__n) 32020: { 32020: __node_type* __tmp = __n; 32020: __n = __n->_M_next(); 32020: _M_deallocate_node(__tmp); 32020: } 32020: } 32020: 32020: template 32020: typename _Hashtable_alloc<_NodeAlloc>::__bucket_type* 32020: _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count) 32020: { 32020: __bucket_alloc_type __alloc(_M_node_allocator()); 32020: 32020: auto __ptr = __bucket_alloc_traits::allocate(__alloc, __bkt_count); 32020: __bucket_type* __p = std::__to_address(__ptr); 32020: __builtin_memset(__p, 0, __bkt_count * sizeof(__bucket_type)); 32020: return __p; 32020: } 32020: 32020: template 32020: void 32020: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_buckets(__bucket_type* __bkts, 32020: std::size_t __bkt_count) 32020: { 32020: typedef typename __bucket_alloc_traits::pointer _Ptr; 32020: auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts); 32020: __bucket_alloc_type __alloc(_M_node_allocator()); 32020: __bucket_alloc_traits::deallocate(__alloc, __ptr, __bkt_count); 32020: } 32020: 32020: 32020: } 32020: 32020: } 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/node_handle.h" 1 3 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/node_handle.h" 3 32020: 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/node_handle.h" 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/enable_special_members.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/enable_special_members.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/enable_special_members.h" 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: struct _Enable_default_constructor_tag 32020: { 32020: explicit constexpr _Enable_default_constructor_tag() = default; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Enable_default_constructor 32020: { 32020: constexpr _Enable_default_constructor() noexcept = default; 32020: constexpr _Enable_default_constructor(_Enable_default_constructor const&) 32020: noexcept = default; 32020: constexpr _Enable_default_constructor(_Enable_default_constructor&&) 32020: noexcept = default; 32020: _Enable_default_constructor& 32020: operator=(_Enable_default_constructor const&) noexcept = default; 32020: _Enable_default_constructor& 32020: operator=(_Enable_default_constructor&&) noexcept = default; 32020: 32020: 32020: constexpr explicit 32020: _Enable_default_constructor(_Enable_default_constructor_tag) { } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Enable_destructor { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Enable_copy_move { }; 32020: # 93 "/usr/arm-linux-gnueabihf/include/c++/10/bits/enable_special_members.h" 3 32020: template 32020: struct _Enable_special_members 32020: : private _Enable_default_constructor<_Default, _Tag>, 32020: private _Enable_destructor<_Destructor, _Tag>, 32020: private _Enable_copy_move<_Copy, _CopyAssignment, 32020: _Move, _MoveAssignment, 32020: _Tag> 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct _Enable_default_constructor 32020: { 32020: constexpr _Enable_default_constructor() noexcept = delete; 32020: constexpr _Enable_default_constructor(_Enable_default_constructor const&) 32020: noexcept = default; 32020: constexpr _Enable_default_constructor(_Enable_default_constructor&&) 32020: noexcept = default; 32020: _Enable_default_constructor& 32020: operator=(_Enable_default_constructor const&) noexcept = default; 32020: _Enable_default_constructor& 32020: operator=(_Enable_default_constructor&&) noexcept = default; 32020: 32020: 32020: constexpr explicit 32020: _Enable_default_constructor(_Enable_default_constructor_tag) { } 32020: }; 32020: 32020: template 32020: struct _Enable_destructor 32020: { ~_Enable_destructor() noexcept = delete; }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = default; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = default; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: template 32020: struct _Enable_copy_move 32020: { 32020: constexpr _Enable_copy_move() noexcept = default; 32020: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 32020: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move const&) noexcept = delete; 32020: _Enable_copy_move& 32020: operator=(_Enable_copy_move&&) noexcept = delete; 32020: }; 32020: 32020: 32020: } 32020: # 44 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 2 3 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: template 32020: class optional; 32020: 32020: 32020: struct nullopt_t 32020: { 32020: 32020: 32020: 32020: 32020: 32020: enum class _Construct { _Token }; 32020: 32020: 32020: explicit constexpr nullopt_t(_Construct) { } 32020: }; 32020: 32020: 32020: inline constexpr nullopt_t nullopt { nullopt_t::_Construct::_Token }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: class bad_optional_access : public exception 32020: { 32020: public: 32020: bad_optional_access() { } 32020: 32020: virtual const char* what() const noexcept override 32020: { return "bad optional access"; } 32020: 32020: virtual ~bad_optional_access() noexcept = default; 32020: }; 32020: 32020: void 32020: __throw_bad_optional_access() 32020: __attribute__((__noreturn__)); 32020: 32020: 32020: inline void 32020: __throw_bad_optional_access() 32020: { (throw (bad_optional_access())); } 32020: 32020: 32020: 32020: template 32020: struct _Optional_payload_base 32020: { 32020: using _Stored_type = remove_const_t<_Tp>; 32020: 32020: _Optional_payload_base() = default; 32020: ~_Optional_payload_base() = default; 32020: 32020: template 32020: constexpr 32020: _Optional_payload_base(in_place_t __tag, _Args&&... __args) 32020: : _M_payload(__tag, std::forward<_Args>(__args)...), 32020: _M_engaged(true) 32020: { } 32020: 32020: template 32020: constexpr 32020: _Optional_payload_base(std::initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : _M_payload(__il, std::forward<_Args>(__args)...), 32020: _M_engaged(true) 32020: { } 32020: 32020: 32020: 32020: constexpr 32020: _Optional_payload_base(bool __engaged, 32020: const _Optional_payload_base& __other) 32020: { 32020: if (__other._M_engaged) 32020: this->_M_construct(__other._M_get()); 32020: } 32020: 32020: 32020: 32020: constexpr 32020: _Optional_payload_base(bool __engaged, 32020: _Optional_payload_base&& __other) 32020: { 32020: if (__other._M_engaged) 32020: this->_M_construct(std::move(__other._M_get())); 32020: } 32020: 32020: 32020: 32020: _Optional_payload_base(const _Optional_payload_base&) = default; 32020: 32020: 32020: 32020: _Optional_payload_base(_Optional_payload_base&&) = default; 32020: 32020: _Optional_payload_base& 32020: operator=(const _Optional_payload_base&) = default; 32020: 32020: _Optional_payload_base& 32020: operator=(_Optional_payload_base&&) = default; 32020: 32020: 32020: constexpr void 32020: _M_copy_assign(const _Optional_payload_base& __other) 32020: { 32020: if (this->_M_engaged && __other._M_engaged) 32020: this->_M_get() = __other._M_get(); 32020: else 32020: { 32020: if (__other._M_engaged) 32020: this->_M_construct(__other._M_get()); 32020: else 32020: this->_M_reset(); 32020: } 32020: } 32020: 32020: 32020: constexpr void 32020: _M_move_assign(_Optional_payload_base&& __other) 32020: noexcept(__and_v, 32020: is_nothrow_move_assignable<_Tp>>) 32020: { 32020: if (this->_M_engaged && __other._M_engaged) 32020: this->_M_get() = std::move(__other._M_get()); 32020: else 32020: { 32020: if (__other._M_engaged) 32020: this->_M_construct(std::move(__other._M_get())); 32020: else 32020: this->_M_reset(); 32020: } 32020: } 32020: 32020: struct _Empty_byte { }; 32020: 32020: template> 32020: union _Storage 32020: { 32020: constexpr _Storage() noexcept : _M_empty() { } 32020: 32020: template 32020: constexpr 32020: _Storage(in_place_t, _Args&&... __args) 32020: : _M_value(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: constexpr 32020: _Storage(std::initializer_list<_Vp> __il, _Args&&... __args) 32020: : _M_value(__il, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: _Empty_byte _M_empty; 32020: _Up _M_value; 32020: }; 32020: 32020: template 32020: union _Storage<_Up, false> 32020: { 32020: constexpr _Storage() noexcept : _M_empty() { } 32020: 32020: template 32020: constexpr 32020: _Storage(in_place_t, _Args&&... __args) 32020: : _M_value(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: constexpr 32020: _Storage(std::initializer_list<_Vp> __il, _Args&&... __args) 32020: : _M_value(__il, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: 32020: ~_Storage() { } 32020: 32020: _Empty_byte _M_empty; 32020: _Up _M_value; 32020: }; 32020: 32020: _Storage<_Stored_type> _M_payload; 32020: 32020: bool _M_engaged = false; 32020: 32020: template 32020: void 32020: _M_construct(_Args&&... __args) 32020: noexcept(is_nothrow_constructible_v<_Stored_type, _Args...>) 32020: { 32020: ::new ((void *) std::__addressof(this->_M_payload)) 32020: _Stored_type(std::forward<_Args>(__args)...); 32020: this->_M_engaged = true; 32020: } 32020: 32020: constexpr void 32020: _M_destroy() noexcept 32020: { 32020: _M_engaged = false; 32020: _M_payload._M_value.~_Stored_type(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: constexpr _Tp& 32020: _M_get() noexcept 32020: { return this->_M_payload._M_value; } 32020: 32020: constexpr const _Tp& 32020: _M_get() const noexcept 32020: { return this->_M_payload._M_value; } 32020: 32020: 32020: constexpr void 32020: _M_reset() noexcept 32020: { 32020: if (this->_M_engaged) 32020: _M_destroy(); 32020: } 32020: }; 32020: 32020: 32020: template , 32020: bool = 32020: is_trivially_copy_assignable_v<_Tp> 32020: && is_trivially_copy_constructible_v<_Tp>, 32020: bool = 32020: is_trivially_move_assignable_v<_Tp> 32020: && is_trivially_move_constructible_v<_Tp>> 32020: struct _Optional_payload; 32020: 32020: 32020: template 32020: struct _Optional_payload<_Tp, true, true, true> 32020: : _Optional_payload_base<_Tp> 32020: { 32020: using _Optional_payload_base<_Tp>::_Optional_payload_base; 32020: 32020: _Optional_payload() = default; 32020: }; 32020: 32020: 32020: template 32020: struct _Optional_payload<_Tp, true, false, true> 32020: : _Optional_payload_base<_Tp> 32020: { 32020: using _Optional_payload_base<_Tp>::_Optional_payload_base; 32020: 32020: _Optional_payload() = default; 32020: ~_Optional_payload() = default; 32020: _Optional_payload(const _Optional_payload&) = default; 32020: _Optional_payload(_Optional_payload&&) = default; 32020: _Optional_payload& operator=(_Optional_payload&&) = default; 32020: 32020: 32020: constexpr 32020: _Optional_payload& 32020: operator=(const _Optional_payload& __other) 32020: { 32020: this->_M_copy_assign(__other); 32020: return *this; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Optional_payload<_Tp, true, true, false> 32020: : _Optional_payload_base<_Tp> 32020: { 32020: using _Optional_payload_base<_Tp>::_Optional_payload_base; 32020: 32020: _Optional_payload() = default; 32020: ~_Optional_payload() = default; 32020: _Optional_payload(const _Optional_payload&) = default; 32020: _Optional_payload(_Optional_payload&&) = default; 32020: _Optional_payload& operator=(const _Optional_payload&) = default; 32020: 32020: 32020: constexpr 32020: _Optional_payload& 32020: operator=(_Optional_payload&& __other) 32020: noexcept(__and_v, 32020: is_nothrow_move_assignable<_Tp>>) 32020: { 32020: this->_M_move_assign(std::move(__other)); 32020: return *this; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Optional_payload<_Tp, true, false, false> 32020: : _Optional_payload_base<_Tp> 32020: { 32020: using _Optional_payload_base<_Tp>::_Optional_payload_base; 32020: 32020: _Optional_payload() = default; 32020: ~_Optional_payload() = default; 32020: _Optional_payload(const _Optional_payload&) = default; 32020: _Optional_payload(_Optional_payload&&) = default; 32020: 32020: 32020: constexpr 32020: _Optional_payload& 32020: operator=(const _Optional_payload& __other) 32020: { 32020: this->_M_copy_assign(__other); 32020: return *this; 32020: } 32020: 32020: 32020: constexpr 32020: _Optional_payload& 32020: operator=(_Optional_payload&& __other) 32020: noexcept(__and_v, 32020: is_nothrow_move_assignable<_Tp>>) 32020: { 32020: this->_M_move_assign(std::move(__other)); 32020: return *this; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Optional_payload<_Tp, false, _Copy, _Move> 32020: : _Optional_payload<_Tp, true, false, false> 32020: { 32020: 32020: using _Optional_payload<_Tp, true, false, false>::_Optional_payload; 32020: _Optional_payload() = default; 32020: _Optional_payload(const _Optional_payload&) = default; 32020: _Optional_payload(_Optional_payload&&) = default; 32020: _Optional_payload& operator=(const _Optional_payload&) = default; 32020: _Optional_payload& operator=(_Optional_payload&&) = default; 32020: 32020: 32020: ~_Optional_payload() { this->_M_reset(); } 32020: }; 32020: 32020: 32020: 32020: template 32020: class _Optional_base_impl 32020: { 32020: protected: 32020: using _Stored_type = remove_const_t<_Tp>; 32020: 32020: 32020: 32020: template 32020: void 32020: _M_construct(_Args&&... __args) 32020: noexcept(is_nothrow_constructible_v<_Stored_type, _Args...>) 32020: { 32020: ::new 32020: (std::__addressof(static_cast<_Dp*>(this)->_M_payload._M_payload)) 32020: _Stored_type(std::forward<_Args>(__args)...); 32020: static_cast<_Dp*>(this)->_M_payload._M_engaged = true; 32020: } 32020: 32020: void 32020: _M_destruct() noexcept 32020: { static_cast<_Dp*>(this)->_M_payload._M_destroy(); } 32020: 32020: 32020: constexpr void 32020: _M_reset() noexcept 32020: { static_cast<_Dp*>(this)->_M_payload._M_reset(); } 32020: 32020: constexpr bool _M_is_engaged() const noexcept 32020: { return static_cast(this)->_M_payload._M_engaged; } 32020: 32020: 32020: constexpr _Tp& 32020: _M_get() noexcept 32020: { 32020: ; 32020: return static_cast<_Dp*>(this)->_M_payload._M_get(); 32020: } 32020: 32020: constexpr const _Tp& 32020: _M_get() const noexcept 32020: { 32020: ; 32020: return static_cast(this)->_M_payload._M_get(); 32020: } 32020: }; 32020: # 471 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: template, 32020: bool = is_trivially_move_constructible_v<_Tp>> 32020: struct _Optional_base 32020: : _Optional_base_impl<_Tp, _Optional_base<_Tp>> 32020: { 32020: 32020: constexpr _Optional_base() = default; 32020: 32020: 32020: template, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, _Args&&... __args) 32020: : _M_payload(in_place, 32020: std::forward<_Args>(__args)...) { } 32020: 32020: template&, 32020: _Args&&...>, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, 32020: initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : _M_payload(in_place, 32020: __il, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: 32020: constexpr _Optional_base(const _Optional_base& __other) 32020: : _M_payload(__other._M_payload._M_engaged, 32020: __other._M_payload) 32020: { } 32020: 32020: constexpr _Optional_base(_Optional_base&& __other) 32020: noexcept(is_nothrow_move_constructible_v<_Tp>) 32020: : _M_payload(__other._M_payload._M_engaged, 32020: std::move(__other._M_payload)) 32020: { } 32020: 32020: 32020: _Optional_base& operator=(const _Optional_base&) = default; 32020: _Optional_base& operator=(_Optional_base&&) = default; 32020: 32020: _Optional_payload<_Tp> _M_payload; 32020: }; 32020: 32020: template 32020: struct _Optional_base<_Tp, false, true> 32020: : _Optional_base_impl<_Tp, _Optional_base<_Tp>> 32020: { 32020: 32020: constexpr _Optional_base() = default; 32020: 32020: 32020: template, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, _Args&&... __args) 32020: : _M_payload(in_place, 32020: std::forward<_Args>(__args)...) { } 32020: 32020: template&, 32020: _Args&&...>, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, 32020: initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : _M_payload(in_place, 32020: __il, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: 32020: constexpr _Optional_base(const _Optional_base& __other) 32020: : _M_payload(__other._M_payload._M_engaged, 32020: __other._M_payload) 32020: { } 32020: 32020: constexpr _Optional_base(_Optional_base&& __other) = default; 32020: 32020: 32020: _Optional_base& operator=(const _Optional_base&) = default; 32020: _Optional_base& operator=(_Optional_base&&) = default; 32020: 32020: _Optional_payload<_Tp> _M_payload; 32020: }; 32020: 32020: template 32020: struct _Optional_base<_Tp, true, false> 32020: : _Optional_base_impl<_Tp, _Optional_base<_Tp>> 32020: { 32020: 32020: constexpr _Optional_base() = default; 32020: 32020: 32020: template, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, _Args&&... __args) 32020: : _M_payload(in_place, 32020: std::forward<_Args>(__args)...) { } 32020: 32020: template&, 32020: _Args&&...>, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, 32020: initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : _M_payload(in_place, 32020: __il, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: 32020: constexpr _Optional_base(const _Optional_base& __other) = default; 32020: 32020: constexpr _Optional_base(_Optional_base&& __other) 32020: noexcept(is_nothrow_move_constructible_v<_Tp>) 32020: : _M_payload(__other._M_payload._M_engaged, 32020: std::move(__other._M_payload)) 32020: { } 32020: 32020: 32020: _Optional_base& operator=(const _Optional_base&) = default; 32020: _Optional_base& operator=(_Optional_base&&) = default; 32020: 32020: _Optional_payload<_Tp> _M_payload; 32020: }; 32020: 32020: template 32020: struct _Optional_base<_Tp, true, true> 32020: : _Optional_base_impl<_Tp, _Optional_base<_Tp>> 32020: { 32020: 32020: constexpr _Optional_base() = default; 32020: 32020: 32020: template, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, _Args&&... __args) 32020: : _M_payload(in_place, 32020: std::forward<_Args>(__args)...) { } 32020: 32020: template&, 32020: _Args&&...>, bool> = false> 32020: constexpr explicit _Optional_base(in_place_t, 32020: initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : _M_payload(in_place, 32020: __il, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: 32020: constexpr _Optional_base(const _Optional_base& __other) = default; 32020: constexpr _Optional_base(_Optional_base&& __other) = default; 32020: 32020: 32020: _Optional_base& operator=(const _Optional_base&) = default; 32020: _Optional_base& operator=(_Optional_base&&) = default; 32020: 32020: _Optional_payload<_Tp> _M_payload; 32020: }; 32020: 32020: template 32020: class optional; 32020: 32020: template 32020: using __converts_from_optional = 32020: __or_&>, 32020: is_constructible<_Tp, optional<_Up>&>, 32020: is_constructible<_Tp, const optional<_Up>&&>, 32020: is_constructible<_Tp, optional<_Up>&&>, 32020: is_convertible&, _Tp>, 32020: is_convertible&, _Tp>, 32020: is_convertible&&, _Tp>, 32020: is_convertible&&, _Tp>>; 32020: 32020: template 32020: using __assigns_from_optional = 32020: __or_&>, 32020: is_assignable<_Tp&, optional<_Up>&>, 32020: is_assignable<_Tp&, const optional<_Up>&&>, 32020: is_assignable<_Tp&, optional<_Up>&&>>; 32020: 32020: 32020: 32020: 32020: template 32020: class optional 32020: : private _Optional_base<_Tp>, 32020: private _Enable_copy_move< 32020: 32020: is_copy_constructible_v<_Tp>, 32020: 32020: __and_v, is_copy_assignable<_Tp>>, 32020: 32020: is_move_constructible_v<_Tp>, 32020: 32020: __and_v, is_move_assignable<_Tp>>, 32020: 32020: optional<_Tp>> 32020: { 32020: static_assert(!is_same_v, nullopt_t>); 32020: static_assert(!is_same_v, in_place_t>); 32020: static_assert(!is_reference_v<_Tp>); 32020: 32020: private: 32020: using _Base = _Optional_base<_Tp>; 32020: 32020: 32020: template 32020: using __not_self = __not_>>; 32020: template 32020: using __not_tag = __not_>>; 32020: template 32020: using _Requires = enable_if_t<__and_v<_Cond...>, bool>; 32020: 32020: public: 32020: using value_type = _Tp; 32020: 32020: constexpr optional() = default; 32020: 32020: constexpr optional(nullopt_t) noexcept { } 32020: 32020: 32020: template, __not_tag<_Up>, 32020: is_constructible<_Tp, _Up&&>, 32020: is_convertible<_Up&&, _Tp>> = true> 32020: constexpr 32020: optional(_Up&& __t) 32020: : _Base(std::in_place, std::forward<_Up>(__t)) { } 32020: 32020: template, __not_tag<_Up>, 32020: is_constructible<_Tp, _Up&&>, 32020: __not_>> = false> 32020: explicit constexpr 32020: optional(_Up&& __t) 32020: : _Base(std::in_place, std::forward<_Up>(__t)) { } 32020: 32020: template>, 32020: is_constructible<_Tp, const _Up&>, 32020: is_convertible, 32020: __not_<__converts_from_optional<_Tp, _Up>>> = true> 32020: constexpr 32020: optional(const optional<_Up>& __t) 32020: { 32020: if (__t) 32020: emplace(*__t); 32020: } 32020: 32020: template>, 32020: is_constructible<_Tp, const _Up&>, 32020: __not_>, 32020: __not_<__converts_from_optional<_Tp, _Up>>> = false> 32020: explicit constexpr 32020: optional(const optional<_Up>& __t) 32020: { 32020: if (__t) 32020: emplace(*__t); 32020: } 32020: 32020: template >, 32020: is_constructible<_Tp, _Up&&>, 32020: is_convertible<_Up&&, _Tp>, 32020: __not_<__converts_from_optional<_Tp, _Up>>> = true> 32020: constexpr 32020: optional(optional<_Up>&& __t) 32020: { 32020: if (__t) 32020: emplace(std::move(*__t)); 32020: } 32020: 32020: template >, 32020: is_constructible<_Tp, _Up&&>, 32020: __not_>, 32020: __not_<__converts_from_optional<_Tp, _Up>>> = false> 32020: explicit constexpr 32020: optional(optional<_Up>&& __t) 32020: { 32020: if (__t) 32020: emplace(std::move(*__t)); 32020: } 32020: 32020: template> = false> 32020: explicit constexpr 32020: optional(in_place_t, _Args&&... __args) 32020: : _Base(std::in_place, std::forward<_Args>(__args)...) { } 32020: 32020: template&, 32020: _Args&&...>> = false> 32020: explicit constexpr 32020: optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args) 32020: : _Base(std::in_place, __il, std::forward<_Args>(__args)...) { } 32020: 32020: 32020: optional& 32020: operator=(nullopt_t) noexcept 32020: { 32020: this->_M_reset(); 32020: return *this; 32020: } 32020: 32020: template 32020: enable_if_t<__and_v<__not_self<_Up>, 32020: __not_<__and_, 32020: is_same<_Tp, decay_t<_Up>>>>, 32020: is_constructible<_Tp, _Up>, 32020: is_assignable<_Tp&, _Up>>, 32020: optional&> 32020: operator=(_Up&& __u) 32020: { 32020: if (this->_M_is_engaged()) 32020: this->_M_get() = std::forward<_Up>(__u); 32020: else 32020: this->_M_construct(std::forward<_Up>(__u)); 32020: 32020: return *this; 32020: } 32020: 32020: template 32020: enable_if_t<__and_v<__not_>, 32020: is_constructible<_Tp, const _Up&>, 32020: is_assignable<_Tp&, _Up>, 32020: __not_<__converts_from_optional<_Tp, _Up>>, 32020: __not_<__assigns_from_optional<_Tp, _Up>>>, 32020: optional&> 32020: operator=(const optional<_Up>& __u) 32020: { 32020: if (__u) 32020: { 32020: if (this->_M_is_engaged()) 32020: this->_M_get() = *__u; 32020: else 32020: this->_M_construct(*__u); 32020: } 32020: else 32020: { 32020: this->_M_reset(); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: enable_if_t<__and_v<__not_>, 32020: is_constructible<_Tp, _Up>, 32020: is_assignable<_Tp&, _Up>, 32020: __not_<__converts_from_optional<_Tp, _Up>>, 32020: __not_<__assigns_from_optional<_Tp, _Up>>>, 32020: optional&> 32020: operator=(optional<_Up>&& __u) 32020: { 32020: if (__u) 32020: { 32020: if (this->_M_is_engaged()) 32020: this->_M_get() = std::move(*__u); 32020: else 32020: this->_M_construct(std::move(*__u)); 32020: } 32020: else 32020: { 32020: this->_M_reset(); 32020: } 32020: 32020: return *this; 32020: } 32020: 32020: template 32020: enable_if_t, _Tp&> 32020: emplace(_Args&&... __args) 32020: { 32020: this->_M_reset(); 32020: this->_M_construct(std::forward<_Args>(__args)...); 32020: return this->_M_get(); 32020: } 32020: 32020: template 32020: enable_if_t&, 32020: _Args&&...>, _Tp&> 32020: emplace(initializer_list<_Up> __il, _Args&&... __args) 32020: { 32020: this->_M_reset(); 32020: this->_M_construct(__il, std::forward<_Args>(__args)...); 32020: return this->_M_get(); 32020: } 32020: 32020: 32020: 32020: 32020: void 32020: swap(optional& __other) 32020: noexcept(is_nothrow_move_constructible_v<_Tp> 32020: && is_nothrow_swappable_v<_Tp>) 32020: { 32020: using std::swap; 32020: 32020: if (this->_M_is_engaged() && __other._M_is_engaged()) 32020: swap(this->_M_get(), __other._M_get()); 32020: else if (this->_M_is_engaged()) 32020: { 32020: __other._M_construct(std::move(this->_M_get())); 32020: this->_M_destruct(); 32020: } 32020: else if (__other._M_is_engaged()) 32020: { 32020: this->_M_construct(std::move(__other._M_get())); 32020: __other._M_destruct(); 32020: } 32020: } 32020: 32020: 32020: constexpr const _Tp* 32020: operator->() const 32020: { return std::__addressof(this->_M_get()); } 32020: 32020: constexpr _Tp* 32020: operator->() 32020: { return std::__addressof(this->_M_get()); } 32020: 32020: constexpr const _Tp& 32020: operator*() const& 32020: { return this->_M_get(); } 32020: 32020: constexpr _Tp& 32020: operator*()& 32020: { return this->_M_get(); } 32020: 32020: constexpr _Tp&& 32020: operator*()&& 32020: { return std::move(this->_M_get()); } 32020: 32020: constexpr const _Tp&& 32020: operator*() const&& 32020: { return std::move(this->_M_get()); } 32020: 32020: constexpr explicit operator bool() const noexcept 32020: { return this->_M_is_engaged(); } 32020: 32020: constexpr bool has_value() const noexcept 32020: { return this->_M_is_engaged(); } 32020: 32020: constexpr const _Tp& 32020: value() const& 32020: { 32020: return this->_M_is_engaged() 32020: ? this->_M_get() 32020: : (__throw_bad_optional_access(), this->_M_get()); 32020: } 32020: 32020: constexpr _Tp& 32020: value()& 32020: { 32020: return this->_M_is_engaged() 32020: ? this->_M_get() 32020: : (__throw_bad_optional_access(), this->_M_get()); 32020: } 32020: 32020: constexpr _Tp&& 32020: value()&& 32020: { 32020: return this->_M_is_engaged() 32020: ? std::move(this->_M_get()) 32020: : (__throw_bad_optional_access(), std::move(this->_M_get())); 32020: } 32020: 32020: constexpr const _Tp&& 32020: value() const&& 32020: { 32020: return this->_M_is_engaged() 32020: ? std::move(this->_M_get()) 32020: : (__throw_bad_optional_access(), std::move(this->_M_get())); 32020: } 32020: 32020: template 32020: constexpr _Tp 32020: value_or(_Up&& __u) const& 32020: { 32020: static_assert(is_copy_constructible_v<_Tp>); 32020: static_assert(is_convertible_v<_Up&&, _Tp>); 32020: 32020: return this->_M_is_engaged() 32020: ? this->_M_get() : static_cast<_Tp>(std::forward<_Up>(__u)); 32020: } 32020: 32020: template 32020: constexpr _Tp 32020: value_or(_Up&& __u) && 32020: { 32020: static_assert(is_move_constructible_v<_Tp>); 32020: static_assert(is_convertible_v<_Up&&, _Tp>); 32020: 32020: return this->_M_is_engaged() 32020: ? std::move(this->_M_get()) 32020: : static_cast<_Tp>(std::forward<_Up>(__u)); 32020: } 32020: 32020: void reset() noexcept { this->_M_reset(); } 32020: }; 32020: 32020: template 32020: using __optional_relop_t = 32020: enable_if_t::value, bool>; 32020: 32020: template 32020: using __optional_eq_t = __optional_relop_t< 32020: decltype(std::declval() == std::declval()) 32020: >; 32020: 32020: template 32020: using __optional_ne_t = __optional_relop_t< 32020: decltype(std::declval() != std::declval()) 32020: >; 32020: 32020: template 32020: using __optional_lt_t = __optional_relop_t< 32020: decltype(std::declval() < std::declval()) 32020: >; 32020: 32020: template 32020: using __optional_gt_t = __optional_relop_t< 32020: decltype(std::declval() > std::declval()) 32020: >; 32020: 32020: template 32020: using __optional_le_t = __optional_relop_t< 32020: decltype(std::declval() <= std::declval()) 32020: >; 32020: 32020: template 32020: using __optional_ge_t = __optional_relop_t< 32020: decltype(std::declval() >= std::declval()) 32020: >; 32020: 32020: 32020: template 32020: constexpr auto 32020: operator==(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 32020: -> __optional_eq_t<_Tp, _Up> 32020: { 32020: return static_cast(__lhs) == static_cast(__rhs) 32020: && (!__lhs || *__lhs == *__rhs); 32020: } 32020: 32020: template 32020: constexpr auto 32020: operator!=(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 32020: -> __optional_ne_t<_Tp, _Up> 32020: { 32020: return static_cast(__lhs) != static_cast(__rhs) 32020: || (static_cast(__lhs) && *__lhs != *__rhs); 32020: } 32020: 32020: template 32020: constexpr auto 32020: operator<(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 32020: -> __optional_lt_t<_Tp, _Up> 32020: { 32020: return static_cast(__rhs) && (!__lhs || *__lhs < *__rhs); 32020: } 32020: 32020: template 32020: constexpr auto 32020: operator>(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 32020: -> __optional_gt_t<_Tp, _Up> 32020: { 32020: return static_cast(__lhs) && (!__rhs || *__lhs > *__rhs); 32020: } 32020: 32020: template 32020: constexpr auto 32020: operator<=(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 32020: -> __optional_le_t<_Tp, _Up> 32020: { 32020: return !__lhs || (static_cast(__rhs) && *__lhs <= *__rhs); 32020: } 32020: 32020: template 32020: constexpr auto 32020: operator>=(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 32020: -> __optional_ge_t<_Tp, _Up> 32020: { 32020: return !__rhs || (static_cast(__lhs) && *__lhs >= *__rhs); 32020: } 32020: # 1073 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: template 32020: constexpr bool 32020: operator==(const optional<_Tp>& __lhs, nullopt_t) noexcept 32020: { return !__lhs; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr bool 32020: operator==(nullopt_t, const optional<_Tp>& __rhs) noexcept 32020: { return !__rhs; } 32020: 32020: template 32020: constexpr bool 32020: operator!=(const optional<_Tp>& __lhs, nullopt_t) noexcept 32020: { return static_cast(__lhs); } 32020: 32020: template 32020: constexpr bool 32020: operator!=(nullopt_t, const optional<_Tp>& __rhs) noexcept 32020: { return static_cast(__rhs); } 32020: 32020: template 32020: constexpr bool 32020: operator<(const optional<_Tp>& , nullopt_t) noexcept 32020: { return false; } 32020: 32020: template 32020: constexpr bool 32020: operator<(nullopt_t, const optional<_Tp>& __rhs) noexcept 32020: { return static_cast(__rhs); } 32020: 32020: template 32020: constexpr bool 32020: operator>(const optional<_Tp>& __lhs, nullopt_t) noexcept 32020: { return static_cast(__lhs); } 32020: 32020: template 32020: constexpr bool 32020: operator>(nullopt_t, const optional<_Tp>& ) noexcept 32020: { return false; } 32020: 32020: template 32020: constexpr bool 32020: operator<=(const optional<_Tp>& __lhs, nullopt_t) noexcept 32020: { return !__lhs; } 32020: 32020: template 32020: constexpr bool 32020: operator<=(nullopt_t, const optional<_Tp>& ) noexcept 32020: { return true; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(const optional<_Tp>& , nullopt_t) noexcept 32020: { return true; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(nullopt_t, const optional<_Tp>& __rhs) noexcept 32020: { return !__rhs; } 32020: 32020: 32020: 32020: template 32020: constexpr auto 32020: operator==(const optional<_Tp>& __lhs, const _Up& __rhs) 32020: -> __optional_eq_t<_Tp, _Up> 32020: { return __lhs && *__lhs == __rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator==(const _Up& __lhs, const optional<_Tp>& __rhs) 32020: -> __optional_eq_t<_Up, _Tp> 32020: { return __rhs && __lhs == *__rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator!=(const optional<_Tp>& __lhs, const _Up& __rhs) 32020: -> __optional_ne_t<_Tp, _Up> 32020: { return !__lhs || *__lhs != __rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator!=(const _Up& __lhs, const optional<_Tp>& __rhs) 32020: -> __optional_ne_t<_Up, _Tp> 32020: { return !__rhs || __lhs != *__rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator<(const optional<_Tp>& __lhs, const _Up& __rhs) 32020: -> __optional_lt_t<_Tp, _Up> 32020: { return !__lhs || *__lhs < __rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator<(const _Up& __lhs, const optional<_Tp>& __rhs) 32020: -> __optional_lt_t<_Up, _Tp> 32020: { return __rhs && __lhs < *__rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator>(const optional<_Tp>& __lhs, const _Up& __rhs) 32020: -> __optional_gt_t<_Tp, _Up> 32020: { return __lhs && *__lhs > __rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator>(const _Up& __lhs, const optional<_Tp>& __rhs) 32020: -> __optional_gt_t<_Up, _Tp> 32020: { return !__rhs || __lhs > *__rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator<=(const optional<_Tp>& __lhs, const _Up& __rhs) 32020: -> __optional_le_t<_Tp, _Up> 32020: { return !__lhs || *__lhs <= __rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator<=(const _Up& __lhs, const optional<_Tp>& __rhs) 32020: -> __optional_le_t<_Up, _Tp> 32020: { return __rhs && __lhs <= *__rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator>=(const optional<_Tp>& __lhs, const _Up& __rhs) 32020: -> __optional_ge_t<_Tp, _Up> 32020: { return __lhs && *__lhs >= __rhs; } 32020: 32020: template 32020: constexpr auto 32020: operator>=(const _Up& __lhs, const optional<_Tp>& __rhs) 32020: -> __optional_ge_t<_Up, _Tp> 32020: { return !__rhs || __lhs >= *__rhs; } 32020: # 1224 "/usr/arm-linux-gnueabihf/include/c++/10/optional" 3 32020: template 32020: inline enable_if_t && is_swappable_v<_Tp>> 32020: swap(optional<_Tp>& __lhs, optional<_Tp>& __rhs) 32020: noexcept(noexcept(__lhs.swap(__rhs))) 32020: { __lhs.swap(__rhs); } 32020: 32020: template 32020: enable_if_t && is_swappable_v<_Tp>)> 32020: swap(optional<_Tp>&, optional<_Tp>&) = delete; 32020: 32020: template 32020: constexpr optional> 32020: make_optional(_Tp&& __t) 32020: { return optional> { std::forward<_Tp>(__t) }; } 32020: 32020: template 32020: constexpr optional<_Tp> 32020: make_optional(_Args&&... __args) 32020: { return optional<_Tp> { in_place, std::forward<_Args>(__args)... }; } 32020: 32020: template 32020: constexpr optional<_Tp> 32020: make_optional(initializer_list<_Up> __il, _Args&&... __args) 32020: { return optional<_Tp> { in_place, __il, std::forward<_Args>(__args)... }; } 32020: 32020: 32020: 32020: template, 32020: bool = __poison_hash<_Up>::__enable_hash_call> 32020: struct __optional_hash_call_base 32020: { 32020: size_t 32020: operator()(const optional<_Tp>& __t) const 32020: noexcept(noexcept(hash<_Up>{}(*__t))) 32020: { 32020: 32020: 32020: constexpr size_t __magic_disengaged_hash = static_cast(-3333); 32020: return __t ? hash<_Up>{}(*__t) : __magic_disengaged_hash; 32020: } 32020: }; 32020: 32020: template 32020: struct __optional_hash_call_base<_Tp, _Up, false> {}; 32020: 32020: template 32020: struct hash> 32020: : private __poison_hash>, 32020: public __optional_hash_call_base<_Tp> 32020: { 32020: using result_type [[__deprecated__]] = size_t; 32020: using argument_type [[__deprecated__]] = optional<_Tp>; 32020: }; 32020: 32020: template 32020: struct __is_fast_hash>> : __is_fast_hash> 32020: { }; 32020: 32020: 32020: 32020: 32020: template optional(_Tp) -> optional<_Tp>; 32020: 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/bits/node_handle.h" 2 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: class _Node_handle_common 32020: { 32020: using _AllocTraits = allocator_traits<_NodeAlloc>; 32020: 32020: public: 32020: using allocator_type = __alloc_rebind<_NodeAlloc, _Val>; 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { 32020: ; 32020: return allocator_type(*_M_alloc); 32020: } 32020: 32020: explicit operator bool() const noexcept { return _M_ptr != nullptr; } 32020: 32020: [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; } 32020: 32020: protected: 32020: constexpr _Node_handle_common() noexcept : _M_ptr(), _M_alloc() {} 32020: 32020: ~_Node_handle_common() { _M_destroy(); } 32020: 32020: _Node_handle_common(_Node_handle_common&& __nh) noexcept 32020: : _M_ptr(__nh._M_ptr), _M_alloc(std::move(__nh._M_alloc)) 32020: { 32020: __nh._M_ptr = nullptr; 32020: __nh._M_alloc = nullopt; 32020: } 32020: 32020: _Node_handle_common& 32020: operator=(_Node_handle_common&& __nh) noexcept 32020: { 32020: _M_destroy(); 32020: _M_ptr = __nh._M_ptr; 32020: if constexpr (is_move_assignable_v<_NodeAlloc>) 32020: { 32020: if (_AllocTraits::propagate_on_container_move_assignment::value 32020: || !this->_M_alloc) 32020: this->_M_alloc = std::move(__nh._M_alloc); 32020: else 32020: { 32020: ; 32020: } 32020: } 32020: else 32020: { 32020: ; 32020: } 32020: __nh._M_ptr = nullptr; 32020: __nh._M_alloc = nullopt; 32020: return *this; 32020: } 32020: 32020: _Node_handle_common(typename _AllocTraits::pointer __ptr, 32020: const _NodeAlloc& __alloc) 32020: : _M_ptr(__ptr), _M_alloc(__alloc) { } 32020: 32020: void 32020: _M_swap(_Node_handle_common& __nh) noexcept 32020: { 32020: using std::swap; 32020: swap(_M_ptr, __nh._M_ptr); 32020: if (_AllocTraits::propagate_on_container_swap::value 32020: || !_M_alloc || !__nh._M_alloc) 32020: _M_alloc.swap(__nh._M_alloc); 32020: else 32020: { 32020: ; 32020: } 32020: } 32020: 32020: private: 32020: void 32020: _M_destroy() noexcept 32020: { 32020: if (_M_ptr != nullptr) 32020: { 32020: allocator_type __alloc(*_M_alloc); 32020: allocator_traits::destroy(__alloc, 32020: _M_ptr->_M_valptr()); 32020: _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1); 32020: } 32020: } 32020: 32020: protected: 32020: typename _AllocTraits::pointer _M_ptr; 32020: private: 32020: optional<_NodeAlloc> _M_alloc; 32020: 32020: template 32020: friend class _Rb_tree; 32020: }; 32020: 32020: 32020: template 32020: class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc> 32020: { 32020: public: 32020: constexpr _Node_handle() noexcept = default; 32020: ~_Node_handle() = default; 32020: _Node_handle(_Node_handle&&) noexcept = default; 32020: 32020: _Node_handle& 32020: operator=(_Node_handle&&) noexcept = default; 32020: 32020: using key_type = _Key; 32020: using mapped_type = typename _Value::second_type; 32020: 32020: key_type& 32020: key() const noexcept 32020: { 32020: ; 32020: return *_M_pkey; 32020: } 32020: 32020: mapped_type& 32020: mapped() const noexcept 32020: { 32020: ; 32020: return *_M_pmapped; 32020: } 32020: 32020: void 32020: swap(_Node_handle& __nh) noexcept 32020: { 32020: this->_M_swap(__nh); 32020: using std::swap; 32020: swap(_M_pkey, __nh._M_pkey); 32020: swap(_M_pmapped, __nh._M_pmapped); 32020: } 32020: 32020: friend void 32020: swap(_Node_handle& __x, _Node_handle& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: private: 32020: using _AllocTraits = allocator_traits<_NodeAlloc>; 32020: 32020: _Node_handle(typename _AllocTraits::pointer __ptr, 32020: const _NodeAlloc& __alloc) 32020: : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) 32020: { 32020: if (__ptr) 32020: { 32020: auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first); 32020: _M_pkey = _S_pointer_to(__key); 32020: _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second); 32020: } 32020: else 32020: { 32020: _M_pkey = nullptr; 32020: _M_pmapped = nullptr; 32020: } 32020: } 32020: 32020: template 32020: using __pointer 32020: = __ptr_rebind>; 32020: 32020: __pointer<_Key> _M_pkey = nullptr; 32020: __pointer _M_pmapped = nullptr; 32020: 32020: template 32020: __pointer<_Tp> 32020: _S_pointer_to(_Tp& __obj) 32020: { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); } 32020: 32020: const key_type& 32020: _M_key() const noexcept { return key(); } 32020: 32020: template 32020: friend class _Rb_tree; 32020: 32020: template 32020: friend class _Hashtable; 32020: }; 32020: 32020: 32020: template 32020: class _Node_handle<_Value, _Value, _NodeAlloc> 32020: : public _Node_handle_common<_Value, _NodeAlloc> 32020: { 32020: public: 32020: constexpr _Node_handle() noexcept = default; 32020: ~_Node_handle() = default; 32020: _Node_handle(_Node_handle&&) noexcept = default; 32020: 32020: _Node_handle& 32020: operator=(_Node_handle&&) noexcept = default; 32020: 32020: using value_type = _Value; 32020: 32020: value_type& 32020: value() const noexcept 32020: { 32020: ; 32020: return *this->_M_ptr->_M_valptr(); 32020: } 32020: 32020: void 32020: swap(_Node_handle& __nh) noexcept 32020: { this->_M_swap(__nh); } 32020: 32020: friend void 32020: swap(_Node_handle& __x, _Node_handle& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: private: 32020: using _AllocTraits = allocator_traits<_NodeAlloc>; 32020: 32020: _Node_handle(typename _AllocTraits::pointer __ptr, 32020: const _NodeAlloc& __alloc) 32020: : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { } 32020: 32020: const value_type& 32020: _M_key() const noexcept { return value(); } 32020: 32020: template 32020: friend class _Rb_tree; 32020: 32020: template 32020: friend class _Hashtable; 32020: }; 32020: 32020: 32020: template 32020: struct _Node_insert_return 32020: { 32020: _Iterator position = _Iterator(); 32020: bool inserted = false; 32020: _NodeHandle node; 32020: }; 32020: 32020: 32020: } 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable.h" 2 3 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: using __cache_default 32020: = __not_<__and_< 32020: __is_fast_hash<_Hash>, 32020: 32020: __is_nothrow_invocable>>; 32020: # 169 "/usr/arm-linux-gnueabihf/include/c++/10/bits/hashtable.h" 3 32020: template 32020: class _Hashtable 32020: : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _Traits>, 32020: public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 32020: public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 32020: public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 32020: public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 32020: private __detail::_Hashtable_alloc< 32020: __alloc_rebind<_Alloc, 32020: __detail::_Hash_node<_Value, 32020: _Traits::__hash_cached::value>>> 32020: { 32020: static_assert(is_same::type, _Value>::value, 32020: "unordered container must have a non-const, non-volatile value_type"); 32020: 32020: 32020: 32020: 32020: 32020: using __traits_type = _Traits; 32020: using __hash_cached = typename __traits_type::__hash_cached; 32020: using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>; 32020: using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>; 32020: 32020: using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>; 32020: 32020: using __value_alloc_traits = 32020: typename __hashtable_alloc::__value_alloc_traits; 32020: using __node_alloc_traits = 32020: typename __hashtable_alloc::__node_alloc_traits; 32020: using __node_base = typename __hashtable_alloc::__node_base; 32020: using __bucket_type = typename __hashtable_alloc::__bucket_type; 32020: 32020: public: 32020: typedef _Key key_type; 32020: typedef _Value value_type; 32020: typedef _Alloc allocator_type; 32020: typedef _Equal key_equal; 32020: 32020: 32020: 32020: typedef typename __value_alloc_traits::pointer pointer; 32020: typedef typename __value_alloc_traits::const_pointer const_pointer; 32020: typedef value_type& reference; 32020: typedef const value_type& const_reference; 32020: 32020: private: 32020: using __rehash_type = _RehashPolicy; 32020: using __rehash_state = typename __rehash_type::_State; 32020: 32020: using __constant_iterators = typename __traits_type::__constant_iterators; 32020: using __unique_keys = typename __traits_type::__unique_keys; 32020: 32020: using __key_extract = typename std::conditional< 32020: __constant_iterators::value, 32020: __detail::_Identity, 32020: __detail::_Select1st>::type; 32020: 32020: using __hashtable_base = __detail:: 32020: _Hashtable_base<_Key, _Value, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, _Traits>; 32020: 32020: using __hash_code_base = typename __hashtable_base::__hash_code_base; 32020: using __hash_code = typename __hashtable_base::__hash_code; 32020: using __ireturn_type = typename __hashtable_base::__ireturn_type; 32020: 32020: using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: 32020: using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc, 32020: _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: 32020: using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, 32020: _Equal, _H1, _H2, _Hash, 32020: _RehashPolicy, _Traits>; 32020: 32020: using __reuse_or_alloc_node_gen_t = 32020: __detail::_ReuseOrAllocNode<__node_alloc_type>; 32020: using __alloc_node_gen_t = 32020: __detail::_AllocNode<__node_alloc_type>; 32020: 32020: 32020: struct _Scoped_node 32020: { 32020: 32020: _Scoped_node(__node_type* __n, __hashtable_alloc* __h) 32020: : _M_h(__h), _M_node(__n) { } 32020: 32020: 32020: template 32020: _Scoped_node(__hashtable_alloc* __h, _Args&&... __args) 32020: : _M_h(__h), 32020: _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...)) 32020: { } 32020: 32020: 32020: ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); }; 32020: 32020: _Scoped_node(const _Scoped_node&) = delete; 32020: _Scoped_node& operator=(const _Scoped_node&) = delete; 32020: 32020: __hashtable_alloc* _M_h; 32020: __node_type* _M_node; 32020: }; 32020: 32020: template 32020: static constexpr 32020: typename conditional::value, 32020: const value_type&, value_type&&>::type 32020: __fwd_value_for(value_type& __val) noexcept 32020: { return std::move(__val); } 32020: 32020: 32020: template 32020: using __if_hash_cached = __or_<__not_<__hash_cached>, _Cond>; 32020: 32020: template 32020: using __if_hash_not_cached = __or_<__hash_cached, _Cond>; 32020: 32020: 32020: 32020: 32020: 32020: struct __hash_code_base_access : __hash_code_base 32020: { using __hash_code_base::_M_bucket_index; }; 32020: 32020: 32020: 32020: static_assert(noexcept(declval() 32020: ._M_bucket_index((const __node_type*)nullptr, 32020: (std::size_t)0)), 32020: "Cache the hash code or qualify your functors involved" 32020: " in hash code and bucket index computation with noexcept"); 32020: 32020: 32020: 32020: static_assert(__if_hash_cached>::value, 32020: "Functor used to map hash code to bucket index" 32020: " must be default constructible"); 32020: 32020: template 32020: friend struct __detail::_Map_base; 32020: 32020: template 32020: friend struct __detail::_Insert_base; 32020: 32020: template 32020: friend struct __detail::_Insert; 32020: 32020: template 32020: friend struct __detail::_Equality; 32020: 32020: public: 32020: using size_type = typename __hashtable_base::size_type; 32020: using difference_type = typename __hashtable_base::difference_type; 32020: 32020: using iterator = typename __hashtable_base::iterator; 32020: using const_iterator = typename __hashtable_base::const_iterator; 32020: 32020: using local_iterator = typename __hashtable_base::local_iterator; 32020: using const_local_iterator = typename __hashtable_base:: 32020: const_local_iterator; 32020: 32020: 32020: using node_type = _Node_handle<_Key, _Value, __node_alloc_type>; 32020: using insert_return_type = _Node_insert_return; 32020: 32020: 32020: private: 32020: __bucket_type* _M_buckets = &_M_single_bucket; 32020: size_type _M_bucket_count = 1; 32020: __node_base _M_before_begin; 32020: size_type _M_element_count = 0; 32020: _RehashPolicy _M_rehash_policy; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __bucket_type _M_single_bucket = nullptr; 32020: 32020: bool 32020: _M_uses_single_bucket(__bucket_type* __bkts) const 32020: { return __builtin_expect(__bkts == &_M_single_bucket, false); } 32020: 32020: bool 32020: _M_uses_single_bucket() const 32020: { return _M_uses_single_bucket(_M_buckets); } 32020: 32020: __hashtable_alloc& 32020: _M_base_alloc() { return *this; } 32020: 32020: __bucket_type* 32020: _M_allocate_buckets(size_type __bkt_count) 32020: { 32020: if (__builtin_expect(__bkt_count == 1, false)) 32020: { 32020: _M_single_bucket = nullptr; 32020: return &_M_single_bucket; 32020: } 32020: 32020: return __hashtable_alloc::_M_allocate_buckets(__bkt_count); 32020: } 32020: 32020: void 32020: _M_deallocate_buckets(__bucket_type* __bkts, size_type __bkt_count) 32020: { 32020: if (_M_uses_single_bucket(__bkts)) 32020: return; 32020: 32020: __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count); 32020: } 32020: 32020: void 32020: _M_deallocate_buckets() 32020: { _M_deallocate_buckets(_M_buckets, _M_bucket_count); } 32020: 32020: 32020: 32020: __node_type* 32020: _M_bucket_begin(size_type __bkt) const; 32020: 32020: __node_type* 32020: _M_begin() const 32020: { return static_cast<__node_type*>(_M_before_begin._M_nxt); } 32020: 32020: 32020: 32020: template 32020: void 32020: _M_assign_elements(_Ht&&); 32020: 32020: template 32020: void 32020: _M_assign(_Ht&&, const _NodeGenerator&); 32020: 32020: void 32020: _M_move_assign(_Hashtable&&, true_type); 32020: 32020: void 32020: _M_move_assign(_Hashtable&&, false_type); 32020: 32020: void 32020: _M_reset() noexcept; 32020: 32020: _Hashtable(const _H1& __h1, const _H2& __h2, const _Hash& __h, 32020: const _Equal& __eq, const _ExtractKey& __exk, 32020: const allocator_type& __a) 32020: : __hashtable_base(__exk, __h1, __h2, __h, __eq), 32020: __hashtable_alloc(__node_alloc_type(__a)) 32020: { } 32020: 32020: public: 32020: 32020: _Hashtable() = default; 32020: _Hashtable(size_type __bkt_count_hint, 32020: const _H1&, const _H2&, const _Hash&, 32020: const _Equal&, const _ExtractKey&, 32020: const allocator_type&); 32020: 32020: template 32020: _Hashtable(_InputIterator __first, _InputIterator __last, 32020: size_type __bkt_count_hint, 32020: const _H1&, const _H2&, const _Hash&, 32020: const _Equal&, const _ExtractKey&, 32020: const allocator_type&); 32020: 32020: _Hashtable(const _Hashtable&); 32020: 32020: _Hashtable(_Hashtable&&) noexcept; 32020: 32020: _Hashtable(const _Hashtable&, const allocator_type&); 32020: 32020: _Hashtable(_Hashtable&&, const allocator_type&); 32020: 32020: 32020: explicit 32020: _Hashtable(const allocator_type& __a) 32020: : __hashtable_alloc(__node_alloc_type(__a)) 32020: { } 32020: 32020: explicit 32020: _Hashtable(size_type __bkt_count_hint, 32020: const _H1& __hf = _H1(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _Hashtable(__bkt_count_hint, __hf, _H2(), _Hash(), __eql, 32020: __key_extract(), __a) 32020: { } 32020: 32020: template 32020: _Hashtable(_InputIterator __f, _InputIterator __l, 32020: size_type __bkt_count_hint = 0, 32020: const _H1& __hf = _H1(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _Hashtable(__f, __l, __bkt_count_hint, __hf, _H2(), _Hash(), __eql, 32020: __key_extract(), __a) 32020: { } 32020: 32020: _Hashtable(initializer_list __l, 32020: size_type __bkt_count_hint = 0, 32020: const _H1& __hf = _H1(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint, 32020: __hf, _H2(), _Hash(), __eql, 32020: __key_extract(), __a) 32020: { } 32020: 32020: _Hashtable& 32020: operator=(const _Hashtable& __ht); 32020: 32020: _Hashtable& 32020: operator=(_Hashtable&& __ht) 32020: noexcept(__node_alloc_traits::_S_nothrow_move() 32020: && is_nothrow_move_assignable<_H1>::value 32020: && is_nothrow_move_assignable<_Equal>::value) 32020: { 32020: constexpr bool __move_storage = 32020: __node_alloc_traits::_S_propagate_on_move_assign() 32020: || __node_alloc_traits::_S_always_equal(); 32020: _M_move_assign(std::move(__ht), __bool_constant<__move_storage>()); 32020: return *this; 32020: } 32020: 32020: _Hashtable& 32020: operator=(initializer_list __l) 32020: { 32020: __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this); 32020: _M_before_begin._M_nxt = nullptr; 32020: clear(); 32020: this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys()); 32020: return *this; 32020: } 32020: 32020: ~_Hashtable() noexcept; 32020: 32020: void 32020: swap(_Hashtable&) 32020: noexcept(__and_<__is_nothrow_swappable<_H1>, 32020: __is_nothrow_swappable<_Equal>>::value); 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return iterator(_M_begin()); } 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return const_iterator(_M_begin()); } 32020: 32020: iterator 32020: end() noexcept 32020: { return iterator(nullptr); } 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return const_iterator(nullptr); } 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return const_iterator(_M_begin()); } 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return const_iterator(nullptr); } 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_element_count; } 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return size() == 0; } 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(this->_M_node_allocator()); } 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return __node_alloc_traits::max_size(this->_M_node_allocator()); } 32020: 32020: 32020: key_equal 32020: key_eq() const 32020: { return this->_M_eq(); } 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket_count() const noexcept 32020: { return _M_bucket_count; } 32020: 32020: size_type 32020: max_bucket_count() const noexcept 32020: { return max_size(); } 32020: 32020: size_type 32020: bucket_size(size_type __bkt) const 32020: { return std::distance(begin(__bkt), end(__bkt)); } 32020: 32020: size_type 32020: bucket(const key_type& __k) const 32020: { return _M_bucket_index(__k, this->_M_hash_code(__k)); } 32020: 32020: local_iterator 32020: begin(size_type __bkt) 32020: { 32020: return local_iterator(*this, _M_bucket_begin(__bkt), 32020: __bkt, _M_bucket_count); 32020: } 32020: 32020: local_iterator 32020: end(size_type __bkt) 32020: { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); } 32020: 32020: const_local_iterator 32020: begin(size_type __bkt) const 32020: { 32020: return const_local_iterator(*this, _M_bucket_begin(__bkt), 32020: __bkt, _M_bucket_count); 32020: } 32020: 32020: const_local_iterator 32020: end(size_type __bkt) const 32020: { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); } 32020: 32020: 32020: const_local_iterator 32020: cbegin(size_type __bkt) const 32020: { 32020: return const_local_iterator(*this, _M_bucket_begin(__bkt), 32020: __bkt, _M_bucket_count); 32020: } 32020: 32020: const_local_iterator 32020: cend(size_type __bkt) const 32020: { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); } 32020: 32020: float 32020: load_factor() const noexcept 32020: { 32020: return static_cast(size()) / static_cast(bucket_count()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const _RehashPolicy& 32020: __rehash_policy() const 32020: { return _M_rehash_policy; } 32020: 32020: void 32020: __rehash_policy(const _RehashPolicy& __pol) 32020: { _M_rehash_policy = __pol; } 32020: 32020: 32020: iterator 32020: find(const key_type& __k); 32020: 32020: const_iterator 32020: find(const key_type& __k) const; 32020: 32020: size_type 32020: count(const key_type& __k) const; 32020: 32020: std::pair 32020: equal_range(const key_type& __k); 32020: 32020: std::pair 32020: equal_range(const key_type& __k) const; 32020: 32020: protected: 32020: 32020: size_type 32020: _M_bucket_index(__node_type* __n) const noexcept 32020: { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); } 32020: 32020: size_type 32020: _M_bucket_index(const key_type& __k, __hash_code __c) const 32020: { return __hash_code_base::_M_bucket_index(__k, __c, _M_bucket_count); } 32020: 32020: 32020: 32020: __node_base* 32020: _M_find_before_node(size_type, const key_type&, __hash_code) const; 32020: 32020: __node_type* 32020: _M_find_node(size_type __bkt, const key_type& __key, 32020: __hash_code __c) const 32020: { 32020: __node_base* __before_n = _M_find_before_node(__bkt, __key, __c); 32020: if (__before_n) 32020: return static_cast<__node_type*>(__before_n->_M_nxt); 32020: return nullptr; 32020: } 32020: 32020: 32020: void 32020: _M_insert_bucket_begin(size_type, __node_type*); 32020: 32020: 32020: void 32020: _M_remove_bucket_begin(size_type __bkt, __node_type* __next_n, 32020: size_type __next_bkt); 32020: 32020: 32020: __node_base* 32020: _M_get_previous_node(size_type __bkt, __node_base* __n); 32020: 32020: 32020: 32020: 32020: iterator 32020: _M_insert_unique_node(const key_type& __k, size_type __bkt, 32020: __hash_code __code, __node_type* __n, 32020: size_type __n_elt = 1); 32020: 32020: 32020: 32020: iterator 32020: _M_insert_multi_node(__node_type* __hint, const key_type& __k, 32020: __hash_code __code, __node_type* __n); 32020: 32020: template 32020: std::pair 32020: _M_emplace(true_type, _Args&&... __args); 32020: 32020: template 32020: iterator 32020: _M_emplace(false_type __uk, _Args&&... __args) 32020: { return _M_emplace(cend(), __uk, std::forward<_Args>(__args)...); } 32020: 32020: 32020: template 32020: iterator 32020: _M_emplace(const_iterator, true_type __uk, _Args&&... __args) 32020: { return _M_emplace(__uk, std::forward<_Args>(__args)...).first; } 32020: 32020: template 32020: iterator 32020: _M_emplace(const_iterator, false_type, _Args&&... __args); 32020: 32020: template 32020: std::pair 32020: _M_insert(_Arg&&, const _NodeGenerator&, true_type, size_type = 1); 32020: 32020: template 32020: iterator 32020: _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen, 32020: false_type __uk) 32020: { 32020: return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen, 32020: __uk); 32020: } 32020: 32020: 32020: template 32020: iterator 32020: _M_insert(const_iterator, _Arg&& __arg, 32020: const _NodeGenerator& __node_gen, true_type __uk) 32020: { 32020: return 32020: _M_insert(std::forward<_Arg>(__arg), __node_gen, __uk).first; 32020: } 32020: 32020: 32020: template 32020: iterator 32020: _M_insert(const_iterator, _Arg&&, 32020: const _NodeGenerator&, false_type); 32020: 32020: size_type 32020: _M_erase(true_type, const key_type&); 32020: 32020: size_type 32020: _M_erase(false_type, const key_type&); 32020: 32020: iterator 32020: _M_erase(size_type __bkt, __node_base* __prev_n, __node_type* __n); 32020: 32020: public: 32020: 32020: template 32020: __ireturn_type 32020: emplace(_Args&&... __args) 32020: { return _M_emplace(__unique_keys(), std::forward<_Args>(__args)...); } 32020: 32020: template 32020: iterator 32020: emplace_hint(const_iterator __hint, _Args&&... __args) 32020: { 32020: return _M_emplace(__hint, __unique_keys(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: 32020: 32020: iterator 32020: erase(const_iterator); 32020: 32020: 32020: iterator 32020: erase(iterator __it) 32020: { return erase(const_iterator(__it)); } 32020: 32020: size_type 32020: erase(const key_type& __k) 32020: { return _M_erase(__unique_keys(), __k); } 32020: 32020: iterator 32020: erase(const_iterator, const_iterator); 32020: 32020: void 32020: clear() noexcept; 32020: 32020: 32020: 32020: void rehash(size_type __bkt_count); 32020: 32020: 32020: 32020: 32020: 32020: 32020: insert_return_type 32020: _M_reinsert_node(node_type&& __nh) 32020: { 32020: insert_return_type __ret; 32020: if (__nh.empty()) 32020: __ret.position = end(); 32020: else 32020: { 32020: ; 32020: 32020: const key_type& __k = __nh._M_key(); 32020: __hash_code __code = this->_M_hash_code(__k); 32020: size_type __bkt = _M_bucket_index(__k, __code); 32020: if (__node_type* __n = _M_find_node(__bkt, __k, __code)) 32020: { 32020: __ret.node = std::move(__nh); 32020: __ret.position = iterator(__n); 32020: __ret.inserted = false; 32020: } 32020: else 32020: { 32020: __ret.position 32020: = _M_insert_unique_node(__k, __bkt, __code, __nh._M_ptr); 32020: __nh._M_ptr = nullptr; 32020: __ret.inserted = true; 32020: } 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: iterator 32020: _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh) 32020: { 32020: if (__nh.empty()) 32020: return end(); 32020: 32020: ; 32020: 32020: const key_type& __k = __nh._M_key(); 32020: auto __code = this->_M_hash_code(__k); 32020: auto __ret 32020: = _M_insert_multi_node(__hint._M_cur, __k, __code, __nh._M_ptr); 32020: __nh._M_ptr = nullptr; 32020: return __ret; 32020: } 32020: 32020: private: 32020: node_type 32020: _M_extract_node(size_t __bkt, __node_base* __prev_n) 32020: { 32020: __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); 32020: if (__prev_n == _M_buckets[__bkt]) 32020: _M_remove_bucket_begin(__bkt, __n->_M_next(), 32020: __n->_M_nxt ? _M_bucket_index(__n->_M_next()) : 0); 32020: else if (__n->_M_nxt) 32020: { 32020: size_type __next_bkt = _M_bucket_index(__n->_M_next()); 32020: if (__next_bkt != __bkt) 32020: _M_buckets[__next_bkt] = __prev_n; 32020: } 32020: 32020: __prev_n->_M_nxt = __n->_M_nxt; 32020: __n->_M_nxt = nullptr; 32020: --_M_element_count; 32020: return { __n, this->_M_node_allocator() }; 32020: } 32020: 32020: public: 32020: 32020: node_type 32020: extract(const_iterator __pos) 32020: { 32020: size_t __bkt = _M_bucket_index(__pos._M_cur); 32020: return _M_extract_node(__bkt, 32020: _M_get_previous_node(__bkt, __pos._M_cur)); 32020: } 32020: 32020: 32020: node_type 32020: extract(const _Key& __k) 32020: { 32020: node_type __nh; 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: if (__node_base* __prev_node = _M_find_before_node(__bkt, __k, __code)) 32020: __nh = _M_extract_node(__bkt, __prev_node); 32020: return __nh; 32020: } 32020: 32020: 32020: template 32020: void 32020: _M_merge_unique(_Compatible_Hashtable& __src) noexcept 32020: { 32020: static_assert(is_same_v, "Node types are compatible"); 32020: ; 32020: 32020: auto __n_elt = __src.size(); 32020: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 32020: { 32020: auto __pos = __i++; 32020: const key_type& __k = this->_M_extract()(*__pos); 32020: __hash_code __code = this->_M_hash_code(__k); 32020: size_type __bkt = _M_bucket_index(__k, __code); 32020: if (_M_find_node(__bkt, __k, __code) == nullptr) 32020: { 32020: auto __nh = __src.extract(__pos); 32020: _M_insert_unique_node(__k, __bkt, __code, __nh._M_ptr, 32020: __n_elt); 32020: __nh._M_ptr = nullptr; 32020: __n_elt = 1; 32020: } 32020: else if (__n_elt != 1) 32020: --__n_elt; 32020: } 32020: } 32020: 32020: 32020: template 32020: void 32020: _M_merge_multi(_Compatible_Hashtable& __src) noexcept 32020: { 32020: static_assert(is_same_v, "Node types are compatible"); 32020: ; 32020: 32020: this->reserve(size() + __src.size()); 32020: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 32020: _M_reinsert_node_multi(cend(), __src.extract(__i++)); 32020: } 32020: 32020: 32020: private: 32020: 32020: void _M_rehash_aux(size_type __bkt_count, true_type); 32020: 32020: 32020: void _M_rehash_aux(size_type __bkt_count, false_type); 32020: 32020: 32020: 32020: void _M_rehash(size_type __bkt_count, const __rehash_state& __state); 32020: }; 32020: 32020: 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_bucket_begin(size_type __bkt) const 32020: -> __node_type* 32020: { 32020: __node_base* __n = _M_buckets[__bkt]; 32020: return __n ? static_cast<__node_type*>(__n->_M_nxt) : nullptr; 32020: } 32020: 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _Hashtable(size_type __bkt_count_hint, 32020: const _H1& __h1, const _H2& __h2, const _Hash& __h, 32020: const _Equal& __eq, const _ExtractKey& __exk, 32020: const allocator_type& __a) 32020: : _Hashtable(__h1, __h2, __h, __eq, __exk, __a) 32020: { 32020: auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint); 32020: if (__bkt_count > _M_bucket_count) 32020: { 32020: _M_buckets = _M_allocate_buckets(__bkt_count); 32020: _M_bucket_count = __bkt_count; 32020: } 32020: } 32020: 32020: template 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _Hashtable(_InputIterator __f, _InputIterator __l, 32020: size_type __bkt_count_hint, 32020: const _H1& __h1, const _H2& __h2, const _Hash& __h, 32020: const _Equal& __eq, const _ExtractKey& __exk, 32020: const allocator_type& __a) 32020: : _Hashtable(__h1, __h2, __h, __eq, __exk, __a) 32020: { 32020: auto __nb_elems = __detail::__distance_fw(__f, __l); 32020: auto __bkt_count = 32020: _M_rehash_policy._M_next_bkt( 32020: std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems), 32020: __bkt_count_hint)); 32020: 32020: if (__bkt_count > _M_bucket_count) 32020: { 32020: _M_buckets = _M_allocate_buckets(__bkt_count); 32020: _M_bucket_count = __bkt_count; 32020: } 32020: 32020: for (; __f != __l; ++__f) 32020: this->insert(*__f); 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: operator=(const _Hashtable& __ht) 32020: -> _Hashtable& 32020: { 32020: if (&__ht == this) 32020: return *this; 32020: 32020: if (__node_alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: auto& __this_alloc = this->_M_node_allocator(); 32020: auto& __that_alloc = __ht._M_node_allocator(); 32020: if (!__node_alloc_traits::_S_always_equal() 32020: && __this_alloc != __that_alloc) 32020: { 32020: 32020: this->_M_deallocate_nodes(_M_begin()); 32020: _M_before_begin._M_nxt = nullptr; 32020: _M_deallocate_buckets(); 32020: _M_buckets = nullptr; 32020: std::__alloc_on_copy(__this_alloc, __that_alloc); 32020: __hashtable_base::operator=(__ht); 32020: _M_bucket_count = __ht._M_bucket_count; 32020: _M_element_count = __ht._M_element_count; 32020: _M_rehash_policy = __ht._M_rehash_policy; 32020: __alloc_node_gen_t __alloc_node_gen(*this); 32020: try 32020: { 32020: _M_assign(__ht, __alloc_node_gen); 32020: } 32020: catch(...) 32020: { 32020: 32020: 32020: _M_reset(); 32020: throw; 32020: } 32020: return *this; 32020: } 32020: std::__alloc_on_copy(__this_alloc, __that_alloc); 32020: } 32020: 32020: 32020: _M_assign_elements(__ht); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_assign_elements(_Ht&& __ht) 32020: { 32020: __bucket_type* __former_buckets = nullptr; 32020: std::size_t __former_bucket_count = _M_bucket_count; 32020: const __rehash_state& __former_state = _M_rehash_policy._M_state(); 32020: 32020: if (_M_bucket_count != __ht._M_bucket_count) 32020: { 32020: __former_buckets = _M_buckets; 32020: _M_buckets = _M_allocate_buckets(__ht._M_bucket_count); 32020: _M_bucket_count = __ht._M_bucket_count; 32020: } 32020: else 32020: __builtin_memset(_M_buckets, 0, 32020: _M_bucket_count * sizeof(__bucket_type)); 32020: 32020: try 32020: { 32020: __hashtable_base::operator=(std::forward<_Ht>(__ht)); 32020: _M_element_count = __ht._M_element_count; 32020: _M_rehash_policy = __ht._M_rehash_policy; 32020: __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this); 32020: _M_before_begin._M_nxt = nullptr; 32020: _M_assign(std::forward<_Ht>(__ht), __roan); 32020: if (__former_buckets) 32020: _M_deallocate_buckets(__former_buckets, __former_bucket_count); 32020: } 32020: catch(...) 32020: { 32020: if (__former_buckets) 32020: { 32020: 32020: _M_deallocate_buckets(); 32020: _M_rehash_policy._M_reset(__former_state); 32020: _M_buckets = __former_buckets; 32020: _M_bucket_count = __former_bucket_count; 32020: } 32020: __builtin_memset(_M_buckets, 0, 32020: _M_bucket_count * sizeof(__bucket_type)); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen) 32020: { 32020: __bucket_type* __buckets = nullptr; 32020: if (!_M_buckets) 32020: _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count); 32020: 32020: try 32020: { 32020: if (!__ht._M_before_begin._M_nxt) 32020: return; 32020: 32020: 32020: 32020: __node_type* __ht_n = __ht._M_begin(); 32020: __node_type* __this_n 32020: = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v())); 32020: this->_M_copy_code(__this_n, __ht_n); 32020: _M_before_begin._M_nxt = __this_n; 32020: _M_buckets[_M_bucket_index(__this_n)] = &_M_before_begin; 32020: 32020: 32020: __node_base* __prev_n = __this_n; 32020: for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next()) 32020: { 32020: __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v())); 32020: __prev_n->_M_nxt = __this_n; 32020: this->_M_copy_code(__this_n, __ht_n); 32020: size_type __bkt = _M_bucket_index(__this_n); 32020: if (!_M_buckets[__bkt]) 32020: _M_buckets[__bkt] = __prev_n; 32020: __prev_n = __this_n; 32020: } 32020: } 32020: catch(...) 32020: { 32020: clear(); 32020: if (__buckets) 32020: _M_deallocate_buckets(); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_reset() noexcept 32020: { 32020: _M_rehash_policy._M_reset(); 32020: _M_bucket_count = 1; 32020: _M_single_bucket = nullptr; 32020: _M_buckets = &_M_single_bucket; 32020: _M_before_begin._M_nxt = nullptr; 32020: _M_element_count = 0; 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_move_assign(_Hashtable&& __ht, true_type) 32020: { 32020: this->_M_deallocate_nodes(_M_begin()); 32020: _M_deallocate_buckets(); 32020: __hashtable_base::operator=(std::move(__ht)); 32020: _M_rehash_policy = __ht._M_rehash_policy; 32020: if (!__ht._M_uses_single_bucket()) 32020: _M_buckets = __ht._M_buckets; 32020: else 32020: { 32020: _M_buckets = &_M_single_bucket; 32020: _M_single_bucket = __ht._M_single_bucket; 32020: } 32020: _M_bucket_count = __ht._M_bucket_count; 32020: _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt; 32020: _M_element_count = __ht._M_element_count; 32020: std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator()); 32020: 32020: 32020: 32020: if (_M_begin()) 32020: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 32020: __ht._M_reset(); 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_move_assign(_Hashtable&& __ht, false_type) 32020: { 32020: if (__ht._M_node_allocator() == this->_M_node_allocator()) 32020: _M_move_assign(std::move(__ht), true_type()); 32020: else 32020: { 32020: 32020: _M_assign_elements(std::move(__ht)); 32020: __ht.clear(); 32020: } 32020: } 32020: 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _Hashtable(const _Hashtable& __ht) 32020: : __hashtable_base(__ht), 32020: __map_base(__ht), 32020: __rehash_base(__ht), 32020: __hashtable_alloc( 32020: __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())), 32020: _M_buckets(nullptr), 32020: _M_bucket_count(__ht._M_bucket_count), 32020: _M_element_count(__ht._M_element_count), 32020: _M_rehash_policy(__ht._M_rehash_policy) 32020: { 32020: __alloc_node_gen_t __alloc_node_gen(*this); 32020: _M_assign(__ht, __alloc_node_gen); 32020: } 32020: 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _Hashtable(_Hashtable&& __ht) noexcept 32020: : __hashtable_base(__ht), 32020: __map_base(__ht), 32020: __rehash_base(__ht), 32020: __hashtable_alloc(std::move(__ht._M_base_alloc())), 32020: _M_buckets(__ht._M_buckets), 32020: _M_bucket_count(__ht._M_bucket_count), 32020: _M_before_begin(__ht._M_before_begin._M_nxt), 32020: _M_element_count(__ht._M_element_count), 32020: _M_rehash_policy(__ht._M_rehash_policy) 32020: { 32020: 32020: if (__ht._M_uses_single_bucket()) 32020: { 32020: _M_buckets = &_M_single_bucket; 32020: _M_single_bucket = __ht._M_single_bucket; 32020: } 32020: 32020: 32020: 32020: if (_M_begin()) 32020: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 32020: 32020: __ht._M_reset(); 32020: } 32020: 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _Hashtable(const _Hashtable& __ht, const allocator_type& __a) 32020: : __hashtable_base(__ht), 32020: __map_base(__ht), 32020: __rehash_base(__ht), 32020: __hashtable_alloc(__node_alloc_type(__a)), 32020: _M_buckets(), 32020: _M_bucket_count(__ht._M_bucket_count), 32020: _M_element_count(__ht._M_element_count), 32020: _M_rehash_policy(__ht._M_rehash_policy) 32020: { 32020: __alloc_node_gen_t __alloc_node_gen(*this); 32020: _M_assign(__ht, __alloc_node_gen); 32020: } 32020: 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _Hashtable(_Hashtable&& __ht, const allocator_type& __a) 32020: : __hashtable_base(__ht), 32020: __map_base(__ht), 32020: __rehash_base(__ht), 32020: __hashtable_alloc(__node_alloc_type(__a)), 32020: _M_buckets(nullptr), 32020: _M_bucket_count(__ht._M_bucket_count), 32020: _M_element_count(__ht._M_element_count), 32020: _M_rehash_policy(__ht._M_rehash_policy) 32020: { 32020: if (__ht._M_node_allocator() == this->_M_node_allocator()) 32020: { 32020: if (__ht._M_uses_single_bucket()) 32020: { 32020: _M_buckets = &_M_single_bucket; 32020: _M_single_bucket = __ht._M_single_bucket; 32020: } 32020: else 32020: _M_buckets = __ht._M_buckets; 32020: 32020: _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt; 32020: 32020: 32020: if (_M_begin()) 32020: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 32020: __ht._M_reset(); 32020: } 32020: else 32020: { 32020: __alloc_node_gen_t __alloc_gen(*this); 32020: 32020: using _Fwd_Ht = typename 32020: conditional<__move_if_noexcept_cond::value, 32020: const _Hashtable&, _Hashtable&&>::type; 32020: _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen); 32020: __ht.clear(); 32020: } 32020: } 32020: 32020: template 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: ~_Hashtable() noexcept 32020: { 32020: clear(); 32020: _M_deallocate_buckets(); 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: swap(_Hashtable& __x) 32020: noexcept(__and_<__is_nothrow_swappable<_H1>, 32020: __is_nothrow_swappable<_Equal>>::value) 32020: { 32020: 32020: 32020: 32020: this->_M_swap(__x); 32020: 32020: std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator()); 32020: std::swap(_M_rehash_policy, __x._M_rehash_policy); 32020: 32020: 32020: if (this->_M_uses_single_bucket()) 32020: { 32020: if (!__x._M_uses_single_bucket()) 32020: { 32020: _M_buckets = __x._M_buckets; 32020: __x._M_buckets = &__x._M_single_bucket; 32020: } 32020: } 32020: else if (__x._M_uses_single_bucket()) 32020: { 32020: __x._M_buckets = _M_buckets; 32020: _M_buckets = &_M_single_bucket; 32020: } 32020: else 32020: std::swap(_M_buckets, __x._M_buckets); 32020: 32020: std::swap(_M_bucket_count, __x._M_bucket_count); 32020: std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt); 32020: std::swap(_M_element_count, __x._M_element_count); 32020: std::swap(_M_single_bucket, __x._M_single_bucket); 32020: 32020: 32020: 32020: if (_M_begin()) 32020: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 32020: 32020: if (__x._M_begin()) 32020: __x._M_buckets[__x._M_bucket_index(__x._M_begin())] 32020: = &__x._M_before_begin; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: find(const key_type& __k) 32020: -> iterator 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: __node_type* __p = _M_find_node(__bkt, __k, __code); 32020: return __p ? iterator(__p) : end(); 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: find(const key_type& __k) const 32020: -> const_iterator 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: __node_type* __p = _M_find_node(__bkt, __k, __code); 32020: return __p ? const_iterator(__p) : end(); 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: count(const key_type& __k) const 32020: -> size_type 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: __node_type* __p = _M_bucket_begin(__bkt); 32020: if (!__p) 32020: return 0; 32020: 32020: std::size_t __result = 0; 32020: for (;; __p = __p->_M_next()) 32020: { 32020: if (this->_M_equals(__k, __code, __p)) 32020: ++__result; 32020: else if (__result) 32020: 32020: 32020: 32020: break; 32020: if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __bkt) 32020: break; 32020: } 32020: return __result; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: equal_range(const key_type& __k) 32020: -> pair 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: __node_type* __p = _M_find_node(__bkt, __k, __code); 32020: 32020: if (__p) 32020: { 32020: __node_type* __p1 = __p->_M_next(); 32020: while (__p1 && _M_bucket_index(__p1) == __bkt 32020: && this->_M_equals(__k, __code, __p1)) 32020: __p1 = __p1->_M_next(); 32020: 32020: return std::make_pair(iterator(__p), iterator(__p1)); 32020: } 32020: else 32020: return std::make_pair(end(), end()); 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: equal_range(const key_type& __k) const 32020: -> pair 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: __node_type* __p = _M_find_node(__bkt, __k, __code); 32020: 32020: if (__p) 32020: { 32020: __node_type* __p1 = __p->_M_next(); 32020: while (__p1 && _M_bucket_index(__p1) == __bkt 32020: && this->_M_equals(__k, __code, __p1)) 32020: __p1 = __p1->_M_next(); 32020: 32020: return std::make_pair(const_iterator(__p), const_iterator(__p1)); 32020: } 32020: else 32020: return std::make_pair(end(), end()); 32020: } 32020: 32020: 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_find_before_node(size_type __bkt, const key_type& __k, 32020: __hash_code __code) const 32020: -> __node_base* 32020: { 32020: __node_base* __prev_p = _M_buckets[__bkt]; 32020: if (!__prev_p) 32020: return nullptr; 32020: 32020: for (__node_type* __p = static_cast<__node_type*>(__prev_p->_M_nxt);; 32020: __p = __p->_M_next()) 32020: { 32020: if (this->_M_equals(__k, __code, __p)) 32020: return __prev_p; 32020: 32020: if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __bkt) 32020: break; 32020: __prev_p = __p; 32020: } 32020: return nullptr; 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_insert_bucket_begin(size_type __bkt, __node_type* __node) 32020: { 32020: if (_M_buckets[__bkt]) 32020: { 32020: 32020: 32020: __node->_M_nxt = _M_buckets[__bkt]->_M_nxt; 32020: _M_buckets[__bkt]->_M_nxt = __node; 32020: } 32020: else 32020: { 32020: 32020: 32020: 32020: __node->_M_nxt = _M_before_begin._M_nxt; 32020: _M_before_begin._M_nxt = __node; 32020: if (__node->_M_nxt) 32020: 32020: 32020: _M_buckets[_M_bucket_index(__node->_M_next())] = __node; 32020: _M_buckets[__bkt] = &_M_before_begin; 32020: } 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_remove_bucket_begin(size_type __bkt, __node_type* __next, 32020: size_type __next_bkt) 32020: { 32020: if (!__next || __next_bkt != __bkt) 32020: { 32020: 32020: 32020: if (__next) 32020: _M_buckets[__next_bkt] = _M_buckets[__bkt]; 32020: 32020: 32020: if (&_M_before_begin == _M_buckets[__bkt]) 32020: _M_before_begin._M_nxt = __next; 32020: _M_buckets[__bkt] = nullptr; 32020: } 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_get_previous_node(size_type __bkt, __node_base* __n) 32020: -> __node_base* 32020: { 32020: __node_base* __prev_n = _M_buckets[__bkt]; 32020: while (__prev_n->_M_nxt != __n) 32020: __prev_n = __prev_n->_M_nxt; 32020: return __prev_n; 32020: } 32020: 32020: template 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_emplace(true_type, _Args&&... __args) 32020: -> pair 32020: { 32020: 32020: _Scoped_node __node { this, std::forward<_Args>(__args)... }; 32020: const key_type& __k = this->_M_extract()(__node._M_node->_M_v()); 32020: __hash_code __code = this->_M_hash_code(__k); 32020: size_type __bkt = _M_bucket_index(__k, __code); 32020: if (__node_type* __p = _M_find_node(__bkt, __k, __code)) 32020: 32020: return std::make_pair(iterator(__p), false); 32020: 32020: 32020: auto __pos = _M_insert_unique_node(__k, __bkt, __code, __node._M_node); 32020: __node._M_node = nullptr; 32020: return { __pos, true }; 32020: } 32020: 32020: template 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_emplace(const_iterator __hint, false_type, _Args&&... __args) 32020: -> iterator 32020: { 32020: 32020: _Scoped_node __node { this, std::forward<_Args>(__args)... }; 32020: const key_type& __k = this->_M_extract()(__node._M_node->_M_v()); 32020: 32020: __hash_code __code = this->_M_hash_code(__k); 32020: auto __pos 32020: = _M_insert_multi_node(__hint._M_cur, __k, __code, __node._M_node); 32020: __node._M_node = nullptr; 32020: return __pos; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_insert_unique_node(const key_type& __k, size_type __bkt, 32020: __hash_code __code, __node_type* __node, 32020: size_type __n_elt) 32020: -> iterator 32020: { 32020: const __rehash_state& __saved_state = _M_rehash_policy._M_state(); 32020: std::pair __do_rehash 32020: = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 32020: __n_elt); 32020: 32020: if (__do_rehash.first) 32020: { 32020: _M_rehash(__do_rehash.second, __saved_state); 32020: __bkt = _M_bucket_index(__k, __code); 32020: } 32020: 32020: this->_M_store_code(__node, __code); 32020: 32020: 32020: _M_insert_bucket_begin(__bkt, __node); 32020: ++_M_element_count; 32020: return iterator(__node); 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_insert_multi_node(__node_type* __hint, const key_type& __k, 32020: __hash_code __code, __node_type* __node) 32020: -> iterator 32020: { 32020: const __rehash_state& __saved_state = _M_rehash_policy._M_state(); 32020: std::pair __do_rehash 32020: = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1); 32020: 32020: if (__do_rehash.first) 32020: _M_rehash(__do_rehash.second, __saved_state); 32020: 32020: this->_M_store_code(__node, __code); 32020: size_type __bkt = _M_bucket_index(__k, __code); 32020: 32020: 32020: 32020: __node_base* __prev 32020: = __builtin_expect(__hint != nullptr, false) 32020: && this->_M_equals(__k, __code, __hint) 32020: ? __hint 32020: : _M_find_before_node(__bkt, __k, __code); 32020: if (__prev) 32020: { 32020: 32020: __node->_M_nxt = __prev->_M_nxt; 32020: __prev->_M_nxt = __node; 32020: if (__builtin_expect(__prev == __hint, false)) 32020: 32020: 32020: if (__node->_M_nxt 32020: && !this->_M_equals(__k, __code, __node->_M_next())) 32020: { 32020: size_type __next_bkt = _M_bucket_index(__node->_M_next()); 32020: if (__next_bkt != __bkt) 32020: _M_buckets[__next_bkt] = __node; 32020: } 32020: } 32020: else 32020: 32020: 32020: 32020: _M_insert_bucket_begin(__bkt, __node); 32020: ++_M_element_count; 32020: return iterator(__node); 32020: } 32020: 32020: 32020: template 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_insert(_Arg&& __v, const _NodeGenerator& __node_gen, true_type, 32020: size_type __n_elt) 32020: -> pair 32020: { 32020: const key_type& __k = this->_M_extract()(__v); 32020: __hash_code __code = this->_M_hash_code(__k); 32020: size_type __bkt = _M_bucket_index(__k, __code); 32020: 32020: if (__node_type* __node = _M_find_node(__bkt, __k, __code)) 32020: return { iterator(__node), false }; 32020: 32020: _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this }; 32020: auto __pos 32020: = _M_insert_unique_node(__k, __bkt, __code, __node._M_node, __n_elt); 32020: __node._M_node = nullptr; 32020: return { __pos, true }; 32020: } 32020: 32020: 32020: template 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_insert(const_iterator __hint, _Arg&& __v, 32020: const _NodeGenerator& __node_gen, false_type) 32020: -> iterator 32020: { 32020: 32020: 32020: __hash_code __code = this->_M_hash_code(this->_M_extract()(__v)); 32020: 32020: 32020: _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this }; 32020: const key_type& __k = this->_M_extract()(__node._M_node->_M_v()); 32020: auto __pos 32020: = _M_insert_multi_node(__hint._M_cur, __k, __code, __node._M_node); 32020: __node._M_node = nullptr; 32020: return __pos; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: erase(const_iterator __it) 32020: -> iterator 32020: { 32020: __node_type* __n = __it._M_cur; 32020: std::size_t __bkt = _M_bucket_index(__n); 32020: 32020: 32020: 32020: 32020: __node_base* __prev_n = _M_get_previous_node(__bkt, __n); 32020: return _M_erase(__bkt, __prev_n, __n); 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_erase(size_type __bkt, __node_base* __prev_n, __node_type* __n) 32020: -> iterator 32020: { 32020: if (__prev_n == _M_buckets[__bkt]) 32020: _M_remove_bucket_begin(__bkt, __n->_M_next(), 32020: __n->_M_nxt ? _M_bucket_index(__n->_M_next()) : 0); 32020: else if (__n->_M_nxt) 32020: { 32020: size_type __next_bkt = _M_bucket_index(__n->_M_next()); 32020: if (__next_bkt != __bkt) 32020: _M_buckets[__next_bkt] = __prev_n; 32020: } 32020: 32020: __prev_n->_M_nxt = __n->_M_nxt; 32020: iterator __result(__n->_M_next()); 32020: this->_M_deallocate_node(__n); 32020: --_M_element_count; 32020: 32020: return __result; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_erase(true_type, const key_type& __k) 32020: -> size_type 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: 32020: 32020: __node_base* __prev_n = _M_find_before_node(__bkt, __k, __code); 32020: if (!__prev_n) 32020: return 0; 32020: 32020: 32020: __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); 32020: _M_erase(__bkt, __prev_n, __n); 32020: return 1; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_erase(false_type, const key_type& __k) 32020: -> size_type 32020: { 32020: __hash_code __code = this->_M_hash_code(__k); 32020: std::size_t __bkt = _M_bucket_index(__k, __code); 32020: 32020: 32020: __node_base* __prev_n = _M_find_before_node(__bkt, __k, __code); 32020: if (!__prev_n) 32020: return 0; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); 32020: __node_type* __n_last = __n; 32020: std::size_t __n_last_bkt = __bkt; 32020: do 32020: { 32020: __n_last = __n_last->_M_next(); 32020: if (!__n_last) 32020: break; 32020: __n_last_bkt = _M_bucket_index(__n_last); 32020: } 32020: while (__n_last_bkt == __bkt && this->_M_equals(__k, __code, __n_last)); 32020: 32020: 32020: size_type __result = 0; 32020: do 32020: { 32020: __node_type* __p = __n->_M_next(); 32020: this->_M_deallocate_node(__n); 32020: __n = __p; 32020: ++__result; 32020: --_M_element_count; 32020: } 32020: while (__n != __n_last); 32020: 32020: if (__prev_n == _M_buckets[__bkt]) 32020: _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt); 32020: else if (__n_last && __n_last_bkt != __bkt) 32020: _M_buckets[__n_last_bkt] = __prev_n; 32020: __prev_n->_M_nxt = __n_last; 32020: return __result; 32020: } 32020: 32020: template 32020: auto 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: erase(const_iterator __first, const_iterator __last) 32020: -> iterator 32020: { 32020: __node_type* __n = __first._M_cur; 32020: __node_type* __last_n = __last._M_cur; 32020: if (__n == __last_n) 32020: return iterator(__n); 32020: 32020: std::size_t __bkt = _M_bucket_index(__n); 32020: 32020: __node_base* __prev_n = _M_get_previous_node(__bkt, __n); 32020: bool __is_bucket_begin = __n == _M_bucket_begin(__bkt); 32020: std::size_t __n_bkt = __bkt; 32020: for (;;) 32020: { 32020: do 32020: { 32020: __node_type* __tmp = __n; 32020: __n = __n->_M_next(); 32020: this->_M_deallocate_node(__tmp); 32020: --_M_element_count; 32020: if (!__n) 32020: break; 32020: __n_bkt = _M_bucket_index(__n); 32020: } 32020: while (__n != __last_n && __n_bkt == __bkt); 32020: if (__is_bucket_begin) 32020: _M_remove_bucket_begin(__bkt, __n, __n_bkt); 32020: if (__n == __last_n) 32020: break; 32020: __is_bucket_begin = true; 32020: __bkt = __n_bkt; 32020: } 32020: 32020: if (__n && (__n_bkt != __bkt || __is_bucket_begin)) 32020: _M_buckets[__n_bkt] = __prev_n; 32020: __prev_n->_M_nxt = __n; 32020: return iterator(__n); 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: clear() noexcept 32020: { 32020: this->_M_deallocate_nodes(_M_begin()); 32020: __builtin_memset(_M_buckets, 0, _M_bucket_count * sizeof(__bucket_type)); 32020: _M_element_count = 0; 32020: _M_before_begin._M_nxt = nullptr; 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: rehash(size_type __bkt_count) 32020: { 32020: const __rehash_state& __saved_state = _M_rehash_policy._M_state(); 32020: __bkt_count 32020: = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1), 32020: __bkt_count); 32020: __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count); 32020: 32020: if (__bkt_count != _M_bucket_count) 32020: _M_rehash(__bkt_count, __saved_state); 32020: else 32020: 32020: 32020: _M_rehash_policy._M_reset(__saved_state); 32020: } 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_rehash(size_type __bkt_count, const __rehash_state& __state) 32020: { 32020: try 32020: { 32020: _M_rehash_aux(__bkt_count, __unique_keys()); 32020: } 32020: catch(...) 32020: { 32020: 32020: 32020: _M_rehash_policy._M_reset(__state); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_rehash_aux(size_type __bkt_count, true_type) 32020: { 32020: __bucket_type* __new_buckets = _M_allocate_buckets(__bkt_count); 32020: __node_type* __p = _M_begin(); 32020: _M_before_begin._M_nxt = nullptr; 32020: std::size_t __bbegin_bkt = 0; 32020: while (__p) 32020: { 32020: __node_type* __next = __p->_M_next(); 32020: std::size_t __bkt 32020: = __hash_code_base::_M_bucket_index(__p, __bkt_count); 32020: if (!__new_buckets[__bkt]) 32020: { 32020: __p->_M_nxt = _M_before_begin._M_nxt; 32020: _M_before_begin._M_nxt = __p; 32020: __new_buckets[__bkt] = &_M_before_begin; 32020: if (__p->_M_nxt) 32020: __new_buckets[__bbegin_bkt] = __p; 32020: __bbegin_bkt = __bkt; 32020: } 32020: else 32020: { 32020: __p->_M_nxt = __new_buckets[__bkt]->_M_nxt; 32020: __new_buckets[__bkt]->_M_nxt = __p; 32020: } 32020: __p = __next; 32020: } 32020: 32020: _M_deallocate_buckets(); 32020: _M_bucket_count = __bkt_count; 32020: _M_buckets = __new_buckets; 32020: } 32020: 32020: 32020: 32020: template 32020: void 32020: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 32020: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 32020: _M_rehash_aux(size_type __bkt_count, false_type) 32020: { 32020: __bucket_type* __new_buckets = _M_allocate_buckets(__bkt_count); 32020: 32020: __node_type* __p = _M_begin(); 32020: _M_before_begin._M_nxt = nullptr; 32020: std::size_t __bbegin_bkt = 0; 32020: std::size_t __prev_bkt = 0; 32020: __node_type* __prev_p = nullptr; 32020: bool __check_bucket = false; 32020: 32020: while (__p) 32020: { 32020: __node_type* __next = __p->_M_next(); 32020: std::size_t __bkt 32020: = __hash_code_base::_M_bucket_index(__p, __bkt_count); 32020: 32020: if (__prev_p && __prev_bkt == __bkt) 32020: { 32020: 32020: 32020: 32020: __p->_M_nxt = __prev_p->_M_nxt; 32020: __prev_p->_M_nxt = __p; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __check_bucket = true; 32020: } 32020: else 32020: { 32020: if (__check_bucket) 32020: { 32020: 32020: 32020: if (__prev_p->_M_nxt) 32020: { 32020: std::size_t __next_bkt 32020: = __hash_code_base::_M_bucket_index(__prev_p->_M_next(), 32020: __bkt_count); 32020: if (__next_bkt != __prev_bkt) 32020: __new_buckets[__next_bkt] = __prev_p; 32020: } 32020: __check_bucket = false; 32020: } 32020: 32020: if (!__new_buckets[__bkt]) 32020: { 32020: __p->_M_nxt = _M_before_begin._M_nxt; 32020: _M_before_begin._M_nxt = __p; 32020: __new_buckets[__bkt] = &_M_before_begin; 32020: if (__p->_M_nxt) 32020: __new_buckets[__bbegin_bkt] = __p; 32020: __bbegin_bkt = __bkt; 32020: } 32020: else 32020: { 32020: __p->_M_nxt = __new_buckets[__bkt]->_M_nxt; 32020: __new_buckets[__bkt]->_M_nxt = __p; 32020: } 32020: } 32020: __prev_p = __p; 32020: __prev_bkt = __bkt; 32020: __p = __next; 32020: } 32020: 32020: if (__check_bucket && __prev_p->_M_nxt) 32020: { 32020: std::size_t __next_bkt 32020: = __hash_code_base::_M_bucket_index(__prev_p->_M_next(), 32020: __bkt_count); 32020: if (__next_bkt != __prev_bkt) 32020: __new_buckets[__next_bkt] = __prev_p; 32020: } 32020: 32020: _M_deallocate_buckets(); 32020: _M_bucket_count = __bkt_count; 32020: _M_buckets = __new_buckets; 32020: } 32020: 32020: 32020: template class _Hash_merge_helper { }; 32020: 32020: 32020: 32020: 32020: template 32020: using _RequireNotAllocatorOrIntegral 32020: = __enable_if_t, __is_allocator<_Hash>>::value>; 32020: 32020: 32020: 32020: } 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>; 32020: 32020: template, 32020: typename _Pred = std::equal_to<_Key>, 32020: typename _Alloc = std::allocator >, 32020: typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>> 32020: using __umap_hashtable = _Hashtable<_Key, std::pair, 32020: _Alloc, __detail::_Select1st, 32020: _Pred, _Hash, 32020: __detail::_Mod_range_hashing, 32020: __detail::_Default_ranged_hash, 32020: __detail::_Prime_rehash_policy, _Tr>; 32020: 32020: 32020: template 32020: using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>; 32020: 32020: template, 32020: typename _Pred = std::equal_to<_Key>, 32020: typename _Alloc = std::allocator >, 32020: typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>> 32020: using __ummap_hashtable = _Hashtable<_Key, std::pair, 32020: _Alloc, __detail::_Select1st, 32020: _Pred, _Hash, 32020: __detail::_Mod_range_hashing, 32020: __detail::_Default_ranged_hash, 32020: __detail::_Prime_rehash_policy, _Tr>; 32020: 32020: template 32020: class unordered_multimap; 32020: # 98 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template, 32020: typename _Pred = equal_to<_Key>, 32020: typename _Alloc = allocator>> 32020: class unordered_map 32020: { 32020: typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; 32020: _Hashtable _M_h; 32020: 32020: public: 32020: 32020: 32020: 32020: typedef typename _Hashtable::key_type key_type; 32020: typedef typename _Hashtable::value_type value_type; 32020: typedef typename _Hashtable::mapped_type mapped_type; 32020: typedef typename _Hashtable::hasher hasher; 32020: typedef typename _Hashtable::key_equal key_equal; 32020: typedef typename _Hashtable::allocator_type allocator_type; 32020: 32020: 32020: 32020: 32020: typedef typename _Hashtable::pointer pointer; 32020: typedef typename _Hashtable::const_pointer const_pointer; 32020: typedef typename _Hashtable::reference reference; 32020: typedef typename _Hashtable::const_reference const_reference; 32020: typedef typename _Hashtable::iterator iterator; 32020: typedef typename _Hashtable::const_iterator const_iterator; 32020: typedef typename _Hashtable::local_iterator local_iterator; 32020: typedef typename _Hashtable::const_local_iterator const_local_iterator; 32020: typedef typename _Hashtable::size_type size_type; 32020: typedef typename _Hashtable::difference_type difference_type; 32020: 32020: 32020: 32020: using node_type = typename _Hashtable::node_type; 32020: using insert_return_type = typename _Hashtable::insert_return_type; 32020: 32020: 32020: 32020: 32020: 32020: unordered_map() = default; 32020: # 150 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: explicit 32020: unordered_map(size_type __n, 32020: const hasher& __hf = hasher(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_h(__n, __hf, __eql, __a) 32020: { } 32020: # 171 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: unordered_map(_InputIterator __first, _InputIterator __last, 32020: size_type __n = 0, 32020: const hasher& __hf = hasher(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_h(__first, __last, __n, __hf, __eql, __a) 32020: { } 32020: 32020: 32020: unordered_map(const unordered_map&) = default; 32020: 32020: 32020: unordered_map(unordered_map&&) = default; 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: unordered_map(const allocator_type& __a) 32020: : _M_h(__a) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: unordered_map(const unordered_map& __umap, 32020: const allocator_type& __a) 32020: : _M_h(__umap._M_h, __a) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: unordered_map(unordered_map&& __umap, 32020: const allocator_type& __a) 32020: : _M_h(std::move(__umap._M_h), __a) 32020: { } 32020: # 226 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: unordered_map(initializer_list __l, 32020: size_type __n = 0, 32020: const hasher& __hf = hasher(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_h(__l, __n, __hf, __eql, __a) 32020: { } 32020: 32020: unordered_map(size_type __n, const allocator_type& __a) 32020: : unordered_map(__n, hasher(), key_equal(), __a) 32020: { } 32020: 32020: unordered_map(size_type __n, const hasher& __hf, 32020: const allocator_type& __a) 32020: : unordered_map(__n, __hf, key_equal(), __a) 32020: { } 32020: 32020: template 32020: unordered_map(_InputIterator __first, _InputIterator __last, 32020: size_type __n, 32020: const allocator_type& __a) 32020: : unordered_map(__first, __last, __n, hasher(), key_equal(), __a) 32020: { } 32020: 32020: template 32020: unordered_map(_InputIterator __first, _InputIterator __last, 32020: size_type __n, const hasher& __hf, 32020: const allocator_type& __a) 32020: : unordered_map(__first, __last, __n, __hf, key_equal(), __a) 32020: { } 32020: 32020: unordered_map(initializer_list __l, 32020: size_type __n, 32020: const allocator_type& __a) 32020: : unordered_map(__l, __n, hasher(), key_equal(), __a) 32020: { } 32020: 32020: unordered_map(initializer_list __l, 32020: size_type __n, const hasher& __hf, 32020: const allocator_type& __a) 32020: : unordered_map(__l, __n, __hf, key_equal(), __a) 32020: { } 32020: 32020: 32020: unordered_map& 32020: operator=(const unordered_map&) = default; 32020: 32020: 32020: unordered_map& 32020: operator=(unordered_map&&) = default; 32020: # 288 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: unordered_map& 32020: operator=(initializer_list __l) 32020: { 32020: _M_h = __l; 32020: return *this; 32020: } 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return _M_h.get_allocator(); } 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return _M_h.empty(); } 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_h.size(); } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _M_h.max_size(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return _M_h.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return _M_h.begin(); } 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return _M_h.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return _M_h.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return _M_h.end(); } 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return _M_h.end(); } 32020: # 385 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: std::pair 32020: emplace(_Args&&... __args) 32020: { return _M_h.emplace(std::forward<_Args>(__args)...); } 32020: # 416 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: iterator 32020: emplace_hint(const_iterator __pos, _Args&&... __args) 32020: { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } 32020: 32020: 32020: 32020: node_type 32020: extract(const_iterator __pos) 32020: { 32020: ; 32020: return _M_h.extract(__pos); 32020: } 32020: 32020: 32020: node_type 32020: extract(const key_type& __key) 32020: { return _M_h.extract(__key); } 32020: 32020: 32020: insert_return_type 32020: insert(node_type&& __nh) 32020: { return _M_h._M_reinsert_node(std::move(__nh)); } 32020: 32020: 32020: iterator 32020: insert(const_iterator, node_type&& __nh) 32020: { return _M_h._M_reinsert_node(std::move(__nh)).position; } 32020: # 468 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: pair 32020: try_emplace(const key_type& __k, _Args&&... __args) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: { 32020: __i = emplace(std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)) 32020: .first; 32020: return {__i, true}; 32020: } 32020: return {__i, false}; 32020: } 32020: 32020: 32020: template 32020: pair 32020: try_emplace(key_type&& __k, _Args&&... __args) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: { 32020: __i = emplace(std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)) 32020: .first; 32020: return {__i, true}; 32020: } 32020: return {__i, false}; 32020: } 32020: # 531 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: iterator 32020: try_emplace(const_iterator __hint, const key_type& __k, 32020: _Args&&... __args) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: __i = emplace_hint(__hint, std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)); 32020: return __i; 32020: } 32020: 32020: 32020: template 32020: iterator 32020: try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: __i = emplace_hint(__hint, std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)); 32020: return __i; 32020: } 32020: # 578 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: std::pair 32020: insert(const value_type& __x) 32020: { return _M_h.insert(__x); } 32020: 32020: 32020: 32020: std::pair 32020: insert(value_type&& __x) 32020: { return _M_h.insert(std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, 32020: pair> 32020: insert(_Pair&& __x) 32020: { return _M_h.emplace(std::forward<_Pair>(__x)); } 32020: # 617 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: insert(const_iterator __hint, const value_type& __x) 32020: { return _M_h.insert(__hint, __x); } 32020: 32020: 32020: 32020: iterator 32020: insert(const_iterator __hint, value_type&& __x) 32020: { return _M_h.insert(__hint, std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, iterator> 32020: insert(const_iterator __hint, _Pair&& __x) 32020: { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); } 32020: # 642 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: void 32020: insert(_InputIterator __first, _InputIterator __last) 32020: { _M_h.insert(__first, __last); } 32020: # 654 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: insert(initializer_list __l) 32020: { _M_h.insert(__l); } 32020: # 680 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: pair 32020: insert_or_assign(const key_type& __k, _Obj&& __obj) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: { 32020: __i = emplace(std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple(std::forward<_Obj>(__obj))) 32020: .first; 32020: return {__i, true}; 32020: } 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return {__i, false}; 32020: } 32020: 32020: 32020: template 32020: pair 32020: insert_or_assign(key_type&& __k, _Obj&& __obj) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: { 32020: __i = emplace(std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple(std::forward<_Obj>(__obj))) 32020: .first; 32020: return {__i, true}; 32020: } 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return {__i, false}; 32020: } 32020: # 741 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: iterator 32020: insert_or_assign(const_iterator __hint, const key_type& __k, 32020: _Obj&& __obj) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: { 32020: return emplace_hint(__hint, std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Obj>(__obj))); 32020: } 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return __i; 32020: } 32020: 32020: 32020: template 32020: iterator 32020: insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj) 32020: { 32020: iterator __i = find(__k); 32020: if (__i == end()) 32020: { 32020: return emplace_hint(__hint, std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Obj>(__obj))); 32020: } 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return __i; 32020: } 32020: # 790 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: erase(const_iterator __position) 32020: { return _M_h.erase(__position); } 32020: 32020: 32020: iterator 32020: erase(iterator __position) 32020: { return _M_h.erase(__position); } 32020: # 812 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: size_type 32020: erase(const key_type& __x) 32020: { return _M_h.erase(__x); } 32020: # 830 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: erase(const_iterator __first, const_iterator __last) 32020: { return _M_h.erase(__first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_h.clear(); } 32020: # 854 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: swap(unordered_map& __x) 32020: noexcept( noexcept(_M_h.swap(__x._M_h)) ) 32020: { _M_h.swap(__x._M_h); } 32020: 32020: 32020: template 32020: friend class std::_Hash_merge_helper; 32020: 32020: template 32020: void 32020: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source) 32020: { 32020: using _Merge_helper = _Hash_merge_helper; 32020: _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 32020: { merge(__source); } 32020: 32020: template 32020: void 32020: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source) 32020: { 32020: using _Merge_helper = _Hash_merge_helper; 32020: _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 32020: { merge(__source); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: hasher 32020: hash_function() const 32020: { return _M_h.hash_function(); } 32020: 32020: 32020: 32020: key_equal 32020: key_eq() const 32020: { return _M_h.key_eq(); } 32020: # 918 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: find(const key_type& __x) 32020: { return _M_h.find(__x); } 32020: 32020: const_iterator 32020: find(const key_type& __x) const 32020: { return _M_h.find(__x); } 32020: # 936 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: size_type 32020: count(const key_type& __x) const 32020: { return _M_h.count(__x); } 32020: # 960 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: std::pair 32020: equal_range(const key_type& __x) 32020: { return _M_h.equal_range(__x); } 32020: 32020: std::pair 32020: equal_range(const key_type& __x) const 32020: { return _M_h.equal_range(__x); } 32020: # 982 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: mapped_type& 32020: operator[](const key_type& __k) 32020: { return _M_h[__k]; } 32020: 32020: mapped_type& 32020: operator[](key_type&& __k) 32020: { return _M_h[std::move(__k)]; } 32020: # 999 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: mapped_type& 32020: at(const key_type& __k) 32020: { return _M_h.at(__k); } 32020: 32020: const mapped_type& 32020: at(const key_type& __k) const 32020: { return _M_h.at(__k); } 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket_count() const noexcept 32020: { return _M_h.bucket_count(); } 32020: 32020: 32020: size_type 32020: max_bucket_count() const noexcept 32020: { return _M_h.max_bucket_count(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket_size(size_type __n) const 32020: { return _M_h.bucket_size(__n); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket(const key_type& __key) const 32020: { return _M_h.bucket(__key); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: local_iterator 32020: begin(size_type __n) 32020: { return _M_h.begin(__n); } 32020: # 1055 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: const_local_iterator 32020: begin(size_type __n) const 32020: { return _M_h.begin(__n); } 32020: 32020: const_local_iterator 32020: cbegin(size_type __n) const 32020: { return _M_h.cbegin(__n); } 32020: # 1070 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: local_iterator 32020: end(size_type __n) 32020: { return _M_h.end(__n); } 32020: # 1081 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: const_local_iterator 32020: end(size_type __n) const 32020: { return _M_h.end(__n); } 32020: 32020: const_local_iterator 32020: cend(size_type __n) const 32020: { return _M_h.cend(__n); } 32020: 32020: 32020: 32020: 32020: 32020: float 32020: load_factor() const noexcept 32020: { return _M_h.load_factor(); } 32020: 32020: 32020: 32020: float 32020: max_load_factor() const noexcept 32020: { return _M_h.max_load_factor(); } 32020: 32020: 32020: 32020: 32020: 32020: void 32020: max_load_factor(float __z) 32020: { _M_h.max_load_factor(__z); } 32020: # 1118 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: rehash(size_type __n) 32020: { _M_h.rehash(__n); } 32020: # 1129 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: reserve(size_type __n) 32020: { _M_h.reserve(__n); } 32020: 32020: template 32020: friend bool 32020: operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, 32020: const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&); 32020: }; 32020: 32020: 32020: 32020: template>, 32020: typename _Pred = equal_to<__iter_key_t<_InputIterator>>, 32020: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireNotAllocatorOrIntegral<_Hash>, 32020: typename = _RequireNotAllocator<_Pred>, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_map(_InputIterator, _InputIterator, 32020: typename unordered_map::size_type = {}, 32020: _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator()) 32020: -> unordered_map<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, 32020: _Hash, _Pred, _Allocator>; 32020: 32020: template, 32020: typename _Pred = equal_to<_Key>, 32020: typename _Allocator = allocator>, 32020: typename = _RequireNotAllocatorOrIntegral<_Hash>, 32020: typename = _RequireNotAllocator<_Pred>, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_map(initializer_list>, 32020: typename unordered_map::size_type = {}, 32020: _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator()) 32020: -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_map(_InputIterator, _InputIterator, 32020: typename unordered_map::size_type, _Allocator) 32020: -> unordered_map<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, 32020: hash<__iter_key_t<_InputIterator>>, 32020: equal_to<__iter_key_t<_InputIterator>>, 32020: _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_map(_InputIterator, _InputIterator, _Allocator) 32020: -> unordered_map<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, 32020: hash<__iter_key_t<_InputIterator>>, 32020: equal_to<__iter_key_t<_InputIterator>>, 32020: _Allocator>; 32020: 32020: template, 32020: typename = _RequireNotAllocatorOrIntegral<_Hash>, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_map(_InputIterator, _InputIterator, 32020: typename unordered_map::size_type, 32020: _Hash, _Allocator) 32020: -> unordered_map<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, _Hash, 32020: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 32020: 32020: template> 32020: unordered_map(initializer_list>, 32020: typename unordered_map::size_type, 32020: _Allocator) 32020: -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 32020: 32020: template> 32020: unordered_map(initializer_list>, _Allocator) 32020: -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_map(initializer_list>, 32020: typename unordered_map::size_type, 32020: _Hash, _Allocator) 32020: -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>; 32020: # 1245 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template, 32020: typename _Pred = equal_to<_Key>, 32020: typename _Alloc = allocator>> 32020: class unordered_multimap 32020: { 32020: typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; 32020: _Hashtable _M_h; 32020: 32020: public: 32020: 32020: 32020: 32020: typedef typename _Hashtable::key_type key_type; 32020: typedef typename _Hashtable::value_type value_type; 32020: typedef typename _Hashtable::mapped_type mapped_type; 32020: typedef typename _Hashtable::hasher hasher; 32020: typedef typename _Hashtable::key_equal key_equal; 32020: typedef typename _Hashtable::allocator_type allocator_type; 32020: 32020: 32020: 32020: 32020: typedef typename _Hashtable::pointer pointer; 32020: typedef typename _Hashtable::const_pointer const_pointer; 32020: typedef typename _Hashtable::reference reference; 32020: typedef typename _Hashtable::const_reference const_reference; 32020: typedef typename _Hashtable::iterator iterator; 32020: typedef typename _Hashtable::const_iterator const_iterator; 32020: typedef typename _Hashtable::local_iterator local_iterator; 32020: typedef typename _Hashtable::const_local_iterator const_local_iterator; 32020: typedef typename _Hashtable::size_type size_type; 32020: typedef typename _Hashtable::difference_type difference_type; 32020: 32020: 32020: 32020: using node_type = typename _Hashtable::node_type; 32020: 32020: 32020: 32020: 32020: 32020: unordered_multimap() = default; 32020: # 1296 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: explicit 32020: unordered_multimap(size_type __n, 32020: const hasher& __hf = hasher(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_h(__n, __hf, __eql, __a) 32020: { } 32020: # 1317 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: unordered_multimap(_InputIterator __first, _InputIterator __last, 32020: size_type __n = 0, 32020: const hasher& __hf = hasher(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_h(__first, __last, __n, __hf, __eql, __a) 32020: { } 32020: 32020: 32020: unordered_multimap(const unordered_multimap&) = default; 32020: 32020: 32020: unordered_multimap(unordered_multimap&&) = default; 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: unordered_multimap(const allocator_type& __a) 32020: : _M_h(__a) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: unordered_multimap(const unordered_multimap& __ummap, 32020: const allocator_type& __a) 32020: : _M_h(__ummap._M_h, __a) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: unordered_multimap(unordered_multimap&& __ummap, 32020: const allocator_type& __a) 32020: : _M_h(std::move(__ummap._M_h), __a) 32020: { } 32020: # 1372 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: unordered_multimap(initializer_list __l, 32020: size_type __n = 0, 32020: const hasher& __hf = hasher(), 32020: const key_equal& __eql = key_equal(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_h(__l, __n, __hf, __eql, __a) 32020: { } 32020: 32020: unordered_multimap(size_type __n, const allocator_type& __a) 32020: : unordered_multimap(__n, hasher(), key_equal(), __a) 32020: { } 32020: 32020: unordered_multimap(size_type __n, const hasher& __hf, 32020: const allocator_type& __a) 32020: : unordered_multimap(__n, __hf, key_equal(), __a) 32020: { } 32020: 32020: template 32020: unordered_multimap(_InputIterator __first, _InputIterator __last, 32020: size_type __n, 32020: const allocator_type& __a) 32020: : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a) 32020: { } 32020: 32020: template 32020: unordered_multimap(_InputIterator __first, _InputIterator __last, 32020: size_type __n, const hasher& __hf, 32020: const allocator_type& __a) 32020: : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a) 32020: { } 32020: 32020: unordered_multimap(initializer_list __l, 32020: size_type __n, 32020: const allocator_type& __a) 32020: : unordered_multimap(__l, __n, hasher(), key_equal(), __a) 32020: { } 32020: 32020: unordered_multimap(initializer_list __l, 32020: size_type __n, const hasher& __hf, 32020: const allocator_type& __a) 32020: : unordered_multimap(__l, __n, __hf, key_equal(), __a) 32020: { } 32020: 32020: 32020: unordered_multimap& 32020: operator=(const unordered_multimap&) = default; 32020: 32020: 32020: unordered_multimap& 32020: operator=(unordered_multimap&&) = default; 32020: # 1434 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: unordered_multimap& 32020: operator=(initializer_list __l) 32020: { 32020: _M_h = __l; 32020: return *this; 32020: } 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return _M_h.get_allocator(); } 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return _M_h.empty(); } 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_h.size(); } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _M_h.max_size(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return _M_h.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return _M_h.begin(); } 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return _M_h.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return _M_h.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return _M_h.end(); } 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return _M_h.end(); } 32020: # 1526 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: iterator 32020: emplace(_Args&&... __args) 32020: { return _M_h.emplace(std::forward<_Args>(__args)...); } 32020: # 1553 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: iterator 32020: emplace_hint(const_iterator __pos, _Args&&... __args) 32020: { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } 32020: # 1568 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: insert(const value_type& __x) 32020: { return _M_h.insert(__x); } 32020: 32020: iterator 32020: insert(value_type&& __x) 32020: { return _M_h.insert(std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, iterator> 32020: insert(_Pair&& __x) 32020: { return _M_h.emplace(std::forward<_Pair>(__x)); } 32020: # 1602 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: insert(const_iterator __hint, const value_type& __x) 32020: { return _M_h.insert(__hint, __x); } 32020: 32020: 32020: 32020: iterator 32020: insert(const_iterator __hint, value_type&& __x) 32020: { return _M_h.insert(__hint, std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, iterator> 32020: insert(const_iterator __hint, _Pair&& __x) 32020: { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); } 32020: # 1627 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: template 32020: void 32020: insert(_InputIterator __first, _InputIterator __last) 32020: { _M_h.insert(__first, __last); } 32020: # 1640 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: insert(initializer_list __l) 32020: { _M_h.insert(__l); } 32020: 32020: 32020: 32020: node_type 32020: extract(const_iterator __pos) 32020: { 32020: ; 32020: return _M_h.extract(__pos); 32020: } 32020: 32020: 32020: node_type 32020: extract(const key_type& __key) 32020: { return _M_h.extract(__key); } 32020: 32020: 32020: iterator 32020: insert(node_type&& __nh) 32020: { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); } 32020: 32020: 32020: iterator 32020: insert(const_iterator __hint, node_type&& __nh) 32020: { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); } 32020: # 1683 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: erase(const_iterator __position) 32020: { return _M_h.erase(__position); } 32020: 32020: 32020: iterator 32020: erase(iterator __position) 32020: { return _M_h.erase(__position); } 32020: # 1704 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: size_type 32020: erase(const key_type& __x) 32020: { return _M_h.erase(__x); } 32020: # 1723 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: erase(const_iterator __first, const_iterator __last) 32020: { return _M_h.erase(__first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_h.clear(); } 32020: # 1747 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: swap(unordered_multimap& __x) 32020: noexcept( noexcept(_M_h.swap(__x._M_h)) ) 32020: { _M_h.swap(__x._M_h); } 32020: 32020: 32020: template 32020: friend class std::_Hash_merge_helper; 32020: 32020: template 32020: void 32020: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source) 32020: { 32020: using _Merge_helper 32020: = _Hash_merge_helper; 32020: _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 32020: { merge(__source); } 32020: 32020: template 32020: void 32020: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source) 32020: { 32020: using _Merge_helper 32020: = _Hash_merge_helper; 32020: _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 32020: { merge(__source); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: hasher 32020: hash_function() const 32020: { return _M_h.hash_function(); } 32020: 32020: 32020: 32020: key_equal 32020: key_eq() const 32020: { return _M_h.key_eq(); } 32020: # 1813 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: iterator 32020: find(const key_type& __x) 32020: { return _M_h.find(__x); } 32020: 32020: const_iterator 32020: find(const key_type& __x) const 32020: { return _M_h.find(__x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: count(const key_type& __x) const 32020: { return _M_h.count(__x); } 32020: # 1849 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: std::pair 32020: equal_range(const key_type& __x) 32020: { return _M_h.equal_range(__x); } 32020: 32020: std::pair 32020: equal_range(const key_type& __x) const 32020: { return _M_h.equal_range(__x); } 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket_count() const noexcept 32020: { return _M_h.bucket_count(); } 32020: 32020: 32020: size_type 32020: max_bucket_count() const noexcept 32020: { return _M_h.max_bucket_count(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket_size(size_type __n) const 32020: { return _M_h.bucket_size(__n); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: bucket(const key_type& __key) const 32020: { return _M_h.bucket(__key); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: local_iterator 32020: begin(size_type __n) 32020: { return _M_h.begin(__n); } 32020: # 1905 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: const_local_iterator 32020: begin(size_type __n) const 32020: { return _M_h.begin(__n); } 32020: 32020: const_local_iterator 32020: cbegin(size_type __n) const 32020: { return _M_h.cbegin(__n); } 32020: # 1920 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: local_iterator 32020: end(size_type __n) 32020: { return _M_h.end(__n); } 32020: # 1931 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: const_local_iterator 32020: end(size_type __n) const 32020: { return _M_h.end(__n); } 32020: 32020: const_local_iterator 32020: cend(size_type __n) const 32020: { return _M_h.cend(__n); } 32020: 32020: 32020: 32020: 32020: 32020: float 32020: load_factor() const noexcept 32020: { return _M_h.load_factor(); } 32020: 32020: 32020: 32020: float 32020: max_load_factor() const noexcept 32020: { return _M_h.max_load_factor(); } 32020: 32020: 32020: 32020: 32020: 32020: void 32020: max_load_factor(float __z) 32020: { _M_h.max_load_factor(__z); } 32020: # 1968 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: rehash(size_type __n) 32020: { _M_h.rehash(__n); } 32020: # 1979 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unordered_map.h" 3 32020: void 32020: reserve(size_type __n) 32020: { _M_h.reserve(__n); } 32020: 32020: template 32020: friend bool 32020: operator==(const unordered_multimap<_Key1, _Tp1, 32020: _Hash1, _Pred1, _Alloc1>&, 32020: const unordered_multimap<_Key1, _Tp1, 32020: _Hash1, _Pred1, _Alloc1>&); 32020: }; 32020: 32020: 32020: 32020: template>, 32020: typename _Pred = equal_to<__iter_key_t<_InputIterator>>, 32020: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireNotAllocatorOrIntegral<_Hash>, 32020: typename = _RequireNotAllocator<_Pred>, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_multimap(_InputIterator, _InputIterator, 32020: unordered_multimap::size_type = {}, 32020: _Hash = _Hash(), _Pred = _Pred(), 32020: _Allocator = _Allocator()) 32020: -> unordered_multimap<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, _Hash, _Pred, 32020: _Allocator>; 32020: 32020: template, 32020: typename _Pred = equal_to<_Key>, 32020: typename _Allocator = allocator>, 32020: typename = _RequireNotAllocatorOrIntegral<_Hash>, 32020: typename = _RequireNotAllocator<_Pred>, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_multimap(initializer_list>, 32020: unordered_multimap::size_type = {}, 32020: _Hash = _Hash(), _Pred = _Pred(), 32020: _Allocator = _Allocator()) 32020: -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_multimap(_InputIterator, _InputIterator, 32020: unordered_multimap::size_type, _Allocator) 32020: -> unordered_multimap<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, 32020: hash<__iter_key_t<_InputIterator>>, 32020: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_multimap(_InputIterator, _InputIterator, _Allocator) 32020: -> unordered_multimap<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, 32020: hash<__iter_key_t<_InputIterator>>, 32020: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 32020: 32020: template, 32020: typename = _RequireNotAllocatorOrIntegral<_Hash>, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_multimap(_InputIterator, _InputIterator, 32020: unordered_multimap::size_type, _Hash, 32020: _Allocator) 32020: -> unordered_multimap<__iter_key_t<_InputIterator>, 32020: __iter_val_t<_InputIterator>, _Hash, 32020: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 32020: 32020: template> 32020: unordered_multimap(initializer_list>, 32020: unordered_multimap::size_type, 32020: _Allocator) 32020: -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 32020: 32020: template> 32020: unordered_multimap(initializer_list>, _Allocator) 32020: -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: unordered_multimap(initializer_list>, 32020: unordered_multimap::size_type, 32020: _Hash, _Allocator) 32020: -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>; 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 32020: unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: template 32020: inline void 32020: swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 32020: unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: template 32020: inline bool 32020: operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 32020: const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 32020: { return __x._M_h._M_equal(__y._M_h); } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 32020: const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline bool 32020: operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 32020: const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 32020: { return __x._M_h._M_equal(__y._M_h); } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 32020: const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Hash_merge_helper< 32020: std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>, 32020: _Hash2, _Eq2> 32020: { 32020: private: 32020: template 32020: using unordered_map = std::unordered_map<_Tp...>; 32020: template 32020: using unordered_multimap = std::unordered_multimap<_Tp...>; 32020: 32020: friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>; 32020: 32020: static auto& 32020: _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 32020: { return __map._M_h; } 32020: 32020: static auto& 32020: _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 32020: { return __map._M_h; } 32020: }; 32020: 32020: 32020: template 32020: struct _Hash_merge_helper< 32020: std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>, 32020: _Hash2, _Eq2> 32020: { 32020: private: 32020: template 32020: using unordered_map = std::unordered_map<_Tp...>; 32020: template 32020: using unordered_multimap = std::unordered_multimap<_Tp...>; 32020: 32020: friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>; 32020: 32020: static auto& 32020: _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 32020: { return __map._M_h; } 32020: 32020: static auto& 32020: _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 32020: { return __map._M_h; } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 48 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/erase_if.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/erase_if.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/erase_if.h" 3 32020: 32020: 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __detail 32020: { 32020: template 32020: typename _Container::size_type 32020: __erase_nodes_if(_Container& __cont, _Predicate __pred) 32020: { 32020: typename _Container::size_type __num = 0; 32020: for (auto __iter = __cont.begin(), __last = __cont.end(); 32020: __iter != __last;) 32020: { 32020: if (__pred(*__iter)) 32020: { 32020: __iter = __cont.erase(__iter); 32020: ++__num; 32020: } 32020: else 32020: ++__iter; 32020: } 32020: return __num; 32020: } 32020: } 32020: 32020: 32020: } 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/unordered_map" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace pmr 32020: { 32020: template class polymorphic_allocator; 32020: template, 32020: typename _Pred = std::equal_to<_Key>> 32020: using unordered_map 32020: = std::unordered_map<_Key, _Tp, _Hash, _Pred, 32020: polymorphic_allocator>>; 32020: template, 32020: typename _Pred = std::equal_to<_Key>> 32020: using unordered_multimap 32020: = std::unordered_multimap<_Key, _Tp, _Hash, _Pred, 32020: polymorphic_allocator>>; 32020: } 32020: 32020: } 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 1 3 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 3 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 1 3 32020: # 69 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __uninitialized_copy 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_copy(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result) 32020: { 32020: _ForwardIterator __cur = __result; 32020: try 32020: { 32020: for (; __first != __last; ++__first, (void)++__cur) 32020: std::_Construct(std::__addressof(*__cur), *__first); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_copy 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_copy(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result) 32020: { return std::copy(__first, __last, __result); } 32020: }; 32020: # 123 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline _ForwardIterator 32020: uninitialized_copy(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type 32020: _ValueType1; 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType2; 32020: 32020: 32020: 32020: 32020: 32020: static_assert(is_constructible<_ValueType2, decltype(*__first)>::value, 32020: "result type must be constructible from value type of input range"); 32020: 32020: typedef typename iterator_traits<_InputIterator>::reference _RefType1; 32020: typedef typename iterator_traits<_ForwardIterator>::reference _RefType2; 32020: 32020: 32020: const bool __assignable = is_assignable<_RefType2, _RefType1>::value; 32020: 32020: 32020: return std::__uninitialized_copy<__is_trivial(_ValueType1) 32020: && __is_trivial(_ValueType2) 32020: && __assignable>:: 32020: __uninit_copy(__first, __last, __result); 32020: } 32020: 32020: 32020: 32020: template 32020: struct __uninitialized_fill 32020: { 32020: template 32020: static void 32020: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __x) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: for (; __cur != __last; ++__cur) 32020: std::_Construct(std::__addressof(*__cur), __x); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_fill 32020: { 32020: template 32020: static void 32020: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __x) 32020: { std::fill(__first, __last, __x); } 32020: }; 32020: # 198 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline void 32020: uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __x) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: 32020: 32020: 32020: 32020: static_assert(is_constructible<_ValueType, const _Tp&>::value, 32020: "result type must be constructible from input type"); 32020: 32020: 32020: 32020: const bool __assignable = is_copy_assignable<_ValueType>::value; 32020: 32020: 32020: std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>:: 32020: __uninit_fill(__first, __last, __x); 32020: } 32020: 32020: 32020: 32020: template 32020: struct __uninitialized_fill_n 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_fill_n(_ForwardIterator __first, _Size __n, 32020: const _Tp& __x) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: for (; __n > 0; --__n, (void) ++__cur) 32020: std::_Construct(std::__addressof(*__cur), __x); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_fill_n 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_fill_n(_ForwardIterator __first, _Size __n, 32020: const _Tp& __x) 32020: { return std::fill_n(__first, __n, __x); } 32020: }; 32020: # 270 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline _ForwardIterator 32020: uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: 32020: 32020: 32020: 32020: static_assert(is_constructible<_ValueType, const _Tp&>::value, 32020: "result type must be constructible from input type"); 32020: 32020: 32020: 32020: const bool __assignable = is_copy_assignable<_ValueType>::value; 32020: 32020: return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: 32020: __uninit_fill_n(__first, __n, __x); 32020: } 32020: # 300 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: _ForwardIterator 32020: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result, _Allocator& __alloc) 32020: { 32020: _ForwardIterator __cur = __result; 32020: try 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 32020: for (; __first != __last; ++__first, (void)++__cur) 32020: __traits::construct(__alloc, std::__addressof(*__cur), *__first); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __cur, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result, allocator<_Tp>&) 32020: { return std::uninitialized_copy(__first, __last, __result); } 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_move_a(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result, _Allocator& __alloc) 32020: { 32020: return std::__uninitialized_copy_a(std::make_move_iterator(__first), 32020: std::make_move_iterator(__last), 32020: __result, __alloc); 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_move_if_noexcept_a(_InputIterator __first, 32020: _InputIterator __last, 32020: _ForwardIterator __result, 32020: _Allocator& __alloc) 32020: { 32020: return std::__uninitialized_copy_a 32020: (std::__make_move_if_noexcept_iterator(__first), 32020: std::__make_move_if_noexcept_iterator(__last), __result, __alloc); 32020: } 32020: 32020: template 32020: void 32020: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __x, _Allocator& __alloc) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 32020: for (; __cur != __last; ++__cur) 32020: __traits::construct(__alloc, std::__addressof(*__cur), __x); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline void 32020: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 32020: const _Tp& __x, allocator<_Tp2>&) 32020: { std::uninitialized_fill(__first, __last, __x); } 32020: 32020: template 32020: _ForwardIterator 32020: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 32020: const _Tp& __x, _Allocator& __alloc) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 32020: for (; __n > 0; --__n, (void) ++__cur) 32020: __traits::construct(__alloc, std::__addressof(*__cur), __x); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 32020: const _Tp& __x, allocator<_Tp2>&) 32020: { return std::uninitialized_fill_n(__first, __n, __x); } 32020: # 414 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_copy_move(_InputIterator1 __first1, 32020: _InputIterator1 __last1, 32020: _InputIterator2 __first2, 32020: _InputIterator2 __last2, 32020: _ForwardIterator __result, 32020: _Allocator& __alloc) 32020: { 32020: _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, 32020: __result, 32020: __alloc); 32020: try 32020: { 32020: return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __mid, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_move_copy(_InputIterator1 __first1, 32020: _InputIterator1 __last1, 32020: _InputIterator2 __first2, 32020: _InputIterator2 __last2, 32020: _ForwardIterator __result, 32020: _Allocator& __alloc) 32020: { 32020: _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, 32020: __result, 32020: __alloc); 32020: try 32020: { 32020: return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __mid, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, 32020: const _Tp& __x, _InputIterator __first, 32020: _InputIterator __last, _Allocator& __alloc) 32020: { 32020: std::__uninitialized_fill_a(__result, __mid, __x, __alloc); 32020: try 32020: { 32020: return std::__uninitialized_move_a(__first, __last, __mid, __alloc); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __mid, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, 32020: _ForwardIterator __first2, 32020: _ForwardIterator __last2, const _Tp& __x, 32020: _Allocator& __alloc) 32020: { 32020: _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, 32020: __first2, 32020: __alloc); 32020: try 32020: { 32020: std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first2, __mid2, __alloc); 32020: throw; 32020: } 32020: } 32020: # 521 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: struct __uninitialized_default_1 32020: { 32020: template 32020: static void 32020: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: for (; __cur != __last; ++__cur) 32020: std::_Construct(std::__addressof(*__cur)); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_default_1 32020: { 32020: template 32020: static void 32020: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: std::fill(__first, __last, _ValueType()); 32020: } 32020: }; 32020: 32020: template 32020: struct __uninitialized_default_n_1 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_default_n(_ForwardIterator __first, _Size __n) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: for (; __n > 0; --__n, (void) ++__cur) 32020: std::_Construct(std::__addressof(*__cur)); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_default_n_1 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_default_n(_ForwardIterator __first, _Size __n) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: return std::fill_n(__first, __n, _ValueType()); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: __uninitialized_default(_ForwardIterator __first, 32020: _ForwardIterator __last) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: const bool __assignable = is_copy_assignable<_ValueType>::value; 32020: 32020: std::__uninitialized_default_1<__is_trivial(_ValueType) 32020: && __assignable>:: 32020: __uninit_default(__first, __last); 32020: } 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_default_n(_ForwardIterator __first, _Size __n) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: const bool __assignable = is_copy_assignable<_ValueType>::value; 32020: 32020: return __uninitialized_default_n_1<__is_trivial(_ValueType) 32020: && __assignable>:: 32020: __uninit_default_n(__first, __n); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: __uninitialized_default_a(_ForwardIterator __first, 32020: _ForwardIterator __last, 32020: _Allocator& __alloc) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 32020: for (; __cur != __last; ++__cur) 32020: __traits::construct(__alloc, std::__addressof(*__cur)); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline void 32020: __uninitialized_default_a(_ForwardIterator __first, 32020: _ForwardIterator __last, 32020: allocator<_Tp>&) 32020: { std::__uninitialized_default(__first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: _ForwardIterator 32020: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 32020: _Allocator& __alloc) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 32020: for (; __n > 0; --__n, (void) ++__cur) 32020: __traits::construct(__alloc, std::__addressof(*__cur)); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur, __alloc); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 32020: allocator<_Tp>&) 32020: { return std::__uninitialized_default_n(__first, __n); } 32020: 32020: template 32020: struct __uninitialized_default_novalue_1 32020: { 32020: template 32020: static void 32020: __uninit_default_novalue(_ForwardIterator __first, 32020: _ForwardIterator __last) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: for (; __cur != __last; ++__cur) 32020: std::_Construct_novalue(std::__addressof(*__cur)); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_default_novalue_1 32020: { 32020: template 32020: static void 32020: __uninit_default_novalue(_ForwardIterator __first, 32020: _ForwardIterator __last) 32020: { 32020: } 32020: }; 32020: 32020: template 32020: struct __uninitialized_default_novalue_n_1 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 32020: { 32020: _ForwardIterator __cur = __first; 32020: try 32020: { 32020: for (; __n > 0; --__n, (void) ++__cur) 32020: std::_Construct_novalue(std::__addressof(*__cur)); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__first, __cur); 32020: throw; 32020: } 32020: } 32020: }; 32020: 32020: template<> 32020: struct __uninitialized_default_novalue_n_1 32020: { 32020: template 32020: static _ForwardIterator 32020: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 32020: { return std::next(__first, __n); } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: __uninitialized_default_novalue(_ForwardIterator __first, 32020: _ForwardIterator __last) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: std::__uninitialized_default_novalue_1< 32020: is_trivially_default_constructible<_ValueType>::value>:: 32020: __uninit_default_novalue(__first, __last); 32020: } 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) 32020: { 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType; 32020: 32020: return __uninitialized_default_novalue_n_1< 32020: is_trivially_default_constructible<_ValueType>::value>:: 32020: __uninit_default_novalue_n(__first, __n); 32020: } 32020: 32020: template 32020: _ForwardIterator 32020: __uninitialized_copy_n(_InputIterator __first, _Size __n, 32020: _ForwardIterator __result, input_iterator_tag) 32020: { 32020: _ForwardIterator __cur = __result; 32020: try 32020: { 32020: for (; __n > 0; --__n, (void) ++__first, ++__cur) 32020: std::_Construct(std::__addressof(*__cur), *__first); 32020: return __cur; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __cur); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, 32020: _ForwardIterator __result, 32020: random_access_iterator_tag) 32020: { return std::uninitialized_copy(__first, __first + __n, __result); } 32020: 32020: template 32020: pair<_InputIterator, _ForwardIterator> 32020: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 32020: _ForwardIterator __result, input_iterator_tag) 32020: { 32020: _ForwardIterator __cur = __result; 32020: try 32020: { 32020: for (; __n > 0; --__n, (void) ++__first, ++__cur) 32020: std::_Construct(std::__addressof(*__cur), *__first); 32020: return {__first, __cur}; 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__result, __cur); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: inline pair<_RandomAccessIterator, _ForwardIterator> 32020: __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n, 32020: _ForwardIterator __result, 32020: random_access_iterator_tag) 32020: { 32020: auto __second_res = uninitialized_copy(__first, __first + __n, __result); 32020: auto __first_res = std::next(__first, __n); 32020: return {__first_res, __second_res}; 32020: } 32020: # 852 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline _ForwardIterator 32020: uninitialized_copy_n(_InputIterator __first, _Size __n, 32020: _ForwardIterator __result) 32020: { return std::__uninitialized_copy_n(__first, __n, __result, 32020: std::__iterator_category(__first)); } 32020: 32020: 32020: template 32020: inline pair<_InputIterator, _ForwardIterator> 32020: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 32020: _ForwardIterator __result) 32020: { 32020: return 32020: std::__uninitialized_copy_n_pair(__first, __n, __result, 32020: std::__iterator_category(__first)); 32020: } 32020: # 880 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline void 32020: uninitialized_default_construct(_ForwardIterator __first, 32020: _ForwardIterator __last) 32020: { 32020: __uninitialized_default_novalue(__first, __last); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: uninitialized_default_construct_n(_ForwardIterator __first, _Size __count) 32020: { 32020: return __uninitialized_default_novalue_n(__first, __count); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: uninitialized_value_construct(_ForwardIterator __first, 32020: _ForwardIterator __last) 32020: { 32020: return __uninitialized_default(__first, __last); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline _ForwardIterator 32020: uninitialized_value_construct_n(_ForwardIterator __first, _Size __count) 32020: { 32020: return __uninitialized_default_n(__first, __count); 32020: } 32020: # 934 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline _ForwardIterator 32020: uninitialized_move(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result) 32020: { 32020: return std::uninitialized_copy 32020: (std::make_move_iterator(__first), 32020: std::make_move_iterator(__last), __result); 32020: } 32020: # 951 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_uninitialized.h" 3 32020: template 32020: inline pair<_InputIterator, _ForwardIterator> 32020: uninitialized_move_n(_InputIterator __first, _Size __count, 32020: _ForwardIterator __result) 32020: { 32020: auto __res = std::__uninitialized_copy_n_pair 32020: (std::make_move_iterator(__first), 32020: __count, __result); 32020: return {__res.first.base(), __res.second}; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig, 32020: _Allocator& __alloc) 32020: noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc, 32020: __dest, std::move(*__orig))) 32020: && noexcept(std::allocator_traits<_Allocator>::destroy( 32020: __alloc, std::__addressof(*__orig)))) 32020: { 32020: typedef std::allocator_traits<_Allocator> __traits; 32020: __traits::construct(__alloc, __dest, std::move(*__orig)); 32020: __traits::destroy(__alloc, std::__addressof(*__orig)); 32020: } 32020: 32020: 32020: 32020: template 32020: struct __is_bitwise_relocatable 32020: : is_trivial<_Tp> { }; 32020: 32020: template 32020: inline __enable_if_t::value, _Tp*> 32020: __relocate_a_1(_Tp* __first, _Tp* __last, 32020: _Tp* __result, allocator<_Up>&) noexcept 32020: { 32020: ptrdiff_t __count = __last - __first; 32020: if (__count > 0) 32020: __builtin_memmove(__result, __first, __count * sizeof(_Tp)); 32020: return __result + __count; 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __relocate_a_1(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result, _Allocator& __alloc) 32020: noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result), 32020: std::addressof(*__first), 32020: __alloc))) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type 32020: _ValueType; 32020: typedef typename iterator_traits<_ForwardIterator>::value_type 32020: _ValueType2; 32020: static_assert(std::is_same<_ValueType, _ValueType2>::value, 32020: "relocation is only possible for values of the same type"); 32020: _ForwardIterator __cur = __result; 32020: for (; __first != __last; ++__first, (void)++__cur) 32020: std::__relocate_object_a(std::__addressof(*__cur), 32020: std::__addressof(*__first), __alloc); 32020: return __cur; 32020: } 32020: 32020: template 32020: inline _ForwardIterator 32020: __relocate_a(_InputIterator __first, _InputIterator __last, 32020: _ForwardIterator __result, _Allocator& __alloc) 32020: noexcept(noexcept(__relocate_a_1(std::__niter_base(__first), 32020: std::__niter_base(__last), 32020: std::__niter_base(__result), __alloc))) 32020: { 32020: return __relocate_a_1(std::__niter_base(__first), 32020: std::__niter_base(__last), 32020: std::__niter_base(__result), __alloc); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 1 3 32020: # 77 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: struct _Vector_base 32020: { 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_Tp>::other _Tp_alloc_type; 32020: typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer 32020: pointer; 32020: 32020: struct _Vector_impl_data 32020: { 32020: pointer _M_start; 32020: pointer _M_finish; 32020: pointer _M_end_of_storage; 32020: 32020: _Vector_impl_data() noexcept 32020: : _M_start(), _M_finish(), _M_end_of_storage() 32020: { } 32020: 32020: 32020: _Vector_impl_data(_Vector_impl_data&& __x) noexcept 32020: : _M_start(__x._M_start), _M_finish(__x._M_finish), 32020: _M_end_of_storage(__x._M_end_of_storage) 32020: { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); } 32020: 32020: 32020: void 32020: _M_copy_data(_Vector_impl_data const& __x) noexcept 32020: { 32020: _M_start = __x._M_start; 32020: _M_finish = __x._M_finish; 32020: _M_end_of_storage = __x._M_end_of_storage; 32020: } 32020: 32020: void 32020: _M_swap_data(_Vector_impl_data& __x) noexcept 32020: { 32020: 32020: 32020: _Vector_impl_data __tmp; 32020: __tmp._M_copy_data(*this); 32020: _M_copy_data(__x); 32020: __x._M_copy_data(__tmp); 32020: } 32020: }; 32020: 32020: struct _Vector_impl 32020: : public _Tp_alloc_type, public _Vector_impl_data 32020: { 32020: _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value) 32020: 32020: : _Tp_alloc_type() 32020: { } 32020: 32020: _Vector_impl(_Tp_alloc_type const& __a) noexcept 32020: : _Tp_alloc_type(__a) 32020: { } 32020: 32020: 32020: 32020: 32020: _Vector_impl(_Vector_impl&& __x) noexcept 32020: : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x)) 32020: { } 32020: 32020: _Vector_impl(_Tp_alloc_type&& __a) noexcept 32020: : _Tp_alloc_type(std::move(__a)) 32020: { } 32020: 32020: _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept 32020: : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv)) 32020: { } 32020: # 270 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: }; 32020: 32020: public: 32020: typedef _Alloc allocator_type; 32020: 32020: _Tp_alloc_type& 32020: _M_get_Tp_allocator() noexcept 32020: { return this->_M_impl; } 32020: 32020: const _Tp_alloc_type& 32020: _M_get_Tp_allocator() const noexcept 32020: { return this->_M_impl; } 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_M_get_Tp_allocator()); } 32020: 32020: 32020: _Vector_base() = default; 32020: 32020: 32020: 32020: 32020: _Vector_base(const allocator_type& __a) noexcept 32020: : _M_impl(__a) { } 32020: 32020: 32020: 32020: _Vector_base(size_t __n) 32020: : _M_impl() 32020: { _M_create_storage(__n); } 32020: 32020: 32020: _Vector_base(size_t __n, const allocator_type& __a) 32020: : _M_impl(__a) 32020: { _M_create_storage(__n); } 32020: 32020: 32020: _Vector_base(_Vector_base&&) = default; 32020: 32020: 32020: 32020: _Vector_base(_Tp_alloc_type&& __a) noexcept 32020: : _M_impl(std::move(__a)) { } 32020: 32020: _Vector_base(_Vector_base&& __x, const allocator_type& __a) 32020: : _M_impl(__a) 32020: { 32020: if (__x.get_allocator() == __a) 32020: this->_M_impl._M_swap_data(__x._M_impl); 32020: else 32020: { 32020: size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; 32020: _M_create_storage(__n); 32020: } 32020: } 32020: 32020: 32020: _Vector_base(const allocator_type& __a, _Vector_base&& __x) 32020: : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl)) 32020: { } 32020: 32020: 32020: ~_Vector_base() noexcept 32020: { 32020: _M_deallocate(_M_impl._M_start, 32020: _M_impl._M_end_of_storage - _M_impl._M_start); 32020: } 32020: 32020: public: 32020: _Vector_impl _M_impl; 32020: 32020: pointer 32020: _M_allocate(size_t __n) 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 32020: return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); 32020: } 32020: 32020: void 32020: _M_deallocate(pointer __p, size_t __n) 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 32020: if (__p) 32020: _Tr::deallocate(_M_impl, __p, __n); 32020: } 32020: 32020: protected: 32020: void 32020: _M_create_storage(size_t __n) 32020: { 32020: this->_M_impl._M_start = this->_M_allocate(__n); 32020: this->_M_impl._M_finish = this->_M_impl._M_start; 32020: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 32020: } 32020: }; 32020: # 388 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template > 32020: class vector : protected _Vector_base<_Tp, _Alloc> 32020: { 32020: # 401 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: static_assert(is_same::type, _Tp>::value, 32020: "std::vector must have a non-const, non-volatile value_type"); 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef _Vector_base<_Tp, _Alloc> _Base; 32020: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; 32020: 32020: public: 32020: typedef _Tp value_type; 32020: typedef typename _Base::pointer pointer; 32020: typedef typename _Alloc_traits::const_pointer const_pointer; 32020: typedef typename _Alloc_traits::reference reference; 32020: typedef typename _Alloc_traits::const_reference const_reference; 32020: typedef __gnu_cxx::__normal_iterator iterator; 32020: typedef __gnu_cxx::__normal_iterator 32020: const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Alloc allocator_type; 32020: 32020: private: 32020: 32020: static constexpr bool 32020: _S_nothrow_relocate(true_type) 32020: { 32020: return noexcept(std::__relocate_a(std::declval(), 32020: std::declval(), 32020: std::declval(), 32020: std::declval<_Tp_alloc_type&>())); 32020: } 32020: 32020: static constexpr bool 32020: _S_nothrow_relocate(false_type) 32020: { return false; } 32020: 32020: static constexpr bool 32020: _S_use_relocate() 32020: { 32020: 32020: 32020: 32020: return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{}); 32020: } 32020: 32020: static pointer 32020: _S_do_relocate(pointer __first, pointer __last, pointer __result, 32020: _Tp_alloc_type& __alloc, true_type) noexcept 32020: { 32020: return std::__relocate_a(__first, __last, __result, __alloc); 32020: } 32020: 32020: static pointer 32020: _S_do_relocate(pointer, pointer, pointer __result, 32020: _Tp_alloc_type&, false_type) noexcept 32020: { return __result; } 32020: 32020: static pointer 32020: _S_relocate(pointer __first, pointer __last, pointer __result, 32020: _Tp_alloc_type& __alloc) noexcept 32020: { 32020: using __do_it = __bool_constant<_S_use_relocate()>; 32020: return _S_do_relocate(__first, __last, __result, __alloc, __do_it{}); 32020: } 32020: 32020: 32020: protected: 32020: using _Base::_M_allocate; 32020: using _Base::_M_deallocate; 32020: using _Base::_M_impl; 32020: using _Base::_M_get_Tp_allocator; 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: vector() = default; 32020: # 496 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: explicit 32020: vector(const allocator_type& __a) noexcept 32020: : _Base(__a) { } 32020: # 509 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: explicit 32020: vector(size_type __n, const allocator_type& __a = allocator_type()) 32020: : _Base(_S_check_init_len(__n, __a), __a) 32020: { _M_default_initialize(__n); } 32020: # 522 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector(size_type __n, const value_type& __value, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(_S_check_init_len(__n, __a), __a) 32020: { _M_fill_initialize(__n, __value); } 32020: # 553 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector(const vector& __x) 32020: : _Base(__x.size(), 32020: _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) 32020: { 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_copy_a(__x.begin(), __x.end(), 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); 32020: } 32020: # 572 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector(vector&&) noexcept = default; 32020: 32020: 32020: vector(const vector& __x, const allocator_type& __a) 32020: : _Base(__x.size(), __a) 32020: { 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_copy_a(__x.begin(), __x.end(), 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); 32020: } 32020: 32020: private: 32020: vector(vector&& __rv, const allocator_type& __m, true_type) noexcept 32020: : _Base(__m, std::move(__rv)) 32020: { } 32020: 32020: vector(vector&& __rv, const allocator_type& __m, false_type) 32020: : _Base(__m) 32020: { 32020: if (__rv.get_allocator() == __m) 32020: this->_M_impl._M_swap_data(__rv._M_impl); 32020: else if (!__rv.empty()) 32020: { 32020: this->_M_create_storage(__rv.size()); 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_move_a(__rv.begin(), __rv.end(), 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); 32020: __rv.clear(); 32020: } 32020: } 32020: 32020: public: 32020: 32020: vector(vector&& __rv, const allocator_type& __m) 32020: noexcept( noexcept( 32020: vector(std::declval(), std::declval(), 32020: std::declval())) ) 32020: : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{}) 32020: { } 32020: # 625 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector(initializer_list __l, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a) 32020: { 32020: _M_range_initialize(__l.begin(), __l.end(), 32020: random_access_iterator_tag()); 32020: } 32020: # 651 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template> 32020: vector(_InputIterator __first, _InputIterator __last, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a) 32020: { 32020: _M_range_initialize(__first, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: # 678 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: ~vector() noexcept 32020: { 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: ; 32020: } 32020: # 694 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector& 32020: operator=(const vector& __x); 32020: # 708 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector& 32020: operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) 32020: { 32020: constexpr bool __move_storage = 32020: _Alloc_traits::_S_propagate_on_move_assign() 32020: || _Alloc_traits::_S_always_equal(); 32020: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 32020: return *this; 32020: } 32020: # 729 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: vector& 32020: operator=(initializer_list __l) 32020: { 32020: this->_M_assign_aux(__l.begin(), __l.end(), 32020: random_access_iterator_tag()); 32020: return *this; 32020: } 32020: # 748 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: assign(size_type __n, const value_type& __val) 32020: { _M_fill_assign(__n, __val); } 32020: # 765 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template> 32020: void 32020: assign(_InputIterator __first, _InputIterator __last) 32020: { _M_assign_dispatch(__first, __last, __false_type()); } 32020: # 793 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: assign(initializer_list __l) 32020: { 32020: this->_M_assign_aux(__l.begin(), __l.end(), 32020: random_access_iterator_tag()); 32020: } 32020: 32020: 32020: 32020: using _Base::get_allocator; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return iterator(this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return const_iterator(this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return iterator(this->_M_impl._M_finish); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return const_iterator(this->_M_impl._M_finish); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return const_iterator(this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return const_iterator(this->_M_impl._M_finish); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _S_max_size(_M_get_Tp_allocator()); } 32020: # 936 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: resize(size_type __new_size) 32020: { 32020: if (__new_size > size()) 32020: _M_default_append(__new_size - size()); 32020: else if (__new_size < size()) 32020: _M_erase_at_end(this->_M_impl._M_start + __new_size); 32020: } 32020: # 956 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: resize(size_type __new_size, const value_type& __x) 32020: { 32020: if (__new_size > size()) 32020: _M_fill_insert(end(), __new_size - size(), __x); 32020: else if (__new_size < size()) 32020: _M_erase_at_end(this->_M_impl._M_start + __new_size); 32020: } 32020: # 988 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: shrink_to_fit() 32020: { _M_shrink_to_fit(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: size_type 32020: capacity() const noexcept 32020: { return size_type(this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return begin() == end(); } 32020: # 1027 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: reserve(size_type __n); 32020: # 1042 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: reference 32020: operator[](size_type __n) noexcept 32020: { 32020: ; 32020: return *(this->_M_impl._M_start + __n); 32020: } 32020: # 1060 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: const_reference 32020: operator[](size_type __n) const noexcept 32020: { 32020: ; 32020: return *(this->_M_impl._M_start + __n); 32020: } 32020: 32020: protected: 32020: 32020: void 32020: _M_range_check(size_type __n) const 32020: { 32020: if (__n >= this->size()) 32020: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 32020: 32020: , 32020: __n, this->size()); 32020: } 32020: 32020: public: 32020: # 1091 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: reference 32020: at(size_type __n) 32020: { 32020: _M_range_check(__n); 32020: return (*this)[__n]; 32020: } 32020: # 1109 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: const_reference 32020: at(size_type __n) const 32020: { 32020: _M_range_check(__n); 32020: return (*this)[__n]; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: front() noexcept 32020: { 32020: ; 32020: return *begin(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: front() const noexcept 32020: { 32020: ; 32020: return *begin(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: back() noexcept 32020: { 32020: ; 32020: return *(end() - 1); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: back() const noexcept 32020: { 32020: ; 32020: return *(end() - 1); 32020: } 32020: # 1167 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: _Tp* 32020: data() noexcept 32020: { return _M_data_ptr(this->_M_impl._M_start); } 32020: 32020: const _Tp* 32020: data() const noexcept 32020: { return _M_data_ptr(this->_M_impl._M_start); } 32020: # 1186 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: push_back(const value_type& __x) 32020: { 32020: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 32020: { 32020: ; 32020: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 32020: __x); 32020: ++this->_M_impl._M_finish; 32020: ; 32020: } 32020: else 32020: _M_realloc_insert(end(), __x); 32020: } 32020: 32020: 32020: void 32020: push_back(value_type&& __x) 32020: { emplace_back(std::move(__x)); } 32020: 32020: template 32020: 32020: reference 32020: 32020: 32020: 32020: emplace_back(_Args&&... __args); 32020: # 1224 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: pop_back() noexcept 32020: { 32020: ; 32020: --this->_M_impl._M_finish; 32020: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 32020: ; 32020: } 32020: # 1246 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template 32020: iterator 32020: emplace(const_iterator __position, _Args&&... __args) 32020: { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); } 32020: # 1262 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: iterator 32020: insert(const_iterator __position, const value_type& __x); 32020: # 1292 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: iterator 32020: insert(const_iterator __position, value_type&& __x) 32020: { return _M_insert_rval(__position, std::move(__x)); } 32020: # 1309 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: iterator 32020: insert(const_iterator __position, initializer_list __l) 32020: { 32020: auto __offset = __position - cbegin(); 32020: _M_range_insert(begin() + __offset, __l.begin(), __l.end(), 32020: std::random_access_iterator_tag()); 32020: return begin() + __offset; 32020: } 32020: # 1334 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: iterator 32020: insert(const_iterator __position, size_type __n, const value_type& __x) 32020: { 32020: difference_type __offset = __position - cbegin(); 32020: _M_fill_insert(begin() + __offset, __n, __x); 32020: return begin() + __offset; 32020: } 32020: # 1376 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template> 32020: iterator 32020: insert(const_iterator __position, _InputIterator __first, 32020: _InputIterator __last) 32020: { 32020: difference_type __offset = __position - cbegin(); 32020: _M_insert_dispatch(begin() + __offset, 32020: __first, __last, __false_type()); 32020: return begin() + __offset; 32020: } 32020: # 1428 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: iterator 32020: 32020: erase(const_iterator __position) 32020: { return _M_erase(begin() + (__position - cbegin())); } 32020: # 1455 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: iterator 32020: 32020: erase(const_iterator __first, const_iterator __last) 32020: { 32020: const auto __beg = begin(); 32020: const auto __cbeg = cbegin(); 32020: return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); 32020: } 32020: # 1479 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: void 32020: swap(vector& __x) noexcept 32020: { 32020: 32020: 32020: ; 32020: 32020: this->_M_impl._M_swap_data(__x._M_impl); 32020: _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), 32020: __x._M_get_Tp_allocator()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_erase_at_end(this->_M_impl._M_start); } 32020: 32020: protected: 32020: 32020: 32020: 32020: 32020: template 32020: pointer 32020: _M_allocate_and_copy(size_type __n, 32020: _ForwardIterator __first, _ForwardIterator __last) 32020: { 32020: pointer __result = this->_M_allocate(__n); 32020: try 32020: { 32020: std::__uninitialized_copy_a(__first, __last, __result, 32020: _M_get_Tp_allocator()); 32020: return __result; 32020: } 32020: catch(...) 32020: { 32020: _M_deallocate(__result, __n); 32020: throw; 32020: } 32020: } 32020: # 1556 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template 32020: void 32020: _M_range_initialize(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { 32020: try { 32020: for (; __first != __last; ++__first) 32020: 32020: emplace_back(*__first); 32020: 32020: 32020: 32020: } catch(...) { 32020: clear(); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: template 32020: void 32020: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __n = std::distance(__first, __last); 32020: this->_M_impl._M_start 32020: = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator())); 32020: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_copy_a(__first, __last, 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_fill_initialize(size_type __n, const value_type& __value) 32020: { 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, 32020: _M_get_Tp_allocator()); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_default_initialize(size_type __n) 32020: { 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, 32020: _M_get_Tp_allocator()); 32020: } 32020: # 1618 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template 32020: void 32020: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 32020: { _M_fill_assign(__n, __val); } 32020: 32020: 32020: template 32020: void 32020: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 32020: __false_type) 32020: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 32020: 32020: 32020: template 32020: void 32020: _M_assign_aux(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag); 32020: 32020: 32020: template 32020: void 32020: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag); 32020: 32020: 32020: 32020: void 32020: _M_fill_assign(size_type __n, const value_type& __val); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, 32020: __true_type) 32020: { _M_fill_insert(__pos, __n, __val); } 32020: 32020: 32020: template 32020: void 32020: _M_insert_dispatch(iterator __pos, _InputIterator __first, 32020: _InputIterator __last, __false_type) 32020: { 32020: _M_range_insert(__pos, __first, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: 32020: template 32020: void 32020: _M_range_insert(iterator __pos, _InputIterator __first, 32020: _InputIterator __last, std::input_iterator_tag); 32020: 32020: 32020: template 32020: void 32020: _M_range_insert(iterator __pos, _ForwardIterator __first, 32020: _ForwardIterator __last, std::forward_iterator_tag); 32020: 32020: 32020: 32020: void 32020: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); 32020: 32020: 32020: 32020: void 32020: _M_default_append(size_type __n); 32020: 32020: bool 32020: _M_shrink_to_fit(); 32020: # 1705 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: struct _Temporary_value 32020: { 32020: template 32020: explicit 32020: _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec) 32020: { 32020: _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: ~_Temporary_value() 32020: { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); } 32020: 32020: value_type& 32020: _M_val() { return *_M_ptr(); } 32020: 32020: private: 32020: _Tp* 32020: _M_ptr() { return reinterpret_cast<_Tp*>(&__buf); } 32020: 32020: vector* _M_this; 32020: typename aligned_storage::type __buf; 32020: }; 32020: 32020: 32020: 32020: template 32020: void 32020: _M_insert_aux(iterator __position, _Arg&& __arg); 32020: 32020: template 32020: void 32020: _M_realloc_insert(iterator __position, _Args&&... __args); 32020: 32020: 32020: iterator 32020: _M_insert_rval(const_iterator __position, value_type&& __v); 32020: 32020: 32020: template 32020: iterator 32020: _M_emplace_aux(const_iterator __position, _Args&&... __args); 32020: 32020: 32020: iterator 32020: _M_emplace_aux(const_iterator __position, value_type&& __v) 32020: { return _M_insert_rval(__position, std::move(__v)); } 32020: 32020: 32020: 32020: size_type 32020: _M_check_len(size_type __n, const char* __s) const 32020: { 32020: if (max_size() - size() < __n) 32020: __throw_length_error((__s)); 32020: 32020: const size_type __len = size() + (std::max)(size(), __n); 32020: return (__len < size() || __len > max_size()) ? max_size() : __len; 32020: } 32020: 32020: 32020: static size_type 32020: _S_check_init_len(size_type __n, const allocator_type& __a) 32020: { 32020: if (__n > _S_max_size(_Tp_alloc_type(__a))) 32020: __throw_length_error( 32020: ("cannot create std::vector larger than max_size()")); 32020: return __n; 32020: } 32020: 32020: static size_type 32020: _S_max_size(const _Tp_alloc_type& __a) noexcept 32020: { 32020: 32020: 32020: 32020: const size_t __diffmax 32020: = __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); 32020: const size_t __allocmax = _Alloc_traits::max_size(__a); 32020: return (std::min)(__diffmax, __allocmax); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: void 32020: _M_erase_at_end(pointer __pos) noexcept 32020: { 32020: if (size_type __n = this->_M_impl._M_finish - __pos) 32020: { 32020: std::_Destroy(__pos, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __pos; 32020: ; 32020: } 32020: } 32020: 32020: iterator 32020: _M_erase(iterator __position); 32020: 32020: iterator 32020: _M_erase(iterator __first, iterator __last); 32020: 32020: 32020: private: 32020: 32020: 32020: 32020: void 32020: _M_move_assign(vector&& __x, true_type) noexcept 32020: { 32020: vector __tmp(get_allocator()); 32020: this->_M_impl._M_swap_data(__x._M_impl); 32020: __tmp._M_impl._M_swap_data(__x._M_impl); 32020: std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_move_assign(vector&& __x, false_type) 32020: { 32020: if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) 32020: _M_move_assign(std::move(__x), true_type()); 32020: else 32020: { 32020: 32020: 32020: this->_M_assign_aux(std::make_move_iterator(__x.begin()), 32020: std::make_move_iterator(__x.end()), 32020: std::random_access_iterator_tag()); 32020: __x.clear(); 32020: } 32020: } 32020: 32020: 32020: template 32020: _Up* 32020: _M_data_ptr(_Up* __ptr) const noexcept 32020: { return __ptr; } 32020: 32020: 32020: template 32020: typename std::pointer_traits<_Ptr>::element_type* 32020: _M_data_ptr(_Ptr __ptr) const 32020: { return empty() ? nullptr : std::__to_address(__ptr); } 32020: # 1868 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: }; 32020: 32020: 32020: template::value_type, 32020: typename _Allocator = allocator<_ValT>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireAllocator<_Allocator>> 32020: vector(_InputIterator, _InputIterator, _Allocator = _Allocator()) 32020: -> vector<_ValT, _Allocator>; 32020: # 1890 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template 32020: inline bool 32020: operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 32020: { return (__x.size() == __y.size() 32020: && std::equal(__x.begin(), __x.end(), __y.begin())); } 32020: # 1928 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_vector.h" 3 32020: template 32020: inline bool 32020: operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 32020: { return std::lexicographical_compare(__x.begin(), __x.end(), 32020: __y.begin(), __y.end()); } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 32020: { return __y < __x; } 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: 32020: 32020: namespace __detail::__variant 32020: { 32020: template struct _Never_valueless_alt; 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt> 32020: : std::is_nothrow_move_assignable> 32020: { }; 32020: } 32020: 32020: 32020: 32020: } 32020: # 68 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 1 3 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: typedef unsigned long _Bit_type; 32020: enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; 32020: 32020: struct _Bit_reference 32020: { 32020: _Bit_type * _M_p; 32020: _Bit_type _M_mask; 32020: 32020: _Bit_reference(_Bit_type * __x, _Bit_type __y) 32020: : _M_p(__x), _M_mask(__y) { } 32020: 32020: _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } 32020: 32020: 32020: _Bit_reference(const _Bit_reference&) = default; 32020: 32020: 32020: operator bool() const noexcept 32020: { return !!(*_M_p & _M_mask); } 32020: 32020: _Bit_reference& 32020: operator=(bool __x) noexcept 32020: { 32020: if (__x) 32020: *_M_p |= _M_mask; 32020: else 32020: *_M_p &= ~_M_mask; 32020: return *this; 32020: } 32020: 32020: _Bit_reference& 32020: operator=(const _Bit_reference& __x) noexcept 32020: { return *this = bool(__x); } 32020: 32020: bool 32020: operator==(const _Bit_reference& __x) const 32020: { return bool(*this) == bool(__x); } 32020: 32020: bool 32020: operator<(const _Bit_reference& __x) const 32020: { return !bool(*this) && bool(__x); } 32020: 32020: void 32020: flip() noexcept 32020: { *_M_p ^= _M_mask; } 32020: }; 32020: 32020: 32020: inline void 32020: swap(_Bit_reference __x, _Bit_reference __y) noexcept 32020: { 32020: bool __tmp = __x; 32020: __x = __y; 32020: __y = __tmp; 32020: } 32020: 32020: inline void 32020: swap(_Bit_reference __x, bool& __y) noexcept 32020: { 32020: bool __tmp = __x; 32020: __x = __y; 32020: __y = __tmp; 32020: } 32020: 32020: inline void 32020: swap(bool& __x, _Bit_reference __y) noexcept 32020: { 32020: bool __tmp = __x; 32020: __x = __y; 32020: __y = __tmp; 32020: } 32020: 32020: 32020: struct _Bit_iterator_base 32020: : public std::iterator 32020: { 32020: _Bit_type * _M_p; 32020: unsigned int _M_offset; 32020: 32020: _Bit_iterator_base(_Bit_type * __x, unsigned int __y) 32020: : _M_p(__x), _M_offset(__y) { } 32020: 32020: void 32020: _M_bump_up() 32020: { 32020: if (_M_offset++ == int(_S_word_bit) - 1) 32020: { 32020: _M_offset = 0; 32020: ++_M_p; 32020: } 32020: } 32020: 32020: void 32020: _M_bump_down() 32020: { 32020: if (_M_offset-- == 0) 32020: { 32020: _M_offset = int(_S_word_bit) - 1; 32020: --_M_p; 32020: } 32020: } 32020: 32020: void 32020: _M_incr(ptrdiff_t __i) 32020: { 32020: difference_type __n = __i + _M_offset; 32020: _M_p += __n / int(_S_word_bit); 32020: __n = __n % int(_S_word_bit); 32020: if (__n < 0) 32020: { 32020: __n += int(_S_word_bit); 32020: --_M_p; 32020: } 32020: _M_offset = static_cast(__n); 32020: } 32020: 32020: friend bool 32020: operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; } 32020: # 199 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: friend bool 32020: operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { 32020: return __x._M_p < __y._M_p 32020: || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset); 32020: } 32020: 32020: friend bool 32020: operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { return !(__x == __y); } 32020: 32020: friend bool 32020: operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { return __y < __x; } 32020: 32020: friend bool 32020: operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { return !(__y < __x); } 32020: 32020: friend bool 32020: operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: friend ptrdiff_t 32020: operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 32020: { 32020: return (int(_S_word_bit) * (__x._M_p - __y._M_p) 32020: + __x._M_offset - __y._M_offset); 32020: } 32020: }; 32020: 32020: struct _Bit_iterator : public _Bit_iterator_base 32020: { 32020: typedef _Bit_reference reference; 32020: 32020: 32020: 32020: typedef _Bit_reference* pointer; 32020: 32020: typedef _Bit_iterator iterator; 32020: 32020: _Bit_iterator() : _Bit_iterator_base(0, 0) { } 32020: 32020: _Bit_iterator(_Bit_type * __x, unsigned int __y) 32020: : _Bit_iterator_base(__x, __y) { } 32020: 32020: iterator 32020: _M_const_cast() const 32020: { return *this; } 32020: 32020: reference 32020: operator*() const 32020: { return reference(_M_p, 1UL << _M_offset); } 32020: 32020: iterator& 32020: operator++() 32020: { 32020: _M_bump_up(); 32020: return *this; 32020: } 32020: 32020: iterator 32020: operator++(int) 32020: { 32020: iterator __tmp = *this; 32020: _M_bump_up(); 32020: return __tmp; 32020: } 32020: 32020: iterator& 32020: operator--() 32020: { 32020: _M_bump_down(); 32020: return *this; 32020: } 32020: 32020: iterator 32020: operator--(int) 32020: { 32020: iterator __tmp = *this; 32020: _M_bump_down(); 32020: return __tmp; 32020: } 32020: 32020: iterator& 32020: operator+=(difference_type __i) 32020: { 32020: _M_incr(__i); 32020: return *this; 32020: } 32020: 32020: iterator& 32020: operator-=(difference_type __i) 32020: { 32020: *this += -__i; 32020: return *this; 32020: } 32020: 32020: reference 32020: operator[](difference_type __i) const 32020: { return *(*this + __i); } 32020: 32020: friend iterator 32020: operator+(const iterator& __x, difference_type __n) 32020: { 32020: iterator __tmp = __x; 32020: __tmp += __n; 32020: return __tmp; 32020: } 32020: 32020: friend iterator 32020: operator+(difference_type __n, const iterator& __x) 32020: { return __x + __n; } 32020: 32020: friend iterator 32020: operator-(const iterator& __x, difference_type __n) 32020: { 32020: iterator __tmp = __x; 32020: __tmp -= __n; 32020: return __tmp; 32020: } 32020: }; 32020: 32020: struct _Bit_const_iterator : public _Bit_iterator_base 32020: { 32020: typedef bool reference; 32020: typedef bool const_reference; 32020: 32020: 32020: 32020: typedef const bool* pointer; 32020: 32020: typedef _Bit_const_iterator const_iterator; 32020: 32020: _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } 32020: 32020: _Bit_const_iterator(_Bit_type * __x, unsigned int __y) 32020: : _Bit_iterator_base(__x, __y) { } 32020: 32020: _Bit_const_iterator(const _Bit_iterator& __x) 32020: : _Bit_iterator_base(__x._M_p, __x._M_offset) { } 32020: 32020: _Bit_iterator 32020: _M_const_cast() const 32020: { return _Bit_iterator(_M_p, _M_offset); } 32020: 32020: const_reference 32020: operator*() const 32020: { return _Bit_reference(_M_p, 1UL << _M_offset); } 32020: 32020: const_iterator& 32020: operator++() 32020: { 32020: _M_bump_up(); 32020: return *this; 32020: } 32020: 32020: const_iterator 32020: operator++(int) 32020: { 32020: const_iterator __tmp = *this; 32020: _M_bump_up(); 32020: return __tmp; 32020: } 32020: 32020: const_iterator& 32020: operator--() 32020: { 32020: _M_bump_down(); 32020: return *this; 32020: } 32020: 32020: const_iterator 32020: operator--(int) 32020: { 32020: const_iterator __tmp = *this; 32020: _M_bump_down(); 32020: return __tmp; 32020: } 32020: 32020: const_iterator& 32020: operator+=(difference_type __i) 32020: { 32020: _M_incr(__i); 32020: return *this; 32020: } 32020: 32020: const_iterator& 32020: operator-=(difference_type __i) 32020: { 32020: *this += -__i; 32020: return *this; 32020: } 32020: 32020: const_reference 32020: operator[](difference_type __i) const 32020: { return *(*this + __i); } 32020: 32020: friend const_iterator 32020: operator+(const const_iterator& __x, difference_type __n) 32020: { 32020: const_iterator __tmp = __x; 32020: __tmp += __n; 32020: return __tmp; 32020: } 32020: 32020: friend const_iterator 32020: operator-(const const_iterator& __x, difference_type __n) 32020: { 32020: const_iterator __tmp = __x; 32020: __tmp -= __n; 32020: return __tmp; 32020: } 32020: 32020: friend const_iterator 32020: operator+(difference_type __n, const const_iterator& __x) 32020: { return __x + __n; } 32020: }; 32020: 32020: inline void 32020: __fill_bvector(_Bit_type * __v, 32020: unsigned int __first, unsigned int __last, bool __x) 32020: { 32020: const _Bit_type __fmask = ~0ul << __first; 32020: const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last); 32020: const _Bit_type __mask = __fmask & __lmask; 32020: 32020: if (__x) 32020: *__v |= __mask; 32020: else 32020: *__v &= ~__mask; 32020: } 32020: 32020: inline void 32020: fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) 32020: { 32020: if (__first._M_p != __last._M_p) 32020: { 32020: _Bit_type* __first_p = __first._M_p; 32020: if (__first._M_offset != 0) 32020: __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x); 32020: 32020: __builtin_memset(__first_p, __x ? ~0 : 0, 32020: (__last._M_p - __first_p) * sizeof(_Bit_type)); 32020: 32020: if (__last._M_offset != 0) 32020: __fill_bvector(__last._M_p, 0, __last._M_offset, __x); 32020: } 32020: else if (__first._M_offset != __last._M_offset) 32020: __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x); 32020: } 32020: 32020: template 32020: struct _Bvector_base 32020: { 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_Bit_type>::other _Bit_alloc_type; 32020: typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> 32020: _Bit_alloc_traits; 32020: typedef typename _Bit_alloc_traits::pointer _Bit_pointer; 32020: 32020: struct _Bvector_impl_data 32020: { 32020: _Bit_iterator _M_start; 32020: _Bit_iterator _M_finish; 32020: _Bit_pointer _M_end_of_storage; 32020: 32020: _Bvector_impl_data() noexcept 32020: : _M_start(), _M_finish(), _M_end_of_storage() 32020: { } 32020: 32020: 32020: _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept 32020: : _M_start(__x._M_start), _M_finish(__x._M_finish) 32020: , _M_end_of_storage(__x._M_end_of_storage) 32020: { __x._M_reset(); } 32020: 32020: void 32020: _M_move_data(_Bvector_impl_data&& __x) noexcept 32020: { 32020: this->_M_start = __x._M_start; 32020: this->_M_finish = __x._M_finish; 32020: this->_M_end_of_storage = __x._M_end_of_storage; 32020: __x._M_reset(); 32020: } 32020: 32020: 32020: void 32020: _M_reset() noexcept 32020: { 32020: _M_start = _M_finish = _Bit_iterator(); 32020: _M_end_of_storage = _Bit_pointer(); 32020: } 32020: }; 32020: 32020: struct _Bvector_impl 32020: : public _Bit_alloc_type, public _Bvector_impl_data 32020: { 32020: public: 32020: _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value) 32020: 32020: : _Bit_alloc_type() 32020: { } 32020: 32020: _Bvector_impl(const _Bit_alloc_type& __a) noexcept 32020: : _Bit_alloc_type(__a) 32020: { } 32020: 32020: 32020: _Bvector_impl(_Bvector_impl&&) = default; 32020: 32020: 32020: _Bit_type* 32020: _M_end_addr() const noexcept 32020: { 32020: if (this->_M_end_of_storage) 32020: return std::__addressof(this->_M_end_of_storage[-1]) + 1; 32020: return 0; 32020: } 32020: }; 32020: 32020: public: 32020: typedef _Alloc allocator_type; 32020: 32020: _Bit_alloc_type& 32020: _M_get_Bit_allocator() noexcept 32020: { return this->_M_impl; } 32020: 32020: const _Bit_alloc_type& 32020: _M_get_Bit_allocator() const noexcept 32020: { return this->_M_impl; } 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_M_get_Bit_allocator()); } 32020: 32020: 32020: _Bvector_base() = default; 32020: 32020: 32020: 32020: 32020: _Bvector_base(const allocator_type& __a) 32020: : _M_impl(__a) { } 32020: 32020: 32020: _Bvector_base(_Bvector_base&&) = default; 32020: 32020: 32020: ~_Bvector_base() 32020: { this->_M_deallocate(); } 32020: 32020: protected: 32020: _Bvector_impl _M_impl; 32020: 32020: _Bit_pointer 32020: _M_allocate(size_t __n) 32020: { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); } 32020: 32020: void 32020: _M_deallocate() 32020: { 32020: if (_M_impl._M_start._M_p) 32020: { 32020: const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; 32020: _Bit_alloc_traits::deallocate(_M_impl, 32020: _M_impl._M_end_of_storage - __n, 32020: __n); 32020: _M_impl._M_reset(); 32020: } 32020: } 32020: 32020: 32020: void 32020: _M_move_data(_Bvector_base&& __x) noexcept 32020: { _M_impl._M_move_data(std::move(__x._M_impl)); } 32020: 32020: 32020: static size_t 32020: _S_nword(size_t __n) 32020: { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } 32020: }; 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: # 614 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: template 32020: class vector : protected _Bvector_base<_Alloc> 32020: { 32020: typedef _Bvector_base<_Alloc> _Base; 32020: typedef typename _Base::_Bit_pointer _Bit_pointer; 32020: typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; 32020: 32020: 32020: friend struct std::hash; 32020: 32020: 32020: public: 32020: typedef bool value_type; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Bit_reference reference; 32020: typedef bool const_reference; 32020: typedef _Bit_reference* pointer; 32020: typedef const bool* const_pointer; 32020: typedef _Bit_iterator iterator; 32020: typedef _Bit_const_iterator const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef _Alloc allocator_type; 32020: 32020: allocator_type 32020: get_allocator() const 32020: { return _Base::get_allocator(); } 32020: 32020: protected: 32020: using _Base::_M_allocate; 32020: using _Base::_M_deallocate; 32020: using _Base::_S_nword; 32020: using _Base::_M_get_Bit_allocator; 32020: 32020: public: 32020: 32020: vector() = default; 32020: 32020: 32020: 32020: 32020: explicit 32020: vector(const allocator_type& __a) 32020: : _Base(__a) { } 32020: 32020: 32020: explicit 32020: vector(size_type __n, const allocator_type& __a = allocator_type()) 32020: : vector(__n, false, __a) 32020: { } 32020: 32020: vector(size_type __n, const bool& __value, 32020: const allocator_type& __a = allocator_type()) 32020: 32020: 32020: 32020: 32020: 32020: : _Base(__a) 32020: { 32020: _M_initialize(__n); 32020: _M_initialize_value(__value); 32020: } 32020: 32020: vector(const vector& __x) 32020: : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) 32020: { 32020: _M_initialize(__x.size()); 32020: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 32020: } 32020: 32020: 32020: vector(vector&&) = default; 32020: 32020: vector(vector&& __x, const allocator_type& __a) 32020: noexcept(_Bit_alloc_traits::_S_always_equal()) 32020: : _Base(__a) 32020: { 32020: if (__x.get_allocator() == __a) 32020: this->_M_move_data(std::move(__x)); 32020: else 32020: { 32020: _M_initialize(__x.size()); 32020: _M_copy_aligned(__x.begin(), __x.end(), begin()); 32020: __x.clear(); 32020: } 32020: } 32020: 32020: vector(const vector& __x, const allocator_type& __a) 32020: : _Base(__a) 32020: { 32020: _M_initialize(__x.size()); 32020: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 32020: } 32020: 32020: vector(initializer_list __l, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a) 32020: { 32020: _M_initialize_range(__l.begin(), __l.end(), 32020: random_access_iterator_tag()); 32020: } 32020: 32020: 32020: 32020: template> 32020: vector(_InputIterator __first, _InputIterator __last, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a) 32020: { _M_initialize_dispatch(__first, __last, __false_type()); } 32020: # 737 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: ~vector() noexcept { } 32020: 32020: vector& 32020: operator=(const vector& __x) 32020: { 32020: if (&__x == this) 32020: return *this; 32020: 32020: if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) 32020: { 32020: this->_M_deallocate(); 32020: std::__alloc_on_copy(_M_get_Bit_allocator(), 32020: __x._M_get_Bit_allocator()); 32020: _M_initialize(__x.size()); 32020: } 32020: else 32020: std::__alloc_on_copy(_M_get_Bit_allocator(), 32020: __x._M_get_Bit_allocator()); 32020: } 32020: 32020: if (__x.size() > capacity()) 32020: { 32020: this->_M_deallocate(); 32020: _M_initialize(__x.size()); 32020: } 32020: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 32020: begin()); 32020: return *this; 32020: } 32020: 32020: 32020: vector& 32020: operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) 32020: { 32020: if (_Bit_alloc_traits::_S_propagate_on_move_assign() 32020: || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) 32020: { 32020: this->_M_deallocate(); 32020: this->_M_move_data(std::move(__x)); 32020: std::__alloc_on_move(_M_get_Bit_allocator(), 32020: __x._M_get_Bit_allocator()); 32020: } 32020: else 32020: { 32020: if (__x.size() > capacity()) 32020: { 32020: this->_M_deallocate(); 32020: _M_initialize(__x.size()); 32020: } 32020: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 32020: begin()); 32020: __x.clear(); 32020: } 32020: return *this; 32020: } 32020: 32020: vector& 32020: operator=(initializer_list __l) 32020: { 32020: this->assign (__l.begin(), __l.end()); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: assign(size_type __n, const bool& __x) 32020: { _M_fill_assign(__n, __x); } 32020: 32020: 32020: template> 32020: void 32020: assign(_InputIterator __first, _InputIterator __last) 32020: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 32020: # 828 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: void 32020: assign(initializer_list __l) 32020: { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return iterator(this->_M_impl._M_start._M_p, 0); } 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return const_iterator(this->_M_impl._M_start._M_p, 0); } 32020: 32020: iterator 32020: end() noexcept 32020: { return this->_M_impl._M_finish; } 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return this->_M_impl._M_finish; } 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(end()); } 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(begin()); } 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return const_iterator(this->_M_impl._M_start._M_p, 0); } 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return this->_M_impl._M_finish; } 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return size_type(end() - begin()); } 32020: 32020: size_type 32020: max_size() const noexcept 32020: { 32020: const size_type __isize = 32020: __gnu_cxx::__numeric_traits::__max 32020: - int(_S_word_bit) + 1; 32020: const size_type __asize 32020: = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); 32020: return (__asize <= __isize / int(_S_word_bit) 32020: ? __asize * int(_S_word_bit) : __isize); 32020: } 32020: 32020: size_type 32020: capacity() const noexcept 32020: { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) 32020: - begin()); } 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return begin() == end(); } 32020: 32020: reference 32020: operator[](size_type __n) 32020: { 32020: return *iterator(this->_M_impl._M_start._M_p 32020: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 32020: } 32020: 32020: const_reference 32020: operator[](size_type __n) const 32020: { 32020: return *const_iterator(this->_M_impl._M_start._M_p 32020: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 32020: } 32020: 32020: protected: 32020: void 32020: _M_range_check(size_type __n) const 32020: { 32020: if (__n >= this->size()) 32020: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 32020: 32020: , 32020: __n, this->size()); 32020: } 32020: 32020: public: 32020: reference 32020: at(size_type __n) 32020: { _M_range_check(__n); return (*this)[__n]; } 32020: 32020: const_reference 32020: at(size_type __n) const 32020: { _M_range_check(__n); return (*this)[__n]; } 32020: 32020: void 32020: reserve(size_type __n) 32020: { 32020: if (__n > max_size()) 32020: __throw_length_error(("vector::reserve")); 32020: if (capacity() < __n) 32020: _M_reallocate(__n); 32020: } 32020: 32020: reference 32020: front() 32020: { return *begin(); } 32020: 32020: const_reference 32020: front() const 32020: { return *begin(); } 32020: 32020: reference 32020: back() 32020: { return *(end() - 1); } 32020: 32020: const_reference 32020: back() const 32020: { return *(end() - 1); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: data() noexcept { } 32020: 32020: void 32020: push_back(bool __x) 32020: { 32020: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 32020: *this->_M_impl._M_finish++ = __x; 32020: else 32020: _M_insert_aux(end(), __x); 32020: } 32020: 32020: void 32020: swap(vector& __x) noexcept 32020: { 32020: std::swap(this->_M_impl._M_start, __x._M_impl._M_start); 32020: std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); 32020: std::swap(this->_M_impl._M_end_of_storage, 32020: __x._M_impl._M_end_of_storage); 32020: _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), 32020: __x._M_get_Bit_allocator()); 32020: } 32020: 32020: 32020: static void 32020: swap(reference __x, reference __y) noexcept 32020: { 32020: bool __tmp = __x; 32020: __x = __y; 32020: __y = __tmp; 32020: } 32020: 32020: iterator 32020: 32020: insert(const_iterator __position, const bool& __x = bool()) 32020: 32020: 32020: 32020: { 32020: const difference_type __n = __position - begin(); 32020: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() 32020: && __position == end()) 32020: *this->_M_impl._M_finish++ = __x; 32020: else 32020: _M_insert_aux(__position._M_const_cast(), __x); 32020: return begin() + __n; 32020: } 32020: 32020: 32020: template> 32020: iterator 32020: insert(const_iterator __position, 32020: _InputIterator __first, _InputIterator __last) 32020: { 32020: difference_type __offset = __position - cbegin(); 32020: _M_insert_dispatch(__position._M_const_cast(), 32020: __first, __last, __false_type()); 32020: return begin() + __offset; 32020: } 32020: # 1044 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: iterator 32020: insert(const_iterator __position, size_type __n, const bool& __x) 32020: { 32020: difference_type __offset = __position - cbegin(); 32020: _M_fill_insert(__position._M_const_cast(), __n, __x); 32020: return begin() + __offset; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: insert(const_iterator __p, initializer_list __l) 32020: { return this->insert(__p, __l.begin(), __l.end()); } 32020: 32020: 32020: void 32020: pop_back() 32020: { --this->_M_impl._M_finish; } 32020: 32020: iterator 32020: 32020: erase(const_iterator __position) 32020: 32020: 32020: 32020: { return _M_erase(__position._M_const_cast()); } 32020: 32020: iterator 32020: 32020: erase(const_iterator __first, const_iterator __last) 32020: 32020: 32020: 32020: { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } 32020: 32020: void 32020: resize(size_type __new_size, bool __x = bool()) 32020: { 32020: if (__new_size < size()) 32020: _M_erase_at_end(begin() + difference_type(__new_size)); 32020: else 32020: insert(end(), __new_size - size(), __x); 32020: } 32020: 32020: 32020: void 32020: shrink_to_fit() 32020: { _M_shrink_to_fit(); } 32020: 32020: 32020: void 32020: flip() noexcept 32020: { 32020: _Bit_type * const __end = this->_M_impl._M_end_addr(); 32020: for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) 32020: *__p = ~*__p; 32020: } 32020: 32020: void 32020: clear() noexcept 32020: { _M_erase_at_end(begin()); } 32020: 32020: 32020: template 32020: 32020: reference 32020: 32020: 32020: 32020: emplace_back(_Args&&... __args) 32020: { 32020: push_back(bool(__args...)); 32020: 32020: return back(); 32020: 32020: } 32020: 32020: template 32020: iterator 32020: emplace(const_iterator __pos, _Args&&... __args) 32020: { return insert(__pos, bool(__args...)); } 32020: 32020: 32020: protected: 32020: 32020: iterator 32020: _M_copy_aligned(const_iterator __first, const_iterator __last, 32020: iterator __result) 32020: { 32020: _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); 32020: return std::copy(const_iterator(__last._M_p, 0), __last, 32020: iterator(__q, 0)); 32020: } 32020: 32020: void 32020: _M_initialize(size_type __n) 32020: { 32020: if (__n) 32020: { 32020: _Bit_pointer __q = this->_M_allocate(__n); 32020: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 32020: this->_M_impl._M_start = iterator(std::__addressof(*__q), 0); 32020: } 32020: else 32020: { 32020: this->_M_impl._M_end_of_storage = _Bit_pointer(); 32020: this->_M_impl._M_start = iterator(0, 0); 32020: } 32020: this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); 32020: 32020: } 32020: 32020: void 32020: _M_initialize_value(bool __x) 32020: { 32020: if (_Bit_type* __p = this->_M_impl._M_start._M_p) 32020: __builtin_memset(__p, __x ? ~0 : 0, 32020: (this->_M_impl._M_end_addr() - __p) 32020: * sizeof(_Bit_type)); 32020: } 32020: 32020: void 32020: _M_reallocate(size_type __n); 32020: 32020: 32020: bool 32020: _M_shrink_to_fit(); 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 32020: { 32020: _M_initialize(static_cast(__n)); 32020: _M_initialize_value(__x); 32020: } 32020: 32020: template 32020: void 32020: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 32020: __false_type) 32020: { _M_initialize_range(__first, __last, 32020: std::__iterator_category(__first)); } 32020: 32020: template 32020: void 32020: _M_initialize_range(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { 32020: for (; __first != __last; ++__first) 32020: push_back(*__first); 32020: } 32020: 32020: template 32020: void 32020: _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __n = std::distance(__first, __last); 32020: _M_initialize(__n); 32020: std::copy(__first, __last, this->_M_impl._M_start); 32020: } 32020: # 1230 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_bvector.h" 3 32020: void 32020: _M_fill_assign(size_t __n, bool __x) 32020: { 32020: if (__n > size()) 32020: { 32020: _M_initialize_value(__x); 32020: insert(end(), __n - size(), __x); 32020: } 32020: else 32020: { 32020: _M_erase_at_end(begin() + __n); 32020: _M_initialize_value(__x); 32020: } 32020: } 32020: 32020: template 32020: void 32020: _M_assign_aux(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { 32020: iterator __cur = begin(); 32020: for (; __first != __last && __cur != end(); ++__cur, (void)++__first) 32020: *__cur = *__first; 32020: if (__first == __last) 32020: _M_erase_at_end(__cur); 32020: else 32020: insert(end(), __first, __last); 32020: } 32020: 32020: template 32020: void 32020: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __len = std::distance(__first, __last); 32020: if (__len < size()) 32020: _M_erase_at_end(std::copy(__first, __last, begin())); 32020: else 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, size()); 32020: std::copy(__first, __mid, begin()); 32020: insert(end(), __mid, __last); 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, 32020: __true_type) 32020: { _M_fill_insert(__pos, __n, __x); } 32020: 32020: template 32020: void 32020: _M_insert_dispatch(iterator __pos, 32020: _InputIterator __first, _InputIterator __last, 32020: __false_type) 32020: { _M_insert_range(__pos, __first, __last, 32020: std::__iterator_category(__first)); } 32020: 32020: void 32020: _M_fill_insert(iterator __position, size_type __n, bool __x); 32020: 32020: template 32020: void 32020: _M_insert_range(iterator __pos, _InputIterator __first, 32020: _InputIterator __last, std::input_iterator_tag) 32020: { 32020: for (; __first != __last; ++__first) 32020: { 32020: __pos = insert(__pos, *__first); 32020: ++__pos; 32020: } 32020: } 32020: 32020: template 32020: void 32020: _M_insert_range(iterator __position, _ForwardIterator __first, 32020: _ForwardIterator __last, std::forward_iterator_tag); 32020: 32020: void 32020: _M_insert_aux(iterator __position, bool __x); 32020: 32020: size_type 32020: _M_check_len(size_type __n, const char* __s) const 32020: { 32020: if (max_size() - size() < __n) 32020: __throw_length_error((__s)); 32020: 32020: const size_type __len = size() + std::max(size(), __n); 32020: return (__len < size() || __len > max_size()) ? max_size() : __len; 32020: } 32020: 32020: void 32020: _M_erase_at_end(iterator __pos) 32020: { this->_M_impl._M_finish = __pos; } 32020: 32020: iterator 32020: _M_erase(iterator __pos); 32020: 32020: iterator 32020: _M_erase(iterator __first, iterator __last); 32020: }; 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: struct hash> 32020: : public __hash_base> 32020: { 32020: size_t 32020: operator()(const std::vector&) const noexcept; 32020: }; 32020: 32020: 32020: } 32020: # 69 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 2 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc" 1 3 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/bits/vector.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: reserve(size_type __n) 32020: { 32020: if (__n > this->max_size()) 32020: __throw_length_error(("vector::reserve")); 32020: if (this->capacity() < __n) 32020: { 32020: const size_type __old_size = size(); 32020: pointer __tmp; 32020: 32020: if constexpr (_S_use_relocate()) 32020: { 32020: __tmp = this->_M_allocate(__n); 32020: _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: __tmp, _M_get_Tp_allocator()); 32020: } 32020: else 32020: 32020: { 32020: __tmp = _M_allocate_and_copy(__n, 32020: std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), 32020: std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: } 32020: ; 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = __tmp; 32020: this->_M_impl._M_finish = __tmp + __old_size; 32020: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 32020: } 32020: } 32020: 32020: 32020: template 32020: template 32020: 32020: typename vector<_Tp, _Alloc>::reference 32020: 32020: 32020: 32020: vector<_Tp, _Alloc>:: 32020: emplace_back(_Args&&... __args) 32020: { 32020: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 32020: { 32020: ; 32020: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 32020: std::forward<_Args>(__args)...); 32020: ++this->_M_impl._M_finish; 32020: ; 32020: } 32020: else 32020: _M_realloc_insert(end(), std::forward<_Args>(__args)...); 32020: 32020: return back(); 32020: 32020: } 32020: 32020: 32020: template 32020: typename vector<_Tp, _Alloc>::iterator 32020: vector<_Tp, _Alloc>:: 32020: 32020: insert(const_iterator __position, const value_type& __x) 32020: 32020: 32020: 32020: { 32020: const size_type __n = __position - begin(); 32020: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 32020: if (__position == end()) 32020: { 32020: ; 32020: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 32020: __x); 32020: ++this->_M_impl._M_finish; 32020: ; 32020: } 32020: else 32020: { 32020: 32020: const auto __pos = begin() + (__position - cbegin()); 32020: 32020: 32020: _Temporary_value __x_copy(this, __x); 32020: _M_insert_aux(__pos, std::move(__x_copy._M_val())); 32020: 32020: 32020: 32020: } 32020: else 32020: 32020: _M_realloc_insert(begin() + (__position - cbegin()), __x); 32020: 32020: 32020: 32020: 32020: return iterator(this->_M_impl._M_start + __n); 32020: } 32020: 32020: template 32020: typename vector<_Tp, _Alloc>::iterator 32020: vector<_Tp, _Alloc>:: 32020: _M_erase(iterator __position) 32020: { 32020: if (__position + 1 != end()) 32020: std::move(__position + 1, end(), __position); 32020: --this->_M_impl._M_finish; 32020: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 32020: ; 32020: return __position; 32020: } 32020: 32020: template 32020: typename vector<_Tp, _Alloc>::iterator 32020: vector<_Tp, _Alloc>:: 32020: _M_erase(iterator __first, iterator __last) 32020: { 32020: if (__first != __last) 32020: { 32020: if (__last != end()) 32020: std::move(__last, end(), __first); 32020: _M_erase_at_end(__first.base() + (end() - __last)); 32020: } 32020: return __first; 32020: } 32020: 32020: template 32020: vector<_Tp, _Alloc>& 32020: vector<_Tp, _Alloc>:: 32020: operator=(const vector<_Tp, _Alloc>& __x) 32020: { 32020: if (&__x != this) 32020: { 32020: ; 32020: 32020: if (_Alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: if (!_Alloc_traits::_S_always_equal() 32020: && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) 32020: { 32020: 32020: this->clear(); 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = nullptr; 32020: this->_M_impl._M_finish = nullptr; 32020: this->_M_impl._M_end_of_storage = nullptr; 32020: } 32020: std::__alloc_on_copy(_M_get_Tp_allocator(), 32020: __x._M_get_Tp_allocator()); 32020: } 32020: 32020: const size_type __xlen = __x.size(); 32020: if (__xlen > capacity()) 32020: { 32020: pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), 32020: __x.end()); 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = __tmp; 32020: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; 32020: } 32020: else if (size() >= __xlen) 32020: { 32020: std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), 32020: end(), _M_get_Tp_allocator()); 32020: } 32020: else 32020: { 32020: std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), 32020: this->_M_impl._M_start); 32020: std::__uninitialized_copy_a(__x._M_impl._M_start + size(), 32020: __x._M_impl._M_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: } 32020: this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_fill_assign(size_t __n, const value_type& __val) 32020: { 32020: if (__n > capacity()) 32020: { 32020: vector __tmp(__n, __val, _M_get_Tp_allocator()); 32020: __tmp._M_impl._M_swap_data(this->_M_impl); 32020: } 32020: else if (__n > size()) 32020: { 32020: std::fill(begin(), end(), __val); 32020: const size_type __add = __n - size(); 32020: ; 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 32020: __add, __val, _M_get_Tp_allocator()); 32020: ; 32020: } 32020: else 32020: _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); 32020: } 32020: 32020: template 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_assign_aux(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { 32020: pointer __cur(this->_M_impl._M_start); 32020: for (; __first != __last && __cur != this->_M_impl._M_finish; 32020: ++__cur, (void)++__first) 32020: *__cur = *__first; 32020: if (__first == __last) 32020: _M_erase_at_end(__cur); 32020: else 32020: _M_range_insert(end(), __first, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: template 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __len = std::distance(__first, __last); 32020: 32020: if (__len > capacity()) 32020: { 32020: _S_check_init_len(__len, _M_get_Tp_allocator()); 32020: pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: ; 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = __tmp; 32020: this->_M_impl._M_finish = this->_M_impl._M_start + __len; 32020: this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; 32020: } 32020: else if (size() >= __len) 32020: _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); 32020: else 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, size()); 32020: std::copy(__first, __mid, this->_M_impl._M_start); 32020: const size_type __attribute__((__unused__)) __n = __len - size(); 32020: ; 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_copy_a(__mid, __last, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: ; 32020: } 32020: } 32020: 32020: 32020: template 32020: auto 32020: vector<_Tp, _Alloc>:: 32020: _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator 32020: { 32020: const auto __n = __position - cbegin(); 32020: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 32020: if (__position == cend()) 32020: { 32020: ; 32020: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 32020: std::move(__v)); 32020: ++this->_M_impl._M_finish; 32020: ; 32020: } 32020: else 32020: _M_insert_aux(begin() + __n, std::move(__v)); 32020: else 32020: _M_realloc_insert(begin() + __n, std::move(__v)); 32020: 32020: return iterator(this->_M_impl._M_start + __n); 32020: } 32020: 32020: template 32020: template 32020: auto 32020: vector<_Tp, _Alloc>:: 32020: _M_emplace_aux(const_iterator __position, _Args&&... __args) 32020: -> iterator 32020: { 32020: const auto __n = __position - cbegin(); 32020: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 32020: if (__position == cend()) 32020: { 32020: ; 32020: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 32020: std::forward<_Args>(__args)...); 32020: ++this->_M_impl._M_finish; 32020: ; 32020: } 32020: else 32020: { 32020: 32020: 32020: 32020: _Temporary_value __tmp(this, std::forward<_Args>(__args)...); 32020: _M_insert_aux(begin() + __n, std::move(__tmp._M_val())); 32020: } 32020: else 32020: _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...); 32020: 32020: return iterator(this->_M_impl._M_start + __n); 32020: } 32020: 32020: template 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_insert_aux(iterator __position, _Arg&& __arg) 32020: 32020: 32020: 32020: 32020: 32020: 32020: { 32020: ; 32020: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 32020: std::move(*(this->_M_impl._M_finish - 1))); 32020: ++this->_M_impl._M_finish; 32020: ; 32020: 32020: 32020: 32020: std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) 32020: 32020: ; 32020: 32020: 32020: 32020: *__position = std::forward<_Arg>(__arg); 32020: 32020: } 32020: 32020: 32020: template 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_realloc_insert(iterator __position, _Args&&... __args) 32020: 32020: 32020: 32020: 32020: 32020: 32020: { 32020: const size_type __len = 32020: _M_check_len(size_type(1), "vector::_M_realloc_insert"); 32020: pointer __old_start = this->_M_impl._M_start; 32020: pointer __old_finish = this->_M_impl._M_finish; 32020: const size_type __elems_before = __position - begin(); 32020: pointer __new_start(this->_M_allocate(__len)); 32020: pointer __new_finish(__new_start); 32020: try 32020: { 32020: 32020: 32020: 32020: 32020: 32020: _Alloc_traits::construct(this->_M_impl, 32020: __new_start + __elems_before, 32020: 32020: std::forward<_Args>(__args)...); 32020: 32020: 32020: 32020: __new_finish = pointer(); 32020: 32020: 32020: if constexpr (_S_use_relocate()) 32020: { 32020: __new_finish = _S_relocate(__old_start, __position.base(), 32020: __new_start, _M_get_Tp_allocator()); 32020: 32020: ++__new_finish; 32020: 32020: __new_finish = _S_relocate(__position.base(), __old_finish, 32020: __new_finish, _M_get_Tp_allocator()); 32020: } 32020: else 32020: 32020: { 32020: __new_finish 32020: = std::__uninitialized_move_if_noexcept_a 32020: (__old_start, __position.base(), 32020: __new_start, _M_get_Tp_allocator()); 32020: 32020: ++__new_finish; 32020: 32020: __new_finish 32020: = std::__uninitialized_move_if_noexcept_a 32020: (__position.base(), __old_finish, 32020: __new_finish, _M_get_Tp_allocator()); 32020: } 32020: } 32020: catch(...) 32020: { 32020: if (!__new_finish) 32020: _Alloc_traits::destroy(this->_M_impl, 32020: __new_start + __elems_before); 32020: else 32020: std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); 32020: _M_deallocate(__new_start, __len); 32020: throw; 32020: } 32020: 32020: if constexpr (!_S_use_relocate()) 32020: 32020: std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); 32020: ; 32020: _M_deallocate(__old_start, 32020: this->_M_impl._M_end_of_storage - __old_start); 32020: this->_M_impl._M_start = __new_start; 32020: this->_M_impl._M_finish = __new_finish; 32020: this->_M_impl._M_end_of_storage = __new_start + __len; 32020: } 32020: 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) 32020: { 32020: if (__n != 0) 32020: { 32020: if (size_type(this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_finish) >= __n) 32020: { 32020: 32020: 32020: 32020: _Temporary_value __tmp(this, __x); 32020: value_type& __x_copy = __tmp._M_val(); 32020: 32020: const size_type __elems_after = end() - __position; 32020: pointer __old_finish(this->_M_impl._M_finish); 32020: if (__elems_after > __n) 32020: { 32020: ; 32020: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 32020: this->_M_impl._M_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish += __n; 32020: ; 32020: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 32020: ; 32020: std::fill(__position.base(), __position.base() + __n, 32020: __x_copy); 32020: } 32020: else 32020: { 32020: ; 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 32020: __n - __elems_after, 32020: __x_copy, 32020: _M_get_Tp_allocator()); 32020: ; 32020: std::__uninitialized_move_a(__position.base(), __old_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish += __elems_after; 32020: ; 32020: std::fill(__position.base(), __old_finish, __x_copy); 32020: } 32020: } 32020: else 32020: { 32020: const size_type __len = 32020: _M_check_len(__n, "vector::_M_fill_insert"); 32020: const size_type __elems_before = __position - begin(); 32020: pointer __new_start(this->_M_allocate(__len)); 32020: pointer __new_finish(__new_start); 32020: try 32020: { 32020: 32020: std::__uninitialized_fill_n_a(__new_start + __elems_before, 32020: __n, __x, 32020: _M_get_Tp_allocator()); 32020: __new_finish = pointer(); 32020: 32020: __new_finish 32020: = std::__uninitialized_move_if_noexcept_a 32020: (this->_M_impl._M_start, __position.base(), 32020: __new_start, _M_get_Tp_allocator()); 32020: 32020: __new_finish += __n; 32020: 32020: __new_finish 32020: = std::__uninitialized_move_if_noexcept_a 32020: (__position.base(), this->_M_impl._M_finish, 32020: __new_finish, _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: if (!__new_finish) 32020: std::_Destroy(__new_start + __elems_before, 32020: __new_start + __elems_before + __n, 32020: _M_get_Tp_allocator()); 32020: else 32020: std::_Destroy(__new_start, __new_finish, 32020: _M_get_Tp_allocator()); 32020: _M_deallocate(__new_start, __len); 32020: throw; 32020: } 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: ; 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = __new_start; 32020: this->_M_impl._M_finish = __new_finish; 32020: this->_M_impl._M_end_of_storage = __new_start + __len; 32020: } 32020: } 32020: } 32020: 32020: 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_default_append(size_type __n) 32020: { 32020: if (__n != 0) 32020: { 32020: const size_type __size = size(); 32020: size_type __navail = size_type(this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_finish); 32020: 32020: if (__size > max_size() || __navail > max_size() - __size) 32020: __builtin_unreachable(); 32020: 32020: if (__navail >= __n) 32020: { 32020: ; 32020: this->_M_impl._M_finish = 32020: std::__uninitialized_default_n_a(this->_M_impl._M_finish, 32020: __n, _M_get_Tp_allocator()); 32020: ; 32020: } 32020: else 32020: { 32020: const size_type __len = 32020: _M_check_len(__n, "vector::_M_default_append"); 32020: pointer __new_start(this->_M_allocate(__len)); 32020: if constexpr (_S_use_relocate()) 32020: { 32020: try 32020: { 32020: std::__uninitialized_default_n_a(__new_start + __size, 32020: __n, _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: _M_deallocate(__new_start, __len); 32020: throw; 32020: } 32020: _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: __new_start, _M_get_Tp_allocator()); 32020: } 32020: else 32020: { 32020: pointer __destroy_from = pointer(); 32020: try 32020: { 32020: std::__uninitialized_default_n_a(__new_start + __size, 32020: __n, _M_get_Tp_allocator()); 32020: __destroy_from = __new_start + __size; 32020: std::__uninitialized_move_if_noexcept_a( 32020: this->_M_impl._M_start, this->_M_impl._M_finish, 32020: __new_start, _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: if (__destroy_from) 32020: std::_Destroy(__destroy_from, __destroy_from + __n, 32020: _M_get_Tp_allocator()); 32020: _M_deallocate(__new_start, __len); 32020: throw; 32020: } 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: } 32020: ; 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = __new_start; 32020: this->_M_impl._M_finish = __new_start + __size + __n; 32020: this->_M_impl._M_end_of_storage = __new_start + __len; 32020: } 32020: } 32020: } 32020: 32020: template 32020: bool 32020: vector<_Tp, _Alloc>:: 32020: _M_shrink_to_fit() 32020: { 32020: if (capacity() == size()) 32020: return false; 32020: ; 32020: return std::__shrink_to_fit_aux::_S_do_it(*this); 32020: } 32020: 32020: 32020: template 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_range_insert(iterator __pos, _InputIterator __first, 32020: _InputIterator __last, std::input_iterator_tag) 32020: { 32020: if (__pos == end()) 32020: { 32020: for (; __first != __last; ++__first) 32020: insert(end(), *__first); 32020: } 32020: else if (__first != __last) 32020: { 32020: vector __tmp(__first, __last, _M_get_Tp_allocator()); 32020: insert(__pos, 32020: std::make_move_iterator(__tmp.begin()), 32020: std::make_move_iterator(__tmp.end())); 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: vector<_Tp, _Alloc>:: 32020: _M_range_insert(iterator __position, _ForwardIterator __first, 32020: _ForwardIterator __last, std::forward_iterator_tag) 32020: { 32020: if (__first != __last) 32020: { 32020: const size_type __n = std::distance(__first, __last); 32020: if (size_type(this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_finish) >= __n) 32020: { 32020: const size_type __elems_after = end() - __position; 32020: pointer __old_finish(this->_M_impl._M_finish); 32020: if (__elems_after > __n) 32020: { 32020: ; 32020: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 32020: this->_M_impl._M_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish += __n; 32020: ; 32020: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 32020: ; 32020: std::copy(__first, __last, __position); 32020: } 32020: else 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, __elems_after); 32020: ; 32020: std::__uninitialized_copy_a(__mid, __last, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish += __n - __elems_after; 32020: ; 32020: std::__uninitialized_move_a(__position.base(), 32020: __old_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish += __elems_after; 32020: ; 32020: std::copy(__first, __mid, __position); 32020: } 32020: } 32020: else 32020: { 32020: const size_type __len = 32020: _M_check_len(__n, "vector::_M_range_insert"); 32020: pointer __new_start(this->_M_allocate(__len)); 32020: pointer __new_finish(__new_start); 32020: try 32020: { 32020: __new_finish 32020: = std::__uninitialized_move_if_noexcept_a 32020: (this->_M_impl._M_start, __position.base(), 32020: __new_start, _M_get_Tp_allocator()); 32020: __new_finish 32020: = std::__uninitialized_copy_a(__first, __last, 32020: __new_finish, 32020: _M_get_Tp_allocator()); 32020: __new_finish 32020: = std::__uninitialized_move_if_noexcept_a 32020: (__position.base(), this->_M_impl._M_finish, 32020: __new_finish, _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(__new_start, __new_finish, 32020: _M_get_Tp_allocator()); 32020: _M_deallocate(__new_start, __len); 32020: throw; 32020: } 32020: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: ; 32020: _M_deallocate(this->_M_impl._M_start, 32020: this->_M_impl._M_end_of_storage 32020: - this->_M_impl._M_start); 32020: this->_M_impl._M_start = __new_start; 32020: this->_M_impl._M_finish = __new_finish; 32020: this->_M_impl._M_end_of_storage = __new_start + __len; 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: template 32020: void 32020: vector:: 32020: _M_reallocate(size_type __n) 32020: { 32020: _Bit_pointer __q = this->_M_allocate(__n); 32020: iterator __start(std::__addressof(*__q), 0); 32020: iterator __finish(_M_copy_aligned(begin(), end(), __start)); 32020: this->_M_deallocate(); 32020: this->_M_impl._M_start = __start; 32020: this->_M_impl._M_finish = __finish; 32020: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 32020: } 32020: 32020: template 32020: void 32020: vector:: 32020: _M_fill_insert(iterator __position, size_type __n, bool __x) 32020: { 32020: if (__n == 0) 32020: return; 32020: if (capacity() - size() >= __n) 32020: { 32020: std::copy_backward(__position, end(), 32020: this->_M_impl._M_finish + difference_type(__n)); 32020: std::fill(__position, __position + difference_type(__n), __x); 32020: this->_M_impl._M_finish += difference_type(__n); 32020: } 32020: else 32020: { 32020: const size_type __len = 32020: _M_check_len(__n, "vector::_M_fill_insert"); 32020: _Bit_pointer __q = this->_M_allocate(__len); 32020: iterator __start(std::__addressof(*__q), 0); 32020: iterator __i = _M_copy_aligned(begin(), __position, __start); 32020: std::fill(__i, __i + difference_type(__n), __x); 32020: iterator __finish = std::copy(__position, end(), 32020: __i + difference_type(__n)); 32020: this->_M_deallocate(); 32020: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 32020: this->_M_impl._M_start = __start; 32020: this->_M_impl._M_finish = __finish; 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: vector:: 32020: _M_insert_range(iterator __position, _ForwardIterator __first, 32020: _ForwardIterator __last, std::forward_iterator_tag) 32020: { 32020: if (__first != __last) 32020: { 32020: size_type __n = std::distance(__first, __last); 32020: if (capacity() - size() >= __n) 32020: { 32020: std::copy_backward(__position, end(), 32020: this->_M_impl._M_finish 32020: + difference_type(__n)); 32020: std::copy(__first, __last, __position); 32020: this->_M_impl._M_finish += difference_type(__n); 32020: } 32020: else 32020: { 32020: const size_type __len = 32020: _M_check_len(__n, "vector::_M_insert_range"); 32020: _Bit_pointer __q = this->_M_allocate(__len); 32020: iterator __start(std::__addressof(*__q), 0); 32020: iterator __i = _M_copy_aligned(begin(), __position, __start); 32020: __i = std::copy(__first, __last, __i); 32020: iterator __finish = std::copy(__position, end(), __i); 32020: this->_M_deallocate(); 32020: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 32020: this->_M_impl._M_start = __start; 32020: this->_M_impl._M_finish = __finish; 32020: } 32020: } 32020: } 32020: 32020: template 32020: void 32020: vector:: 32020: _M_insert_aux(iterator __position, bool __x) 32020: { 32020: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 32020: { 32020: std::copy_backward(__position, this->_M_impl._M_finish, 32020: this->_M_impl._M_finish + 1); 32020: *__position = __x; 32020: ++this->_M_impl._M_finish; 32020: } 32020: else 32020: { 32020: const size_type __len = 32020: _M_check_len(size_type(1), "vector::_M_insert_aux"); 32020: _Bit_pointer __q = this->_M_allocate(__len); 32020: iterator __start(std::__addressof(*__q), 0); 32020: iterator __i = _M_copy_aligned(begin(), __position, __start); 32020: *__i++ = __x; 32020: iterator __finish = std::copy(__position, end(), __i); 32020: this->_M_deallocate(); 32020: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 32020: this->_M_impl._M_start = __start; 32020: this->_M_impl._M_finish = __finish; 32020: } 32020: } 32020: 32020: template 32020: typename vector::iterator 32020: vector:: 32020: _M_erase(iterator __position) 32020: { 32020: if (__position + 1 != end()) 32020: std::copy(__position + 1, end(), __position); 32020: --this->_M_impl._M_finish; 32020: return __position; 32020: } 32020: 32020: template 32020: typename vector::iterator 32020: vector:: 32020: _M_erase(iterator __first, iterator __last) 32020: { 32020: if (__first != __last) 32020: _M_erase_at_end(std::copy(__last, end(), __first)); 32020: return __first; 32020: } 32020: 32020: 32020: template 32020: bool 32020: vector:: 32020: _M_shrink_to_fit() 32020: { 32020: if (capacity() - size() < int(_S_word_bit)) 32020: return false; 32020: try 32020: { 32020: _M_reallocate(size()); 32020: return true; 32020: } 32020: catch(...) 32020: { return false; } 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: size_t 32020: hash>:: 32020: operator()(const std::vector& __b) const noexcept 32020: { 32020: size_t __hash = 0; 32020: using std::_S_word_bit; 32020: using std::_Bit_type; 32020: 32020: const size_t __words = __b.size() / _S_word_bit; 32020: if (__words) 32020: { 32020: const size_t __clength = __words * sizeof(_Bit_type); 32020: __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); 32020: } 32020: 32020: const size_t __extrabits = __b.size() % _S_word_bit; 32020: if (__extrabits) 32020: { 32020: _Bit_type __hiword = *__b._M_impl._M_finish._M_p; 32020: __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); 32020: 32020: const size_t __clength 32020: = (__extrabits + 8 - 1) / 8; 32020: if (__words) 32020: __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); 32020: else 32020: __hash = std::_Hash_impl::hash(&__hiword, __clength); 32020: } 32020: 32020: return __hash; 32020: } 32020: 32020: 32020: } 32020: # 73 "/usr/arm-linux-gnueabihf/include/c++/10/vector" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace pmr { 32020: template class polymorphic_allocator; 32020: template 32020: using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 2 3 32020: # 72 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 83 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template 32020: inline invoke_result_t<_Callable, _Args...> 32020: invoke(_Callable&& __fn, _Args&&... __args) 32020: noexcept(is_nothrow_invocable_v<_Callable, _Args...>) 32020: { 32020: return std::__invoke(std::forward<_Callable>(__fn), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: template::value> 32020: class _Mem_fn_base 32020: : public _Mem_fn_traits<_MemFunPtr>::__maybe_type 32020: { 32020: using _Traits = _Mem_fn_traits<_MemFunPtr>; 32020: 32020: using _Arity = typename _Traits::__arity; 32020: using _Varargs = typename _Traits::__vararg; 32020: 32020: template 32020: friend struct _Bind_check_arity; 32020: 32020: _MemFunPtr _M_pmf; 32020: 32020: public: 32020: 32020: using result_type = typename _Traits::__result_type; 32020: 32020: explicit constexpr 32020: _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { } 32020: 32020: template 32020: 32020: auto 32020: operator()(_Args&&... __args) const 32020: noexcept(noexcept( 32020: std::__invoke(_M_pmf, std::forward<_Args>(__args)...))) 32020: -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...)) 32020: { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); } 32020: }; 32020: 32020: 32020: template 32020: class _Mem_fn_base<_MemObjPtr, false> 32020: { 32020: using _Arity = integral_constant; 32020: using _Varargs = false_type; 32020: 32020: template 32020: friend struct _Bind_check_arity; 32020: 32020: _MemObjPtr _M_pm; 32020: 32020: public: 32020: explicit constexpr 32020: _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { } 32020: 32020: template 32020: 32020: auto 32020: operator()(_Tp&& __obj) const 32020: noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))) 32020: -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj))) 32020: { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); } 32020: }; 32020: 32020: template 32020: struct _Mem_fn; 32020: 32020: template 32020: struct _Mem_fn<_Res _Class::*> 32020: : _Mem_fn_base<_Res _Class::*> 32020: { 32020: using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base; 32020: }; 32020: # 167 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template 32020: 32020: inline _Mem_fn<_Tp _Class::*> 32020: mem_fn(_Tp _Class::* __pm) noexcept 32020: { 32020: return _Mem_fn<_Tp _Class::*>(__pm); 32020: } 32020: # 183 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template 32020: struct is_bind_expression 32020: : public false_type { }; 32020: # 194 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template 32020: struct is_placeholder 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: template inline constexpr bool is_bind_expression_v 32020: = is_bind_expression<_Tp>::value; 32020: template inline constexpr int is_placeholder_v 32020: = is_placeholder<_Tp>::value; 32020: 32020: 32020: 32020: 32020: 32020: template struct _Placeholder { }; 32020: 32020: 32020: 32020: 32020: 32020: namespace placeholders 32020: { 32020: 32020: 32020: 32020: 32020: extern const _Placeholder<1> _1; 32020: extern const _Placeholder<2> _2; 32020: extern const _Placeholder<3> _3; 32020: extern const _Placeholder<4> _4; 32020: extern const _Placeholder<5> _5; 32020: extern const _Placeholder<6> _6; 32020: extern const _Placeholder<7> _7; 32020: extern const _Placeholder<8> _8; 32020: extern const _Placeholder<9> _9; 32020: extern const _Placeholder<10> _10; 32020: extern const _Placeholder<11> _11; 32020: extern const _Placeholder<12> _12; 32020: extern const _Placeholder<13> _13; 32020: extern const _Placeholder<14> _14; 32020: extern const _Placeholder<15> _15; 32020: extern const _Placeholder<16> _16; 32020: extern const _Placeholder<17> _17; 32020: extern const _Placeholder<18> _18; 32020: extern const _Placeholder<19> _19; 32020: extern const _Placeholder<20> _20; 32020: extern const _Placeholder<21> _21; 32020: extern const _Placeholder<22> _22; 32020: extern const _Placeholder<23> _23; 32020: extern const _Placeholder<24> _24; 32020: extern const _Placeholder<25> _25; 32020: extern const _Placeholder<26> _26; 32020: extern const _Placeholder<27> _27; 32020: extern const _Placeholder<28> _28; 32020: extern const _Placeholder<29> _29; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_placeholder<_Placeholder<_Num> > 32020: : public integral_constant 32020: { }; 32020: 32020: template 32020: struct is_placeholder > 32020: : public integral_constant 32020: { }; 32020: 32020: 32020: 32020: template 32020: using _Safe_tuple_element_t 32020: = typename enable_if<(__i < tuple_size<_Tuple>::value), 32020: tuple_element<__i, _Tuple>>::type::type; 32020: # 285 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template::value, 32020: bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)> 32020: class _Mu; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class _Mu, false, false> 32020: { 32020: public: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: _Tp& 32020: operator()(_CVRef& __arg, _Tuple&) const volatile 32020: { return __arg.get(); } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class _Mu<_Arg, true, false> 32020: { 32020: public: 32020: template 32020: 32020: auto 32020: operator()(_CVArg& __arg, 32020: tuple<_Args...>& __tuple) const volatile 32020: -> decltype(__arg(declval<_Args>()...)) 32020: { 32020: 32020: typedef typename _Build_index_tuple::__type 32020: _Indexes; 32020: return this->__call(__arg, __tuple, _Indexes()); 32020: } 32020: 32020: private: 32020: 32020: 32020: template 32020: 32020: auto 32020: __call(_CVArg& __arg, tuple<_Args...>& __tuple, 32020: const _Index_tuple<_Indexes...>&) const volatile 32020: -> decltype(__arg(declval<_Args>()...)) 32020: { 32020: return __arg(std::get<_Indexes>(std::move(__tuple))...); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class _Mu<_Arg, false, true> 32020: { 32020: public: 32020: template 32020: 32020: _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&& 32020: operator()(const volatile _Arg&, _Tuple& __tuple) const volatile 32020: { 32020: return 32020: ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple)); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class _Mu<_Arg, false, false> 32020: { 32020: public: 32020: template 32020: 32020: _CVArg&& 32020: operator()(_CVArg&& __arg, _Tuple&) const volatile 32020: { return std::forward<_CVArg>(__arg); } 32020: }; 32020: 32020: 32020: template 32020: inline auto 32020: __volget(volatile tuple<_Tp...>& __tuple) 32020: -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile& 32020: { return std::get<_Ind>(const_cast&>(__tuple)); } 32020: 32020: 32020: template 32020: inline auto 32020: __volget(const volatile tuple<_Tp...>& __tuple) 32020: -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile& 32020: { return std::get<_Ind>(const_cast&>(__tuple)); } 32020: 32020: 32020: template 32020: struct _Bind; 32020: 32020: template 32020: class _Bind<_Functor(_Bound_args...)> 32020: : public _Weak_result_type<_Functor> 32020: { 32020: typedef typename _Build_index_tuple::__type 32020: _Bound_indexes; 32020: 32020: _Functor _M_f; 32020: tuple<_Bound_args...> _M_bound_args; 32020: 32020: 32020: template 32020: 32020: _Result 32020: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 32020: { 32020: return std::__invoke(_M_f, 32020: _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... 32020: ); 32020: } 32020: 32020: 32020: template 32020: 32020: _Result 32020: __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 32020: { 32020: return std::__invoke(_M_f, 32020: _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... 32020: ); 32020: } 32020: 32020: 32020: template 32020: _Result 32020: __call_v(tuple<_Args...>&& __args, 32020: _Index_tuple<_Indexes...>) volatile 32020: { 32020: return std::__invoke(_M_f, 32020: _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... 32020: ); 32020: } 32020: 32020: 32020: template 32020: _Result 32020: __call_c_v(tuple<_Args...>&& __args, 32020: _Index_tuple<_Indexes...>) const volatile 32020: { 32020: return std::__invoke(_M_f, 32020: _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... 32020: ); 32020: } 32020: 32020: template 32020: using _Mu_type = decltype( 32020: _Mu::type>()( 32020: std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) ); 32020: 32020: template 32020: using _Res_type_impl 32020: = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type; 32020: 32020: template 32020: using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>; 32020: 32020: template 32020: using __dependent = typename 32020: enable_if::value+1), _Functor>::type; 32020: 32020: template class __cv_quals> 32020: using _Res_type_cv = _Res_type_impl< 32020: typename __cv_quals<__dependent<_CallArgs>>::type, 32020: _CallArgs, 32020: typename __cv_quals<_Bound_args>::type...>; 32020: 32020: public: 32020: template 32020: explicit 32020: _Bind(const _Functor& __f, _Args&&... __args) 32020: : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: explicit 32020: _Bind(_Functor&& __f, _Args&&... __args) 32020: : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: _Bind(const _Bind&) = default; 32020: _Bind(_Bind&&) = default; 32020: 32020: 32020: template>> 32020: 32020: _Result 32020: operator()(_Args&&... __args) 32020: { 32020: return this->__call<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: 32020: 32020: template, add_const>> 32020: 32020: _Result 32020: operator()(_Args&&... __args) const 32020: { 32020: return this->__call_c<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: # 523 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template, add_volatile>> 32020: [[deprecated("std::bind does not support volatile in C++17")]] 32020: _Result 32020: operator()(_Args&&... __args) volatile 32020: { 32020: return this->__call_v<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: 32020: 32020: template, add_cv>> 32020: [[deprecated("std::bind does not support volatile in C++17")]] 32020: _Result 32020: operator()(_Args&&... __args) const volatile 32020: { 32020: return this->__call_c_v<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Bind_result; 32020: 32020: template 32020: class _Bind_result<_Result, _Functor(_Bound_args...)> 32020: { 32020: typedef typename _Build_index_tuple::__type 32020: _Bound_indexes; 32020: 32020: _Functor _M_f; 32020: tuple<_Bound_args...> _M_bound_args; 32020: 32020: 32020: template 32020: 32020: _Res 32020: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 32020: { 32020: return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() 32020: (std::get<_Indexes>(_M_bound_args), __args)...); 32020: } 32020: 32020: 32020: template 32020: 32020: _Res 32020: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 32020: { 32020: return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() 32020: (std::get<_Indexes>(_M_bound_args), __args)...); 32020: } 32020: 32020: 32020: template 32020: 32020: _Res 32020: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile 32020: { 32020: return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() 32020: (__volget<_Indexes>(_M_bound_args), __args)...); 32020: } 32020: 32020: 32020: template 32020: 32020: _Res 32020: __call(tuple<_Args...>&& __args, 32020: _Index_tuple<_Indexes...>) const volatile 32020: { 32020: return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() 32020: (__volget<_Indexes>(_M_bound_args), __args)...); 32020: } 32020: 32020: public: 32020: typedef _Result result_type; 32020: 32020: template 32020: explicit 32020: _Bind_result(const _Functor& __f, _Args&&... __args) 32020: : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: explicit 32020: _Bind_result(_Functor&& __f, _Args&&... __args) 32020: : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: _Bind_result(const _Bind_result&) = default; 32020: _Bind_result(_Bind_result&&) = default; 32020: 32020: 32020: template 32020: 32020: result_type 32020: operator()(_Args&&... __args) 32020: { 32020: return this->__call<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: 32020: 32020: template 32020: 32020: result_type 32020: operator()(_Args&&... __args) const 32020: { 32020: return this->__call<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: 32020: 32020: template 32020: [[deprecated("std::bind does not support volatile in C++17")]] 32020: result_type 32020: operator()(_Args&&... __args) volatile 32020: { 32020: return this->__call<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: 32020: 32020: template 32020: [[deprecated("std::bind does not support volatile in C++17")]] 32020: result_type 32020: operator()(_Args&&... __args) const volatile 32020: { 32020: return this->__call<_Result>( 32020: std::forward_as_tuple(std::forward<_Args>(__args)...), 32020: _Bound_indexes()); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression<_Bind<_Signature> > 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression > 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression > 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression> 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression<_Bind_result<_Result, _Signature>> 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression> 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression> 32020: : public true_type { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct is_bind_expression> 32020: : public true_type { }; 32020: 32020: template 32020: struct _Bind_check_arity { }; 32020: 32020: template 32020: struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...> 32020: { 32020: static_assert(sizeof...(_BoundArgs) == sizeof...(_Args), 32020: "Wrong number of arguments for function"); 32020: }; 32020: 32020: template 32020: struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...> 32020: { 32020: static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args), 32020: "Wrong number of arguments for function"); 32020: }; 32020: 32020: template 32020: struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...> 32020: { 32020: using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity; 32020: using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs; 32020: static_assert(_Varargs::value 32020: ? sizeof...(_BoundArgs) >= _Arity::value + 1 32020: : sizeof...(_BoundArgs) == _Arity::value + 1, 32020: "Wrong number of arguments for pointer-to-member"); 32020: }; 32020: 32020: 32020: 32020: 32020: template::type> 32020: using __is_socketlike = __or_, is_enum<_Tp2>>; 32020: 32020: template 32020: struct _Bind_helper 32020: : _Bind_check_arity::type, _BoundArgs...> 32020: { 32020: typedef typename decay<_Func>::type __func_type; 32020: typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct _Bind_helper 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline typename 32020: _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type 32020: bind(_Func&& __f, _BoundArgs&&... __args) 32020: { 32020: typedef _Bind_helper __helper_type; 32020: return typename __helper_type::type(std::forward<_Func>(__f), 32020: std::forward<_BoundArgs>(__args)...); 32020: } 32020: 32020: template 32020: struct _Bindres_helper 32020: : _Bind_check_arity::type, _BoundArgs...> 32020: { 32020: typedef typename decay<_Func>::type __functor_type; 32020: typedef _Bind_result<_Result, 32020: __functor_type(typename decay<_BoundArgs>::type...)> 32020: type; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline 32020: typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type 32020: bind(_Func&& __f, _BoundArgs&&... __args) 32020: { 32020: typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type; 32020: return typename __helper_type::type(std::forward<_Func>(__f), 32020: std::forward<_BoundArgs>(__args)...); 32020: } 32020: # 918 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template 32020: class _Not_fn 32020: { 32020: template 32020: using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type; 32020: 32020: template 32020: static decltype(!std::declval<_Tp>()) 32020: _S_not() noexcept(noexcept(!std::declval<_Tp>())); 32020: 32020: public: 32020: template 32020: constexpr 32020: _Not_fn(_Fn2&& __fn, int) 32020: : _M_fn(std::forward<_Fn2>(__fn)) { } 32020: 32020: _Not_fn(const _Not_fn& __fn) = default; 32020: _Not_fn(_Not_fn&& __fn) = default; 32020: ~_Not_fn() = default; 32020: # 952 "/usr/arm-linux-gnueabihf/include/c++/10/functional" 3 32020: template decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); } 32020: template decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); } 32020: template decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); } 32020: template decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); } 32020: 32020: 32020: private: 32020: _Fn _M_fn; 32020: }; 32020: 32020: template 32020: struct __is_byte_like : false_type { }; 32020: 32020: template 32020: struct __is_byte_like<_Tp, equal_to<_Tp>> 32020: : __bool_constant::value> { }; 32020: 32020: template 32020: struct __is_byte_like<_Tp, equal_to> 32020: : __bool_constant::value> { }; 32020: 32020: 32020: 32020: enum class byte : unsigned char; 32020: 32020: template<> 32020: struct __is_byte_like> 32020: : true_type { }; 32020: 32020: template<> 32020: struct __is_byte_like> 32020: : true_type { }; 32020: 32020: 32020: 32020: template 32020: 32020: inline auto 32020: not_fn(_Fn&& __fn) 32020: noexcept(std::is_nothrow_constructible, _Fn&&>::value) 32020: { 32020: return _Not_fn>{std::forward<_Fn>(__fn), 0}; 32020: } 32020: 32020: 32020: 32020: 32020: template> 32020: class default_searcher 32020: { 32020: public: 32020: 32020: default_searcher(_ForwardIterator1 __pat_first, 32020: _ForwardIterator1 __pat_last, 32020: _BinaryPredicate __pred = _BinaryPredicate()) 32020: : _M_m(__pat_first, __pat_last, std::move(__pred)) 32020: { } 32020: 32020: template 32020: 32020: pair<_ForwardIterator2, _ForwardIterator2> 32020: operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const 32020: { 32020: _ForwardIterator2 __first_ret = 32020: std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m), 32020: std::get<2>(_M_m)); 32020: auto __ret = std::make_pair(__first_ret, __first_ret); 32020: if (__ret.first != __last) 32020: std::advance(__ret.second, std::distance(std::get<0>(_M_m), 32020: std::get<1>(_M_m))); 32020: return __ret; 32020: } 32020: 32020: private: 32020: tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m; 32020: }; 32020: 32020: template 32020: struct __boyer_moore_map_base 32020: { 32020: template 32020: __boyer_moore_map_base(_RAIter __pat, size_t __patlen, 32020: _Hash&& __hf, _Pred&& __pred) 32020: : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) } 32020: { 32020: if (__patlen > 0) 32020: for (__diff_type __i = 0; __i < __patlen - 1; ++__i) 32020: _M_bad_char[__pat[__i]] = __patlen - 1 - __i; 32020: } 32020: 32020: using __diff_type = _Tp; 32020: 32020: __diff_type 32020: _M_lookup(_Key __key, __diff_type __not_found) const 32020: { 32020: auto __iter = _M_bad_char.find(__key); 32020: if (__iter == _M_bad_char.end()) 32020: return __not_found; 32020: return __iter->second; 32020: } 32020: 32020: _Pred 32020: _M_pred() const { return _M_bad_char.key_eq(); } 32020: 32020: std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char; 32020: }; 32020: 32020: template 32020: struct __boyer_moore_array_base 32020: { 32020: template 32020: __boyer_moore_array_base(_RAIter __pat, size_t __patlen, 32020: _Unused&&, _Pred&& __pred) 32020: : _M_bad_char{ std::array<_Tp, _Len>{}, std::move(__pred) } 32020: { 32020: std::get<0>(_M_bad_char).fill(__patlen); 32020: if (__patlen > 0) 32020: for (__diff_type __i = 0; __i < __patlen - 1; ++__i) 32020: { 32020: auto __ch = __pat[__i]; 32020: using _UCh = make_unsigned_t; 32020: auto __uch = static_cast<_UCh>(__ch); 32020: std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i; 32020: } 32020: } 32020: 32020: using __diff_type = _Tp; 32020: 32020: template 32020: __diff_type 32020: _M_lookup(_Key __key, __diff_type __not_found) const 32020: { 32020: auto __ukey = static_cast>(__key); 32020: if (__ukey >= _Len) 32020: return __not_found; 32020: return std::get<0>(_M_bad_char)[__ukey]; 32020: } 32020: 32020: const _Pred& 32020: _M_pred() const { return std::get<1>(_M_bad_char); } 32020: 32020: tuple, _Pred> _M_bad_char; 32020: }; 32020: 32020: 32020: 32020: template::value_type, 32020: typename _Diff = typename iterator_traits<_RAIter>::difference_type> 32020: using __boyer_moore_base_t 32020: = conditional_t<__is_byte_like<_Val, _Pred>::value, 32020: __boyer_moore_array_base<_Diff, 256, _Pred>, 32020: __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>; 32020: 32020: template::value_type>, 32020: typename _BinaryPredicate = equal_to<>> 32020: class boyer_moore_searcher 32020: : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate> 32020: { 32020: using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>; 32020: using typename _Base::__diff_type; 32020: 32020: public: 32020: boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last, 32020: _Hash __hf = _Hash(), 32020: _BinaryPredicate __pred = _BinaryPredicate()); 32020: 32020: template 32020: pair<_RandomAccessIterator2, _RandomAccessIterator2> 32020: operator()(_RandomAccessIterator2 __first, 32020: _RandomAccessIterator2 __last) const; 32020: 32020: private: 32020: bool 32020: _M_is_prefix(_RAIter __word, __diff_type __len, 32020: __diff_type __pos) 32020: { 32020: const auto& __pred = this->_M_pred(); 32020: __diff_type __suffixlen = __len - __pos; 32020: for (__diff_type __i = 0; __i < __suffixlen; ++__i) 32020: if (!__pred(__word[__i], __word[__pos + __i])) 32020: return false; 32020: return true; 32020: } 32020: 32020: __diff_type 32020: _M_suffix_length(_RAIter __word, __diff_type __len, 32020: __diff_type __pos) 32020: { 32020: const auto& __pred = this->_M_pred(); 32020: __diff_type __i = 0; 32020: while (__pred(__word[__pos - __i], __word[__len - 1 - __i]) 32020: && __i < __pos) 32020: { 32020: ++__i; 32020: } 32020: return __i; 32020: } 32020: 32020: template 32020: __diff_type 32020: _M_bad_char_shift(_Tp __c) const 32020: { return this->_M_lookup(__c, _M_pat_end - _M_pat); } 32020: 32020: _RAIter _M_pat; 32020: _RAIter _M_pat_end; 32020: std::vector<__diff_type> _M_good_suffix; 32020: }; 32020: 32020: template::value_type>, 32020: typename _BinaryPredicate = equal_to<>> 32020: class boyer_moore_horspool_searcher 32020: : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate> 32020: { 32020: using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>; 32020: using typename _Base::__diff_type; 32020: 32020: public: 32020: boyer_moore_horspool_searcher(_RAIter __pat, 32020: _RAIter __pat_end, 32020: _Hash __hf = _Hash(), 32020: _BinaryPredicate __pred 32020: = _BinaryPredicate()) 32020: : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)), 32020: _M_pat(__pat), _M_pat_end(__pat_end) 32020: { } 32020: 32020: template 32020: pair<_RandomAccessIterator2, _RandomAccessIterator2> 32020: operator()(_RandomAccessIterator2 __first, 32020: _RandomAccessIterator2 __last) const 32020: { 32020: const auto& __pred = this->_M_pred(); 32020: auto __patlen = _M_pat_end - _M_pat; 32020: if (__patlen == 0) 32020: return std::make_pair(__first, __first); 32020: auto __len = __last - __first; 32020: while (__len >= __patlen) 32020: { 32020: for (auto __scan = __patlen - 1; 32020: __pred(__first[__scan], _M_pat[__scan]); --__scan) 32020: if (__scan == 0) 32020: return std::make_pair(__first, __first + __patlen); 32020: auto __shift = _M_bad_char_shift(__first[__patlen - 1]); 32020: __len -= __shift; 32020: __first += __shift; 32020: } 32020: return std::make_pair(__last, __last); 32020: } 32020: 32020: private: 32020: template 32020: __diff_type 32020: _M_bad_char_shift(_Tp __c) const 32020: { return this->_M_lookup(__c, _M_pat_end - _M_pat); } 32020: 32020: _RAIter _M_pat; 32020: _RAIter _M_pat_end; 32020: }; 32020: 32020: template 32020: boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>:: 32020: boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end, 32020: _Hash __hf, _BinaryPredicate __pred) 32020: : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)), 32020: _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat) 32020: { 32020: auto __patlen = __pat_end - __pat; 32020: if (__patlen == 0) 32020: return; 32020: __diff_type __last_prefix = __patlen - 1; 32020: for (__diff_type __p = __patlen - 1; __p >= 0; --__p) 32020: { 32020: if (_M_is_prefix(__pat, __patlen, __p + 1)) 32020: __last_prefix = __p + 1; 32020: _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p); 32020: } 32020: for (__diff_type __p = 0; __p < __patlen - 1; ++__p) 32020: { 32020: auto __slen = _M_suffix_length(__pat, __patlen, __p); 32020: auto __pos = __patlen - 1 - __slen; 32020: if (!__pred(__pat[__p - __slen], __pat[__pos])) 32020: _M_good_suffix[__pos] = __patlen - 1 - __p + __slen; 32020: } 32020: } 32020: 32020: template 32020: template 32020: pair<_RandomAccessIterator2, _RandomAccessIterator2> 32020: boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>:: 32020: operator()(_RandomAccessIterator2 __first, 32020: _RandomAccessIterator2 __last) const 32020: { 32020: auto __patlen = _M_pat_end - _M_pat; 32020: if (__patlen == 0) 32020: return std::make_pair(__first, __first); 32020: const auto& __pred = this->_M_pred(); 32020: __diff_type __i = __patlen - 1; 32020: auto __stringlen = __last - __first; 32020: while (__i < __stringlen) 32020: { 32020: __diff_type __j = __patlen - 1; 32020: while (__j >= 0 && __pred(__first[__i], _M_pat[__j])) 32020: { 32020: --__i; 32020: --__j; 32020: } 32020: if (__j < 0) 32020: { 32020: const auto __match = __first + __i + 1; 32020: return std::make_pair(__match, __match + __patlen); 32020: } 32020: __i += std::max(_M_bad_char_shift(__first[__i]), 32020: _M_good_suffix[__j]); 32020: } 32020: return std::make_pair(__last, __last); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 14 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/execution_defs.h" 1 3 32020: # 15 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/execution_defs.h" 3 32020: namespace __pstl 32020: { 32020: namespace execution 32020: { 32020: inline namespace v1 32020: { 32020: 32020: 32020: class sequenced_policy 32020: { 32020: public: 32020: 32020: static constexpr std::false_type 32020: __allow_unsequenced() 32020: { 32020: return std::false_type{}; 32020: } 32020: static constexpr std::false_type 32020: __allow_vector() 32020: { 32020: return std::false_type{}; 32020: } 32020: static constexpr std::false_type 32020: __allow_parallel() 32020: { 32020: return std::false_type{}; 32020: } 32020: }; 32020: 32020: 32020: class parallel_policy 32020: { 32020: public: 32020: 32020: static constexpr std::false_type 32020: __allow_unsequenced() 32020: { 32020: return std::false_type{}; 32020: } 32020: static constexpr std::false_type 32020: __allow_vector() 32020: { 32020: return std::false_type{}; 32020: } 32020: static constexpr std::true_type 32020: __allow_parallel() 32020: { 32020: return std::true_type{}; 32020: } 32020: }; 32020: 32020: 32020: class parallel_unsequenced_policy 32020: { 32020: public: 32020: 32020: static constexpr std::true_type 32020: __allow_unsequenced() 32020: { 32020: return std::true_type{}; 32020: } 32020: static constexpr std::true_type 32020: __allow_vector() 32020: { 32020: return std::true_type{}; 32020: } 32020: static constexpr std::true_type 32020: __allow_parallel() 32020: { 32020: return std::true_type{}; 32020: } 32020: }; 32020: 32020: class unsequenced_policy 32020: { 32020: public: 32020: 32020: static constexpr std::true_type 32020: __allow_unsequenced() 32020: { 32020: return std::true_type{}; 32020: } 32020: static constexpr std::true_type 32020: __allow_vector() 32020: { 32020: return std::true_type{}; 32020: } 32020: static constexpr std::false_type 32020: __allow_parallel() 32020: { 32020: return std::false_type{}; 32020: } 32020: }; 32020: 32020: 32020: constexpr sequenced_policy seq{}; 32020: constexpr parallel_policy par{}; 32020: constexpr parallel_unsequenced_policy par_unseq{}; 32020: constexpr unsequenced_policy unseq{}; 32020: 32020: 32020: template 32020: struct is_execution_policy : std::false_type 32020: { 32020: }; 32020: 32020: template <> 32020: struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type 32020: { 32020: }; 32020: template <> 32020: struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type 32020: { 32020: }; 32020: template <> 32020: struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type 32020: { 32020: }; 32020: template <> 32020: struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type 32020: { 32020: }; 32020: 32020: 32020: template 32020: constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value; 32020: 32020: 32020: } 32020: } 32020: 32020: namespace __internal 32020: { 32020: template 32020: 32020: using __enable_if_execution_policy = 32020: typename std::enable_if<__pstl::execution::is_execution_policy>::value, 32020: _Tp>::type; 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: } 32020: # 16 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_algorithm_defs.h" 2 3 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: any_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> 32020: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, 32020: _ForwardIterator2 __s_last, _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> 32020: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, 32020: _ForwardIterator2 __s_last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> 32020: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> 32020: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __s_first, _ForwardIterator2 __s_last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, 32020: typename iterator_traits<_ForwardIterator>::difference_type> 32020: count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, 32020: typename iterator_traits<_ForwardIterator>::difference_type> 32020: count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> 32020: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, 32020: _ForwardIterator2 __s_last, _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> 32020: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, 32020: _ForwardIterator2 __s_last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count, 32020: const _Tp& __value, _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count, 32020: const _Tp& __value); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: copy_n(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result, 32020: _Predicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, 32020: _UnaryOperation __op); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator __result, _BinaryOperation __op); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred, 32020: const _Tp& __new_value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, 32020: const _Tp& __new_value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, 32020: const _Tp& __old_value, const _Tp& __new_value); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value); 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _Predicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, 32020: const _Tp& __value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, 32020: _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last, 32020: _ForwardIterator __d_first); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator> 32020: stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last, 32020: _UnaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> 32020: partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, 32020: _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> 32020: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> 32020: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _BinaryPredicate __pred); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> 32020: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> 32020: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _BinaryPredicate __p); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _BinaryPredicate __p); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2); 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle, 32020: _RandomAccessIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> 32020: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, 32020: _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> 32020: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, 32020: _RandomAccessIterator __d_first, _RandomAccessIterator __d_last); 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth, 32020: _RandomAccessIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth, 32020: _RandomAccessIterator __last); 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _ForwardIterator __d_first); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle, 32020: _BidirectionalIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, 32020: _ForwardIterator2 __last2, _ForwardIterator __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result, 32020: _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result); 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> 32020: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> 32020: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>> 32020: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>> 32020: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> 32020: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _ForwardIterator2 __last2); 32020: 32020: } 32020: # 75 "/usr/arm-linux-gnueabihf/include/c++/10/algorithm" 2 3 32020: # 7 "/<>/build/CMakeFiles/nheko.dir/cmake_pch.hxx" 2 3 32020: # 1 "" 2 32020: # 1 "/<>/src/ui/SnackBar.cpp" 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/QPainter" 1 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtguiglobal.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtguiglobal.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cstddef" 1 3 4 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/cstddef" 3 4 32020: 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/cstddef" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 51 "/usr/arm-linux-gnueabihf/include/c++/10/cstddef" 2 3 32020: 32020: extern "C++" 32020: { 32020: 32020: namespace std 32020: { 32020: 32020: using ::max_align_t; 32020: } 32020: 32020: 32020: 32020: namespace std 32020: { 32020: 32020: 32020: 32020: 32020: enum class byte : unsigned char {}; 32020: 32020: template struct __byte_operand { }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: 32020: template<> struct __byte_operand { using __type = byte; }; 32020: 32020: 32020: 32020: 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: template<> struct __byte_operand { using __type = byte; }; 32020: # 110 "/usr/arm-linux-gnueabihf/include/c++/10/cstddef" 3 32020: template 32020: struct __byte_operand 32020: : __byte_operand<_IntegerType> { }; 32020: template 32020: struct __byte_operand 32020: : __byte_operand<_IntegerType> { }; 32020: template 32020: struct __byte_operand 32020: : __byte_operand<_IntegerType> { }; 32020: 32020: template 32020: using __byte_op_t = typename __byte_operand<_IntegerType>::__type; 32020: 32020: template 32020: constexpr __byte_op_t<_IntegerType> 32020: operator<<(byte __b, _IntegerType __shift) noexcept 32020: { return (byte)(unsigned char)((unsigned)__b << __shift); } 32020: 32020: template 32020: constexpr __byte_op_t<_IntegerType> 32020: operator>>(byte __b, _IntegerType __shift) noexcept 32020: { return (byte)(unsigned char)((unsigned)__b >> __shift); } 32020: 32020: constexpr byte 32020: operator|(byte __l, byte __r) noexcept 32020: { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); } 32020: 32020: constexpr byte 32020: operator&(byte __l, byte __r) noexcept 32020: { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); } 32020: 32020: constexpr byte 32020: operator^(byte __l, byte __r) noexcept 32020: { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); } 32020: 32020: constexpr byte 32020: operator~(byte __b) noexcept 32020: { return (byte)(unsigned char)~(unsigned)__b; } 32020: 32020: template 32020: constexpr __byte_op_t<_IntegerType>& 32020: operator<<=(byte& __b, _IntegerType __shift) noexcept 32020: { return __b = __b << __shift; } 32020: 32020: template 32020: constexpr __byte_op_t<_IntegerType>& 32020: operator>>=(byte& __b, _IntegerType __shift) noexcept 32020: { return __b = __b >> __shift; } 32020: 32020: constexpr byte& 32020: operator|=(byte& __l, byte __r) noexcept 32020: { return __l = __l | __r; } 32020: 32020: constexpr byte& 32020: operator&=(byte& __l, byte __r) noexcept 32020: { return __l = __l & __r; } 32020: 32020: constexpr byte& 32020: operator^=(byte& __l, byte __r) noexcept 32020: { return __l = __l ^ __r; } 32020: 32020: template 32020: constexpr _IntegerType 32020: to_integer(__byte_op_t<_IntegerType> __b) noexcept 32020: { return _IntegerType(__b); } 32020: 32020: 32020: } 32020: 32020: } 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/assert.h" 1 3 4 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 66 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qconfig.h" 1 3 4 32020: # 67 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtcore-config.h" 1 3 4 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 103 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsystemdetection.h" 1 3 4 32020: # 104 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qprocessordetection.h" 1 3 4 32020: # 105 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcompilerdetection.h" 1 3 4 32020: # 106 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 225 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef signed char qint8; 32020: typedef unsigned char quint8; 32020: typedef short qint16; 32020: typedef unsigned short quint16; 32020: typedef int qint32; 32020: typedef unsigned int quint32; 32020: # 252 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: typedef long long qint64; 32020: typedef unsigned long long quint64; 32020: 32020: 32020: typedef qint64 qlonglong; 32020: typedef quint64 qulonglong; 32020: # 272 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: typedef unsigned char uchar; 32020: typedef unsigned short ushort; 32020: typedef unsigned int uint; 32020: typedef unsigned long ulong; 32020: 32020: 32020: 32020: 32020: 32020: typedef double qreal; 32020: # 389 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: namespace QtPrivate { 32020: enum class Deprecated_t {}; 32020: constexpr __attribute__((__unused__)) Deprecated_t Deprecated = {}; 32020: } 32020: # 475 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: extern "C" 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) const char *qVersion(void) noexcept; 32020: # 503 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: namespace QtPrivate { 32020: template 32020: struct AlignOfHelper 32020: { 32020: char c; 32020: T type; 32020: 32020: AlignOfHelper(); 32020: ~AlignOfHelper(); 32020: }; 32020: 32020: template 32020: struct AlignOf_Default 32020: { 32020: enum { Value = sizeof(AlignOfHelper) - sizeof(T) }; 32020: }; 32020: 32020: template struct AlignOf : AlignOf_Default { }; 32020: template struct AlignOf : AlignOf {}; 32020: template struct AlignOf : AlignOf {}; 32020: template struct AlignOf : AlignOf {}; 32020: # 540 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: } 32020: # 559 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: template struct QIntegerForSize; 32020: template <> struct QIntegerForSize<1> { typedef quint8 Unsigned; typedef qint8 Signed; }; 32020: template <> struct QIntegerForSize<2> { typedef quint16 Unsigned; typedef qint16 Signed; }; 32020: template <> struct QIntegerForSize<4> { typedef quint32 Unsigned; typedef qint32 Signed; }; 32020: template <> struct QIntegerForSize<8> { typedef quint64 Unsigned; typedef qint64 Signed; }; 32020: 32020: 32020: 32020: template struct QIntegerForSizeof: QIntegerForSize { }; 32020: typedef QIntegerForSize<4>::Signed qregisterint; 32020: typedef QIntegerForSize<4>::Unsigned qregisteruint; 32020: typedef QIntegerForSizeof::Unsigned quintptr; 32020: typedef QIntegerForSizeof::Signed qptrdiff; 32020: typedef qptrdiff qintptr; 32020: using qsizetype = QIntegerForSizeof::Signed; 32020: # 643 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: typedef int QNoImplicitBoolCast; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr inline T qAbs(const T &t) { return t >= 0 ? t : -t; } 32020: 32020: constexpr inline int qRound(double d) 32020: { return d >= 0.0 ? int(d + 0.5) : int(d - double(int(d-1)) + 0.5) + int(d-1); } 32020: constexpr inline int qRound(float d) 32020: { return d >= 0.0f ? int(d + 0.5f) : int(d - float(int(d-1)) + 0.5f) + int(d-1); } 32020: 32020: constexpr inline qint64 qRound64(double d) 32020: { return d >= 0.0 ? qint64(d + 0.5) : qint64(d - double(qint64(d-1)) + 0.5) + qint64(d-1); } 32020: constexpr inline qint64 qRound64(float d) 32020: { return d >= 0.0f ? qint64(d + 0.5f) : qint64(d - float(qint64(d-1)) + 0.5f) + qint64(d-1); } 32020: 32020: template 32020: constexpr inline const T &qMin(const T &a, const T &b) { return (a < b) ? a : b; } 32020: template 32020: constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } 32020: template 32020: constexpr inline const T &qBound(const T &min, const T &val, const T &max) 32020: { return qMax(min, qMin(max, val)); } 32020: # 760 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: class QDataStream; 32020: 32020: inline void qt_noop(void) {} 32020: # 794 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: __attribute__((__noreturn__)) __attribute__((cold)) __attribute__((visibility("default"))) void qTerminate() noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qSharedBuild() noexcept; 32020: # 837 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: class QString; 32020: __attribute__((cold)) 32020: __attribute__((visibility("default"))) QString qt_error_string(int errorCode = -1); 32020: 32020: 32020: __attribute__((__noreturn__)) 32020: 32020: __attribute__((cold)) 32020: __attribute__((visibility("default"))) void qt_assert(const char *assertion, const char *file, int line) noexcept; 32020: # 856 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: __attribute__((__noreturn__)) 32020: 32020: __attribute__((cold)) 32020: __attribute__((visibility("default"))) void qt_assert_x(const char *where, const char *what, const char *file, int line) noexcept; 32020: # 869 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: __attribute__((__noreturn__)) __attribute__((visibility("default"))) void qt_check_pointer(const char *, int) noexcept; 32020: __attribute__((cold)) 32020: __attribute__((visibility("default"))) void qBadAlloc(); 32020: # 883 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: template 32020: inline T *q_check_ptr(T *p) { do { if (!(p)) qBadAlloc(); } while (false); return p; } 32020: 32020: typedef void (*QFunctionPointer)(); 32020: 32020: 32020: 32020: 32020: 32020: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyCompare(double p1, double p2) 32020: { 32020: return (qAbs(p1 - p2) * 1000000000000. <= qMin(qAbs(p1), qAbs(p2))); 32020: } 32020: 32020: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyCompare(float p1, float p2) 32020: { 32020: return (qAbs(p1 - p2) * 100000.f <= qMin(qAbs(p1), qAbs(p2))); 32020: } 32020: 32020: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyIsNull(double d) 32020: { 32020: return qAbs(d) <= 0.000000000001; 32020: } 32020: 32020: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyIsNull(float f) 32020: { 32020: return qAbs(f) <= 0.00001f; 32020: } 32020: 32020: 32020: # 912 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 912 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: 32020: 32020: # 914 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wfloat-equal" 32020: # 914 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: 32020: 32020: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qIsNull(double d) noexcept 32020: { 32020: return d == 0.0; 32020: } 32020: 32020: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qIsNull(float f) noexcept 32020: { 32020: return f == 0.0f; 32020: } 32020: 32020: 32020: # 927 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 927 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: # 949 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: # 949 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 949 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: 32020: 32020: # 951 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wnoexcept" 32020: # 951 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: 32020: namespace QtPrivate 32020: { 32020: namespace SwapExceptionTester { 32020: using std::swap; 32020: template 32020: void checkSwap(T &t) 32020: noexcept(noexcept(swap(t, t))); 32020: 32020: } 32020: } 32020: 32020: template 32020: inline void qSwap(T &value1, T &value2) 32020: noexcept(noexcept(QtPrivate::SwapExceptionTester::checkSwap(value1))) 32020: { 32020: using std::swap; 32020: swap(value1, value2); 32020: } 32020: 32020: 32020: # 972 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 972 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: 32020: # 981 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: __attribute__((visibility("default"))) void *qMallocAligned(size_t size, size_t alignment) __attribute__((alloc_size(1))); 32020: __attribute__((visibility("default"))) void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment) __attribute__((alloc_size(2))); 32020: __attribute__((visibility("default"))) void qFreeAligned(void *ptr); 32020: # 1032 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: template 32020: inline bool qt_is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, 32020: ForwardIterator2 first2, ForwardIterator2 last2) 32020: { 32020: return [&first1, &last1, &first2, &last2]() { (void)last2;; return std::is_permutation(first1, last1, first2); }(); 32020: } 32020: 32020: 32020: 32020: template 32020: constexpr typename std::add_const::type &qAsConst(T &t) noexcept { return t; } 32020: 32020: template 32020: void qAsConst(const T &&) = delete; 32020: 32020: 32020: template 32020: constexpr T qExchange(T &t, U &&newValue) 32020: { 32020: T old = std::move(t); 32020: t = std::forward(newValue); 32020: return old; 32020: } 32020: 32020: 32020: 32020: namespace QtPrivate { 32020: 32020: template 32020: class QForeachContainer { 32020: QForeachContainer(const QForeachContainer &) = delete; QForeachContainer &operator=(const QForeachContainer &) = delete; 32020: public: 32020: QForeachContainer(const T &t) : c(t), i(qAsConst(c).begin()), e(qAsConst(c).end()) {} 32020: QForeachContainer(T &&t) : c(std::move(t)), i(qAsConst(c).begin()), e(qAsConst(c).end()) {} 32020: 32020: QForeachContainer(QForeachContainer &&other) 32020: : c(std::move(other.c)), 32020: i(qAsConst(c).begin()), 32020: e(qAsConst(c).end()), 32020: control(std::move(other.control)) 32020: { 32020: } 32020: 32020: QForeachContainer &operator=(QForeachContainer &&other) 32020: { 32020: c = std::move(other.c); 32020: i = qAsConst(c).begin(); 32020: e = qAsConst(c).end(); 32020: control = std::move(other.control); 32020: return *this; 32020: } 32020: 32020: T c; 32020: typename T::const_iterator i, e; 32020: int control = 1; 32020: }; 32020: 32020: template 32020: QForeachContainer::type> qMakeForeachContainer(T &&t) 32020: { 32020: return QForeachContainer::type>(std::forward(t)); 32020: } 32020: 32020: } 32020: # 1134 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: template inline T *qGetPtrHelper(T *ptr) { return ptr; } 32020: template inline auto qGetPtrHelper(Ptr &ptr) -> decltype(ptr.operator->()) { return ptr.operator->(); } 32020: # 1177 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: __attribute__((visibility("default"))) QString qtTrId(const char *id, int n = -1); 32020: # 1209 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: template 32020: struct QNonConstOverload 32020: { 32020: template 32020: constexpr auto operator()(R (T::*ptr)(Args...)) const noexcept -> decltype(ptr) 32020: { return ptr; } 32020: 32020: template 32020: static constexpr auto of(R (T::*ptr)(Args...)) noexcept -> decltype(ptr) 32020: { return ptr; } 32020: }; 32020: 32020: template 32020: struct QConstOverload 32020: { 32020: template 32020: constexpr auto operator()(R (T::*ptr)(Args...) const) const noexcept -> decltype(ptr) 32020: { return ptr; } 32020: 32020: template 32020: static constexpr auto of(R (T::*ptr)(Args...) const) noexcept -> decltype(ptr) 32020: { return ptr; } 32020: }; 32020: 32020: template 32020: struct QOverload : QConstOverload, QNonConstOverload 32020: { 32020: using QConstOverload::of; 32020: using QConstOverload::operator(); 32020: using QNonConstOverload::of; 32020: using QNonConstOverload::operator(); 32020: 32020: template 32020: constexpr auto operator()(R (*ptr)(Args...)) const noexcept -> decltype(ptr) 32020: { return ptr; } 32020: 32020: template 32020: static constexpr auto of(R (*ptr)(Args...)) noexcept -> decltype(ptr) 32020: { return ptr; } 32020: }; 32020: 32020: 32020: template constexpr __attribute__((__unused__)) QOverload qOverload = {}; 32020: template constexpr __attribute__((__unused__)) QConstOverload qConstOverload = {}; 32020: template constexpr __attribute__((__unused__)) QNonConstOverload qNonConstOverload = {}; 32020: 32020: 32020: 32020: 32020: 32020: class QByteArray; 32020: __attribute__((visibility("default"))) QByteArray qgetenv(const char *varName); 32020: 32020: __attribute__((visibility("default"))) QString qEnvironmentVariable(const char *varName); 32020: __attribute__((visibility("default"))) QString qEnvironmentVariable(const char *varName, const QString &defaultValue); 32020: __attribute__((visibility("default"))) bool qputenv(const char *varName, const QByteArray& value); 32020: __attribute__((visibility("default"))) bool qunsetenv(const char *varName); 32020: 32020: __attribute__((visibility("default"))) bool qEnvironmentVariableIsEmpty(const char *varName) noexcept; 32020: __attribute__((visibility("default"))) bool qEnvironmentVariableIsSet(const char *varName) noexcept; 32020: __attribute__((visibility("default"))) int qEnvironmentVariableIntValue(const char *varName, bool *ok=nullptr) noexcept; 32020: 32020: inline int qIntCast(double f) { return int(f); } 32020: inline int qIntCast(float f) { return int(f); } 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) __attribute__ ((__deprecated__("use QRandomGenerator instead"))) void qsrand(uint seed); 32020: __attribute__((visibility("default"))) __attribute__ ((__deprecated__("use QRandomGenerator instead"))) int qrand(); 32020: # 1290 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 3 4 32020: namespace QtPrivate { 32020: 32020: template struct QEnableIf; 32020: template struct QEnableIf { typedef T Type; }; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 1 3 4 32020: # 41 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 1 3 4 32020: # 42 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: static constexpr bool qIsRelocatable() 32020: { 32020: 32020: return std::is_trivially_copyable::value && std::is_trivially_destructible::value; 32020: 32020: 32020: 32020: } 32020: 32020: template 32020: static constexpr bool qIsTrivial() 32020: { 32020: 32020: return std::is_trivial::value; 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class QTypeInfo 32020: { 32020: public: 32020: enum { 32020: isSpecialized = std::is_enum::value, 32020: isPointer = false, 32020: isIntegral = std::is_integral::value, 32020: isComplex = !qIsTrivial(), 32020: isStatic = true, 32020: isRelocatable = qIsRelocatable(), 32020: isLarge = (sizeof(T)>sizeof(void*)), 32020: isDummy = false, 32020: sizeOf = sizeof(T) 32020: }; 32020: }; 32020: 32020: template<> 32020: class QTypeInfo 32020: { 32020: public: 32020: enum { 32020: isSpecialized = true, 32020: isPointer = false, 32020: isIntegral = false, 32020: isComplex = false, 32020: isStatic = false, 32020: isRelocatable = false, 32020: isLarge = false, 32020: isDummy = false, 32020: sizeOf = 0 32020: }; 32020: }; 32020: 32020: template 32020: class QTypeInfo 32020: { 32020: public: 32020: enum { 32020: isSpecialized = true, 32020: isPointer = true, 32020: isIntegral = false, 32020: isComplex = false, 32020: isStatic = false, 32020: isRelocatable = true, 32020: isLarge = false, 32020: isDummy = false, 32020: sizeOf = sizeof(T*) 32020: }; 32020: }; 32020: # 142 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: template 32020: struct QTypeInfoQuery : public QTypeInfo 32020: { 32020: enum { isRelocatable = !QTypeInfo::isStatic }; 32020: }; 32020: 32020: 32020: template 32020: struct QTypeInfoQuery::isRelocatable || true>::type> : public QTypeInfo 32020: {}; 32020: # 173 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: template 32020: class QTypeInfoMerger 32020: { 32020: public: 32020: enum { 32020: isSpecialized = true, 32020: isComplex = QTypeInfoQuery::isComplex || QTypeInfoQuery::isComplex 32020: || QTypeInfoQuery::isComplex || QTypeInfoQuery::isComplex, 32020: isStatic = QTypeInfoQuery::isStatic || QTypeInfoQuery::isStatic 32020: || QTypeInfoQuery::isStatic || QTypeInfoQuery::isStatic, 32020: isRelocatable = QTypeInfoQuery::isRelocatable && QTypeInfoQuery::isRelocatable 32020: && QTypeInfoQuery::isRelocatable && QTypeInfoQuery::isRelocatable, 32020: isLarge = sizeof(T) > sizeof(void*), 32020: isPointer = false, 32020: isIntegral = false, 32020: isDummy = false, 32020: sizeOf = sizeof(T) 32020: }; 32020: }; 32020: # 212 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: 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) }; }; 32020: 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) }; }; 32020: 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) }; }; 32020: 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) }; }; 32020: 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) }; }; 32020: # 240 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: template class QMap; template class QTypeInfo< QMap > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(15<<8)|(2)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QMap) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QMap) }; }; 32020: template class QMultiMap; template class QTypeInfo< QMultiMap > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(15<<8)|(2)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QMultiMap) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QMultiMap) }; }; 32020: template class QHash; template class QTypeInfo< QHash > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(15<<8)|(2)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QHash) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QHash) }; }; 32020: template class QMultiHash; template class QTypeInfo< QMultiHash > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(15<<8)|(2)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QMultiHash) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QMultiHash) }; }; 32020: # 255 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: enum { 32020: Q_COMPLEX_TYPE = 0, 32020: Q_PRIMITIVE_TYPE = 0x1, 32020: Q_STATIC_TYPE = 0, 32020: Q_MOVABLE_TYPE = 0x2, 32020: Q_DUMMY_TYPE = 0x4, 32020: Q_RELOCATABLE_TYPE = 0x8 32020: }; 32020: # 287 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: template class QFlags; 32020: template 32020: class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial >(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable >(), 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"; } }; 32020: # 319 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: # 347 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 3 4 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: # 1301 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: 32020: # 69 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: class QString; 32020: class __attribute__((visibility("default"))) QSysInfo { 32020: public: 32020: enum Sizes { 32020: WordSize = (sizeof(void *)<<3) 32020: }; 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: enum Endian { 32020: BigEndian, 32020: LittleEndian 32020: 32020: 32020: 32020: 32020: 32020: 32020: , ByteOrder = LittleEndian 32020: 32020: 32020: 32020: }; 32020: 32020: 32020: enum __attribute__ ((__deprecated__("Use QOperatingSystemVersion"))) WinVersion { 32020: WV_None = 0x0000, 32020: 32020: WV_32s = 0x0001, 32020: WV_95 = 0x0002, 32020: WV_98 = 0x0003, 32020: WV_Me = 0x0004, 32020: WV_DOS_based= 0x000f, 32020: 32020: 32020: WV_NT = 0x0010, 32020: WV_2000 = 0x0020, 32020: WV_XP = 0x0030, 32020: WV_2003 = 0x0040, 32020: WV_VISTA = 0x0080, 32020: WV_WINDOWS7 = 0x0090, 32020: WV_WINDOWS8 = 0x00a0, 32020: WV_WINDOWS8_1 = 0x00b0, 32020: WV_WINDOWS10 = 0x00c0, 32020: WV_NT_based = 0x00f0, 32020: 32020: 32020: WV_4_0 = WV_NT, 32020: WV_5_0 = WV_2000, 32020: WV_5_1 = WV_XP, 32020: WV_5_2 = WV_2003, 32020: WV_6_0 = WV_VISTA, 32020: WV_6_1 = WV_WINDOWS7, 32020: WV_6_2 = WV_WINDOWS8, 32020: WV_6_3 = WV_WINDOWS8_1, 32020: WV_10_0 = WV_WINDOWS10, 32020: 32020: WV_CE = 0x0100, 32020: WV_CENET = 0x0200, 32020: WV_CE_5 = 0x0300, 32020: WV_CE_6 = 0x0400, 32020: WV_CE_based = 0x0f00 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: enum __attribute__ ((__deprecated__("Use QOperatingSystemVersion"))) MacVersion { 32020: MV_None = 0xffff, 32020: MV_Unknown = 0x0000, 32020: 32020: 32020: MV_9 = (9 == 10 ? 0 + 2 : (9 == 9 ? 1 : 0)), 32020: MV_10_0 = (10 == 10 ? 0 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_1 = (10 == 10 ? 1 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_2 = (10 == 10 ? 2 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_3 = (10 == 10 ? 3 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_4 = (10 == 10 ? 4 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_5 = (10 == 10 ? 5 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_6 = (10 == 10 ? 6 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_7 = (10 == 10 ? 7 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_8 = (10 == 10 ? 8 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_9 = (10 == 10 ? 9 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_10 = (10 == 10 ? 10 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_11 = (10 == 10 ? 11 + 2 : (10 == 9 ? 1 : 0)), 32020: MV_10_12 = (10 == 10 ? 12 + 2 : (10 == 9 ? 1 : 0)), 32020: 32020: 32020: MV_CHEETAH = MV_10_0, 32020: MV_PUMA = MV_10_1, 32020: MV_JAGUAR = MV_10_2, 32020: MV_PANTHER = MV_10_3, 32020: MV_TIGER = MV_10_4, 32020: MV_LEOPARD = MV_10_5, 32020: MV_SNOWLEOPARD = MV_10_6, 32020: MV_LION = MV_10_7, 32020: MV_MOUNTAINLION = MV_10_8, 32020: MV_MAVERICKS = MV_10_9, 32020: MV_YOSEMITE = MV_10_10, 32020: MV_ELCAPITAN = MV_10_11, 32020: MV_SIERRA = MV_10_12, 32020: 32020: 32020: MV_IOS = 1 << 8, 32020: MV_IOS_4_3 = (QSysInfo::MV_IOS | 4 << 4 | 3), 32020: MV_IOS_5_0 = (QSysInfo::MV_IOS | 5 << 4 | 0), 32020: MV_IOS_5_1 = (QSysInfo::MV_IOS | 5 << 4 | 1), 32020: MV_IOS_6_0 = (QSysInfo::MV_IOS | 6 << 4 | 0), 32020: MV_IOS_6_1 = (QSysInfo::MV_IOS | 6 << 4 | 1), 32020: MV_IOS_7_0 = (QSysInfo::MV_IOS | 7 << 4 | 0), 32020: MV_IOS_7_1 = (QSysInfo::MV_IOS | 7 << 4 | 1), 32020: MV_IOS_8_0 = (QSysInfo::MV_IOS | 8 << 4 | 0), 32020: MV_IOS_8_1 = (QSysInfo::MV_IOS | 8 << 4 | 1), 32020: MV_IOS_8_2 = (QSysInfo::MV_IOS | 8 << 4 | 2), 32020: MV_IOS_8_3 = (QSysInfo::MV_IOS | 8 << 4 | 3), 32020: MV_IOS_8_4 = (QSysInfo::MV_IOS | 8 << 4 | 4), 32020: MV_IOS_9_0 = (QSysInfo::MV_IOS | 9 << 4 | 0), 32020: MV_IOS_9_1 = (QSysInfo::MV_IOS | 9 << 4 | 1), 32020: MV_IOS_9_2 = (QSysInfo::MV_IOS | 9 << 4 | 2), 32020: MV_IOS_9_3 = (QSysInfo::MV_IOS | 9 << 4 | 3), 32020: MV_IOS_10_0 = (QSysInfo::MV_IOS | 10 << 4 | 0), 32020: 32020: 32020: MV_TVOS = 1 << 9, 32020: MV_TVOS_9_0 = (QSysInfo::MV_TVOS | 9 << 4 | 0), 32020: MV_TVOS_9_1 = (QSysInfo::MV_TVOS | 9 << 4 | 1), 32020: MV_TVOS_9_2 = (QSysInfo::MV_TVOS | 9 << 4 | 2), 32020: MV_TVOS_10_0 = (QSysInfo::MV_TVOS | 10 << 4 | 0), 32020: 32020: 32020: MV_WATCHOS = 1 << 10, 32020: MV_WATCHOS_2_0 = (QSysInfo::MV_WATCHOS | 2 << 4 | 0), 32020: MV_WATCHOS_2_1 = (QSysInfo::MV_WATCHOS | 2 << 4 | 1), 32020: MV_WATCHOS_2_2 = (QSysInfo::MV_WATCHOS | 2 << 4 | 2), 32020: MV_WATCHOS_3_0 = (QSysInfo::MV_WATCHOS | 3 << 4 | 0) 32020: }; 32020: 32020: 32020: # 213 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 213 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: 32020: 32020: # 214 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: # 214 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: static const WinVersion WindowsVersion = WV_None; 32020: static WinVersion windowsVersion() { return WV_None; } 32020: 32020: 32020: 32020: 32020: 32020: static const MacVersion MacintoshVersion = MV_None; 32020: static MacVersion macVersion() { return MV_None; } 32020: 32020: 32020: # 229 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 229 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsysinfo.h" 3 4 32020: 32020: 32020: 32020: static QString buildCpuArchitecture(); 32020: static QString currentCpuArchitecture(); 32020: static QString buildAbi(); 32020: 32020: static QString kernelType(); 32020: static QString kernelVersion(); 32020: static QString productType(); 32020: static QString productVersion(); 32020: static QString prettyProductName(); 32020: 32020: static QString machineHostName(); 32020: static QByteArray machineUniqueId(); 32020: static QByteArray bootUniqueId(); 32020: }; 32020: 32020: 32020: 32020: 32020: # 1302 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlogging.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlogging.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QDebug; 32020: class QNoDebug; 32020: 32020: enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtInfoMsg, QtSystemMsg = QtCriticalMsg }; 32020: 32020: class QMessageLogContext 32020: { 32020: QMessageLogContext(const QMessageLogContext &) = delete; QMessageLogContext &operator=(const QMessageLogContext &) = delete; 32020: public: 32020: constexpr QMessageLogContext() noexcept = default; 32020: constexpr QMessageLogContext(const char *fileName, int lineNumber, const char *functionName, const char *categoryName) noexcept 32020: : line(lineNumber), file(fileName), function(functionName), category(categoryName) {} 32020: 32020: int version = 2; 32020: int line = 0; 32020: const char *file = nullptr; 32020: const char *function = nullptr; 32020: const char *category = nullptr; 32020: 32020: private: 32020: QMessageLogContext ©ContextFrom(const QMessageLogContext &logContext) noexcept; 32020: 32020: friend class QMessageLogger; 32020: friend class QDebug; 32020: }; 32020: 32020: class QLoggingCategory; 32020: 32020: class __attribute__((visibility("default"))) QMessageLogger 32020: { 32020: QMessageLogger(const QMessageLogger &) = delete; QMessageLogger &operator=(const QMessageLogger &) = delete; 32020: public: 32020: constexpr QMessageLogger() : context() {} 32020: constexpr QMessageLogger(const char *file, int line, const char *function) 32020: : context(file, line, function, "default") {} 32020: constexpr QMessageLogger(const char *file, int line, const char *function, const char *category) 32020: : context(file, line, function, category) {} 32020: 32020: void debug(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 32020: void noDebug(const char *, ...) const __attribute__((format(printf, (2), (3)))) 32020: {} 32020: void info(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 32020: __attribute__((cold)) 32020: void warning(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 32020: __attribute__((cold)) 32020: void critical(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 32020: 32020: typedef const QLoggingCategory &(*CategoryFunction)(); 32020: 32020: void debug(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: void debug(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: void info(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: void info(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: __attribute__((cold)) 32020: void warning(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: __attribute__((cold)) 32020: void warning(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: __attribute__((cold)) 32020: void critical(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: __attribute__((cold)) 32020: void critical(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 32020: 32020: 32020: __attribute__((__noreturn__)) 32020: 32020: __attribute__((cold)) 32020: void fatal(const char *msg, ...) const noexcept __attribute__((format(printf, (2), (3)))); 32020: 32020: 32020: QDebug debug() const; 32020: QDebug debug(const QLoggingCategory &cat) const; 32020: QDebug debug(CategoryFunction catFunc) const; 32020: QDebug info() const; 32020: QDebug info(const QLoggingCategory &cat) const; 32020: QDebug info(CategoryFunction catFunc) const; 32020: QDebug warning() const; 32020: QDebug warning(const QLoggingCategory &cat) const; 32020: QDebug warning(CategoryFunction catFunc) const; 32020: QDebug critical() const; 32020: QDebug critical(const QLoggingCategory &cat) const; 32020: QDebug critical(CategoryFunction catFunc) const; 32020: 32020: QNoDebug noDebug() const noexcept; 32020: 32020: 32020: private: 32020: QMessageLogContext context; 32020: }; 32020: # 185 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlogging.h" 3 4 32020: __attribute__((visibility("default"))) void qt_message_output(QtMsgType, const QMessageLogContext &context, 32020: const QString &message); 32020: 32020: __attribute__((visibility("default"))) __attribute__((cold)) void qErrnoWarning(int code, const char *msg, ...); 32020: __attribute__((visibility("default"))) __attribute__((cold)) void qErrnoWarning(const char *msg, ...); 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef void (*QtMessageHandler)(QtMsgType, const QMessageLogContext &, const QString &); 32020: __attribute__((visibility("default"))) QtMessageHandler qInstallMessageHandler(QtMessageHandler); 32020: 32020: __attribute__((visibility("default"))) void qSetMessagePattern(const QString &messagePattern); 32020: __attribute__((visibility("default"))) QString qFormatLogMessage(QtMsgType type, const QMessageLogContext &context, 32020: const QString &buf); 32020: 32020: 32020: # 1303 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qflags.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qflags.h" 3 4 32020: 32020: 32020: class QDataStream; 32020: 32020: class QFlag 32020: { 32020: int i; 32020: public: 32020: constexpr inline QFlag(int value) noexcept : i(value) {} 32020: constexpr inline operator int() const noexcept { return i; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QFlag(long value) noexcept : i(int(value)) {} 32020: constexpr inline QFlag(ulong value) noexcept : i(int(long(value))) {} 32020: 32020: constexpr inline QFlag(uint value) noexcept : i(int(value)) {} 32020: constexpr inline QFlag(short value) noexcept : i(int(value)) {} 32020: constexpr inline QFlag(ushort value) noexcept : i(int(uint(value))) {} 32020: constexpr inline operator uint() const noexcept { return uint(i); } 32020: 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: class QIncompatibleFlag 32020: { 32020: int i; 32020: public: 32020: constexpr inline explicit QIncompatibleFlag(int i) noexcept; 32020: constexpr inline operator int() const noexcept { return i; } 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: constexpr inline QIncompatibleFlag::QIncompatibleFlag(int value) noexcept : i(value) {} 32020: 32020: 32020: 32020: 32020: template 32020: class QFlags 32020: { 32020: static_assert(bool((sizeof(Enum) <= sizeof(int))), "QFlags uses an int as storage, so an enum with underlying " "long long will overflow.") 32020: 32020: ; 32020: static_assert(bool((std::is_enum::value)), "QFlags is only usable on enumeration types."); 32020: 32020: 32020: struct Private; 32020: typedef int (Private::*Zero); 32020: 32020: template friend QDataStream &operator>>(QDataStream &, QFlags &); 32020: template friend QDataStream &operator<<(QDataStream &, QFlags); 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: typedef typename std::conditional< 32020: std::is_unsigned::type>::value, 32020: unsigned int, 32020: signed int 32020: >::type Int; 32020: 32020: typedef Enum enum_type; 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QFlags() noexcept : i(0) {} 32020: constexpr inline QFlags(Enum flags) noexcept : i(Int(flags)) {} 32020: 32020: __attribute__ ((__deprecated__("Use default constructor instead"))) constexpr inline QFlags(Zero) noexcept : i(0) {} 32020: 32020: constexpr inline QFlags(QFlag flag) noexcept : i(flag) {} 32020: 32020: constexpr inline QFlags(std::initializer_list flags) noexcept 32020: : i(initializer_list_helper(flags.begin(), flags.end())) {} 32020: 32020: constexpr inline QFlags &operator&=(int mask) noexcept { i &= mask; return *this; } 32020: constexpr inline QFlags &operator&=(uint mask) noexcept { i &= mask; return *this; } 32020: constexpr inline QFlags &operator&=(Enum mask) noexcept { i &= Int(mask); return *this; } 32020: constexpr inline QFlags &operator|=(QFlags other) noexcept { i |= other.i; return *this; } 32020: constexpr inline QFlags &operator|=(Enum other) noexcept { i |= Int(other); return *this; } 32020: constexpr inline QFlags &operator^=(QFlags other) noexcept { i ^= other.i; return *this; } 32020: constexpr inline QFlags &operator^=(Enum other) noexcept { i ^= Int(other); return *this; } 32020: 32020: constexpr inline operator Int() const noexcept { return i; } 32020: 32020: constexpr inline QFlags operator|(QFlags other) const noexcept { return QFlags(QFlag(i | other.i)); } 32020: constexpr inline QFlags operator|(Enum other) const noexcept { return QFlags(QFlag(i | Int(other))); } 32020: constexpr inline QFlags operator^(QFlags other) const noexcept { return QFlags(QFlag(i ^ other.i)); } 32020: constexpr inline QFlags operator^(Enum other) const noexcept { return QFlags(QFlag(i ^ Int(other))); } 32020: constexpr inline QFlags operator&(int mask) const noexcept { return QFlags(QFlag(i & mask)); } 32020: constexpr inline QFlags operator&(uint mask) const noexcept { return QFlags(QFlag(i & mask)); } 32020: constexpr inline QFlags operator&(Enum other) const noexcept { return QFlags(QFlag(i & Int(other))); } 32020: constexpr inline QFlags operator~() const noexcept { return QFlags(QFlag(~i)); } 32020: 32020: constexpr inline bool operator!() const noexcept { return !i; } 32020: 32020: constexpr inline bool testFlag(Enum flag) const noexcept { return (i & Int(flag)) == Int(flag) && (Int(flag) != 0 || i == Int(flag) ); } 32020: constexpr inline QFlags &setFlag(Enum flag, bool on = true) noexcept 32020: { 32020: return on ? (*this |= flag) : (*this &= ~Int(flag)); 32020: } 32020: 32020: private: 32020: constexpr static inline Int initializer_list_helper(typename std::initializer_list::const_iterator it, 32020: typename std::initializer_list::const_iterator end) 32020: noexcept 32020: { 32020: return (it == end ? Int(0) : (Int(*it) | initializer_list_helper(it + 1, end))); 32020: } 32020: 32020: Int i; 32020: }; 32020: # 195 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qflags.h" 3 4 32020: 32020: # 1305 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 1 3 4 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtypeinfo.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 2 3 4 32020: 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: template struct QAtomicOpsSupport { enum { IsSupported = 0 }; }; 32020: template<> struct QAtomicOpsSupport<4> { enum { IsSupported = 1 }; }; 32020: 32020: template struct QAtomicAdditiveType 32020: { 32020: typedef T AdditiveT; 32020: static const int AddScale = 1; 32020: }; 32020: template struct QAtomicAdditiveType 32020: { 32020: typedef qptrdiff AdditiveT; 32020: static const int AddScale = sizeof(T); 32020: }; 32020: 32020: 32020: template struct QGenericAtomicOps 32020: { 32020: template struct AtomicType { typedef T Type; typedef T *PointerType; }; 32020: 32020: template static void acquireMemoryFence(const T &_q_value) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: } 32020: template static void releaseMemoryFence(const T &_q_value) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: } 32020: template static void orderedMemoryFence(const T &) noexcept 32020: { 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T load(const T &_q_value) noexcept 32020: { 32020: return _q_value; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: void store(T &_q_value, X newValue) noexcept 32020: { 32020: _q_value = newValue; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T loadRelaxed(const T &_q_value) noexcept 32020: { 32020: return _q_value; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: void storeRelaxed(T &_q_value, X newValue) noexcept 32020: { 32020: _q_value = newValue; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T loadAcquire(const T &_q_value) noexcept 32020: { 32020: T tmp = *static_cast(&_q_value); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: void storeRelease(T &_q_value, X newValue) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: *static_cast(&_q_value) = newValue; 32020: } 32020: 32020: static inline constexpr bool isReferenceCountingNative() noexcept 32020: { return BaseClass::isFetchAndAddNative(); } 32020: static inline constexpr bool isReferenceCountingWaitFree() noexcept 32020: { return BaseClass::isFetchAndAddWaitFree(); } 32020: template static inline __attribute__((always_inline)) 32020: bool ref(T &_q_value) noexcept 32020: { 32020: return BaseClass::fetchAndAddRelaxed(_q_value, 1) != T(-1); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: bool deref(T &_q_value) noexcept 32020: { 32020: return BaseClass::fetchAndAddRelaxed(_q_value, -1) != 1; 32020: } 32020: # 153 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: template static inline __attribute__((always_inline)) 32020: bool testAndSetAcquire(T &_q_value, X expectedValue, X newValue) noexcept 32020: { 32020: bool tmp = BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: bool testAndSetRelease(T &_q_value, X expectedValue, X newValue) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: bool testAndSetOrdered(T &_q_value, X expectedValue, X newValue) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: bool testAndSetAcquire(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 32020: { 32020: bool tmp = BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: bool testAndSetRelease(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: bool testAndSetOrdered(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 32020: } 32020: 32020: static inline constexpr bool isFetchAndStoreNative() noexcept { return false; } 32020: static inline constexpr bool isFetchAndStoreWaitFree() noexcept { return false; } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndStoreRelaxed(T &_q_value, X newValue) noexcept 32020: { 32020: 32020: for(;;) { 32020: T tmp = loadRelaxed(_q_value); 32020: if (BaseClass::testAndSetRelaxed(_q_value, tmp, newValue)) 32020: return tmp; 32020: } 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndStoreAcquire(T &_q_value, X newValue) noexcept 32020: { 32020: T tmp = BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndStoreRelease(T &_q_value, X newValue) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndStoreOrdered(T &_q_value, X newValue) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 32020: } 32020: 32020: static inline constexpr bool isFetchAndAddNative() noexcept { return false; } 32020: static inline constexpr bool isFetchAndAddWaitFree() noexcept { return false; } 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAddRelaxed(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: 32020: for(;;) { 32020: T tmp = BaseClass::loadRelaxed(_q_value); 32020: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp + valueToAdd))) 32020: return tmp; 32020: } 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAddAcquire(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: T tmp = BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAddRelease(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAddOrdered(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 32020: } 32020: 32020: 32020: # 268 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 268 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndSubRelaxed(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 32020: { 32020: 32020: return fetchAndAddRelaxed(_q_value, -operand); 32020: } 32020: 32020: # 276 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 276 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qgenericatomic.h" 3 4 32020: 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndSubAcquire(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 32020: { 32020: T tmp = BaseClass::fetchAndSubRelaxed(_q_value, operand); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndSubRelease(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::fetchAndSubRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndSubOrdered(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::fetchAndSubRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAndRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: 32020: T tmp = BaseClass::loadRelaxed(_q_value); 32020: for(;;) { 32020: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp & operand), &tmp)) 32020: return tmp; 32020: } 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAndAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: T tmp = BaseClass::fetchAndAndRelaxed(_q_value, operand); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAndRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::fetchAndAndRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndAndOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::fetchAndAndRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndOrRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: 32020: T tmp = BaseClass::loadRelaxed(_q_value); 32020: for(;;) { 32020: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp | operand), &tmp)) 32020: return tmp; 32020: } 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndOrAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: T tmp = BaseClass::fetchAndOrRelaxed(_q_value, operand); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndOrRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::fetchAndOrRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndOrOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::fetchAndOrRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndXorRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: 32020: T tmp = BaseClass::loadRelaxed(_q_value); 32020: for(;;) { 32020: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp ^ operand), &tmp)) 32020: return tmp; 32020: } 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndXorAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: T tmp = BaseClass::fetchAndXorRelaxed(_q_value, operand); 32020: BaseClass::acquireMemoryFence(_q_value); 32020: return tmp; 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndXorRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: BaseClass::releaseMemoryFence(_q_value); 32020: return BaseClass::fetchAndXorRelaxed(_q_value, operand); 32020: } 32020: 32020: template static inline __attribute__((always_inline)) 32020: T fetchAndXorOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 32020: { 32020: BaseClass::orderedMemoryFence(_q_value); 32020: return BaseClass::fetchAndXorRelaxed(_q_value, operand); 32020: } 32020: }; 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 2 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 1 3 4 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 3 4 32020: 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 3 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_lockfree_defines.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_lockfree_defines.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_lockfree_defines.h" 3 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 74 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: typedef enum memory_order 32020: { 32020: memory_order_relaxed, 32020: memory_order_consume, 32020: memory_order_acquire, 32020: memory_order_release, 32020: memory_order_acq_rel, 32020: memory_order_seq_cst 32020: } memory_order; 32020: 32020: 32020: enum __memory_order_modifier 32020: { 32020: __memory_order_mask = 0x0ffff, 32020: __memory_order_modifier_mask = 0xffff0000, 32020: __memory_order_hle_acquire = 0x10000, 32020: __memory_order_hle_release = 0x20000 32020: }; 32020: 32020: constexpr memory_order 32020: operator|(memory_order __m, __memory_order_modifier __mod) 32020: { 32020: return memory_order(int(__m) | int(__mod)); 32020: } 32020: 32020: constexpr memory_order 32020: operator&(memory_order __m, __memory_order_modifier __mod) 32020: { 32020: return memory_order(int(__m) & int(__mod)); 32020: } 32020: 32020: 32020: constexpr memory_order 32020: __cmpexch_failure_order2(memory_order __m) noexcept 32020: { 32020: return __m == memory_order_acq_rel ? memory_order_acquire 32020: : __m == memory_order_release ? memory_order_relaxed : __m; 32020: } 32020: 32020: constexpr memory_order 32020: __cmpexch_failure_order(memory_order __m) noexcept 32020: { 32020: return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask) 32020: | __memory_order_modifier(__m & __memory_order_modifier_mask)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: atomic_thread_fence(memory_order __m) noexcept 32020: { __atomic_thread_fence(int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: atomic_signal_fence(memory_order __m) noexcept 32020: { __atomic_signal_fence(int(__m)); } 32020: 32020: 32020: template 32020: inline _Tp 32020: kill_dependency(_Tp __y) noexcept 32020: { 32020: _Tp __ret(__y); 32020: return __ret; 32020: } 32020: 32020: 32020: 32020: template 32020: struct __atomic_base; 32020: # 151 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: template 32020: struct atomic; 32020: 32020: template 32020: struct atomic<_Tp*>; 32020: 32020: 32020: 32020: typedef bool __atomic_flag_data_type; 32020: # 174 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: extern "C" { 32020: 32020: struct __atomic_flag_base 32020: { 32020: __atomic_flag_data_type _M_i ; 32020: }; 32020: 32020: } 32020: 32020: 32020: 32020: 32020: struct atomic_flag : public __atomic_flag_base 32020: { 32020: atomic_flag() noexcept = default; 32020: ~atomic_flag() noexcept = default; 32020: atomic_flag(const atomic_flag&) = delete; 32020: atomic_flag& operator=(const atomic_flag&) = delete; 32020: atomic_flag& operator=(const atomic_flag&) volatile = delete; 32020: 32020: 32020: constexpr atomic_flag(bool __i) noexcept 32020: : __atomic_flag_base{ _S_init(__i) } 32020: { } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: test_and_set(memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return __atomic_test_and_set (&_M_i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return __atomic_test_and_set (&_M_i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: clear(memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: __atomic_clear (&_M_i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: clear(memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: __atomic_clear (&_M_i, int(__m)); 32020: } 32020: 32020: private: 32020: static constexpr __atomic_flag_data_type 32020: _S_init(bool __i) 32020: { return __i ? 1 : 0; } 32020: }; 32020: # 264 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: template 32020: struct __atomic_base 32020: { 32020: using value_type = _ITp; 32020: using difference_type = value_type; 32020: 32020: private: 32020: typedef _ITp __int_type; 32020: 32020: static constexpr int _S_alignment = 32020: sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); 32020: 32020: alignas(_S_alignment) __int_type _M_i ; 32020: 32020: public: 32020: __atomic_base() noexcept = default; 32020: ~__atomic_base() noexcept = default; 32020: __atomic_base(const __atomic_base&) = delete; 32020: __atomic_base& operator=(const __atomic_base&) = delete; 32020: __atomic_base& operator=(const __atomic_base&) volatile = delete; 32020: 32020: 32020: constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { } 32020: 32020: operator __int_type() const noexcept 32020: { return load(); } 32020: 32020: operator __int_type() const volatile noexcept 32020: { return load(); } 32020: 32020: __int_type 32020: operator=(__int_type __i) noexcept 32020: { 32020: store(__i); 32020: return __i; 32020: } 32020: 32020: __int_type 32020: operator=(__int_type __i) volatile noexcept 32020: { 32020: store(__i); 32020: return __i; 32020: } 32020: 32020: __int_type 32020: operator++(int) noexcept 32020: { return fetch_add(1); } 32020: 32020: __int_type 32020: operator++(int) volatile noexcept 32020: { return fetch_add(1); } 32020: 32020: __int_type 32020: operator--(int) noexcept 32020: { return fetch_sub(1); } 32020: 32020: __int_type 32020: operator--(int) volatile noexcept 32020: { return fetch_sub(1); } 32020: 32020: __int_type 32020: operator++() noexcept 32020: { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator++() volatile noexcept 32020: { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator--() noexcept 32020: { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator--() volatile noexcept 32020: { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator+=(__int_type __i) noexcept 32020: { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator+=(__int_type __i) volatile noexcept 32020: { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator-=(__int_type __i) noexcept 32020: { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator-=(__int_type __i) volatile noexcept 32020: { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator&=(__int_type __i) noexcept 32020: { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator&=(__int_type __i) volatile noexcept 32020: { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator|=(__int_type __i) noexcept 32020: { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator|=(__int_type __i) volatile noexcept 32020: { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator^=(__int_type __i) noexcept 32020: { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: __int_type 32020: operator^=(__int_type __i) volatile noexcept 32020: { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); } 32020: 32020: bool 32020: is_lock_free() const noexcept 32020: { 32020: 32020: return __atomic_is_lock_free(sizeof(_M_i), 32020: reinterpret_cast(-_S_alignment)); 32020: } 32020: 32020: bool 32020: is_lock_free() const volatile noexcept 32020: { 32020: 32020: return __atomic_is_lock_free(sizeof(_M_i), 32020: reinterpret_cast(-_S_alignment)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: __atomic_store_n(&_M_i, __i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: store(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: __atomic_store_n(&_M_i, __i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: load(memory_order __m = memory_order_seq_cst) const noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: 32020: return __atomic_load_n(&_M_i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: 32020: return __atomic_load_n(&_M_i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: exchange(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return __atomic_exchange_n(&_M_i, __i, int(__m)); 32020: } 32020: 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: exchange(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return __atomic_exchange_n(&_M_i, __i, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_weak(__int_type& __i1, __int_type __i2, 32020: memory_order __m1, memory_order __m2) noexcept 32020: { 32020: memory_order __b2 = __m2 & __memory_order_mask; 32020: memory_order __b1 = __m1 & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, 32020: int(__m1), int(__m2)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_weak(__int_type& __i1, __int_type __i2, 32020: memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { 32020: memory_order __b2 = __m2 & __memory_order_mask; 32020: memory_order __b1 = __m1 & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, 32020: int(__m1), int(__m2)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_weak(__int_type& __i1, __int_type __i2, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return compare_exchange_weak(__i1, __i2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_weak(__int_type& __i1, __int_type __i2, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return compare_exchange_weak(__i1, __i2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_strong(__int_type& __i1, __int_type __i2, 32020: memory_order __m1, memory_order __m2) noexcept 32020: { 32020: memory_order __b2 = __m2 & __memory_order_mask; 32020: memory_order __b1 = __m1 & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, 32020: int(__m1), int(__m2)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_strong(__int_type& __i1, __int_type __i2, 32020: memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { 32020: memory_order __b2 = __m2 & __memory_order_mask; 32020: memory_order __b1 = __m1 & __memory_order_mask; 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, 32020: int(__m1), int(__m2)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_strong(__int_type& __i1, __int_type __i2, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return compare_exchange_strong(__i1, __i2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_strong(__int_type& __i1, __int_type __i2, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return compare_exchange_strong(__i1, __i2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_add(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_add(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_add(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_add(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_sub(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_sub(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_sub(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_sub(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_and(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_and(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_and(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_and(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_or(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_or(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_or(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_or(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_xor(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_xor(&_M_i, __i, int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __int_type 32020: fetch_xor(__int_type __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_xor(&_M_i, __i, int(__m)); } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct __atomic_base<_PTp*> 32020: { 32020: private: 32020: typedef _PTp* __pointer_type; 32020: 32020: __pointer_type _M_p ; 32020: 32020: 32020: constexpr ptrdiff_t 32020: _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); } 32020: 32020: constexpr ptrdiff_t 32020: _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); } 32020: 32020: public: 32020: __atomic_base() noexcept = default; 32020: ~__atomic_base() noexcept = default; 32020: __atomic_base(const __atomic_base&) = delete; 32020: __atomic_base& operator=(const __atomic_base&) = delete; 32020: __atomic_base& operator=(const __atomic_base&) volatile = delete; 32020: 32020: 32020: constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { } 32020: 32020: operator __pointer_type() const noexcept 32020: { return load(); } 32020: 32020: operator __pointer_type() const volatile noexcept 32020: { return load(); } 32020: 32020: __pointer_type 32020: operator=(__pointer_type __p) noexcept 32020: { 32020: store(__p); 32020: return __p; 32020: } 32020: 32020: __pointer_type 32020: operator=(__pointer_type __p) volatile noexcept 32020: { 32020: store(__p); 32020: return __p; 32020: } 32020: 32020: __pointer_type 32020: operator++(int) noexcept 32020: { return fetch_add(1); } 32020: 32020: __pointer_type 32020: operator++(int) volatile noexcept 32020: { return fetch_add(1); } 32020: 32020: __pointer_type 32020: operator--(int) noexcept 32020: { return fetch_sub(1); } 32020: 32020: __pointer_type 32020: operator--(int) volatile noexcept 32020: { return fetch_sub(1); } 32020: 32020: __pointer_type 32020: operator++() noexcept 32020: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator++() volatile noexcept 32020: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator--() noexcept 32020: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator--() volatile noexcept 32020: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator+=(ptrdiff_t __d) noexcept 32020: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator+=(ptrdiff_t __d) volatile noexcept 32020: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator-=(ptrdiff_t __d) noexcept 32020: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 32020: int(memory_order_seq_cst)); } 32020: 32020: __pointer_type 32020: operator-=(ptrdiff_t __d) volatile noexcept 32020: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 32020: int(memory_order_seq_cst)); } 32020: 32020: bool 32020: is_lock_free() const noexcept 32020: { 32020: 32020: return __atomic_is_lock_free(sizeof(_M_p), 32020: reinterpret_cast(-__alignof(_M_p))); 32020: } 32020: 32020: bool 32020: is_lock_free() const volatile noexcept 32020: { 32020: 32020: return __atomic_is_lock_free(sizeof(_M_p), 32020: reinterpret_cast(-__alignof(_M_p))); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: store(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: __atomic_store_n(&_M_p, __p, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) void 32020: store(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: __atomic_store_n(&_M_p, __p, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: load(memory_order __m = memory_order_seq_cst) const noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: 32020: return __atomic_load_n(&_M_p, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 32020: { 32020: memory_order __b = __m & __memory_order_mask; 32020: ; 32020: ; 32020: 32020: return __atomic_load_n(&_M_p, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: exchange(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return __atomic_exchange_n(&_M_p, __p, int(__m)); 32020: } 32020: 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: exchange(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return __atomic_exchange_n(&_M_p, __p, int(__m)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m1, 32020: memory_order __m2) noexcept 32020: { 32020: memory_order __b2 = __m2 & __memory_order_mask; 32020: memory_order __b1 = __m1 & __memory_order_mask; 32020: ; 32020: ; 32020: ; 32020: 32020: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, 32020: int(__m1), int(__m2)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) bool 32020: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { 32020: memory_order __b2 = __m2 & __memory_order_mask; 32020: memory_order __b1 = __m1 & __memory_order_mask; 32020: 32020: ; 32020: ; 32020: ; 32020: 32020: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, 32020: int(__m1), int(__m2)); 32020: } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: fetch_add(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: fetch_add(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: fetch_sub(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); } 32020: 32020: inline __attribute__((__always_inline__)) __pointer_type 32020: fetch_sub(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); } 32020: }; 32020: # 1700 "/usr/arm-linux-gnueabihf/include/c++/10/bits/atomic_base.h" 3 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 56 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 3 32020: template 32020: struct atomic; 32020: 32020: 32020: 32020: template<> 32020: struct atomic 32020: { 32020: using value_type = bool; 32020: 32020: private: 32020: __atomic_base _M_base; 32020: 32020: public: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(bool __i) noexcept : _M_base(__i) { } 32020: 32020: bool 32020: operator=(bool __i) noexcept 32020: { return _M_base.operator=(__i); } 32020: 32020: bool 32020: operator=(bool __i) volatile noexcept 32020: { return _M_base.operator=(__i); } 32020: 32020: operator bool() const noexcept 32020: { return _M_base.load(); } 32020: 32020: operator bool() const volatile noexcept 32020: { return _M_base.load(); } 32020: 32020: bool 32020: is_lock_free() const noexcept { return _M_base.is_lock_free(); } 32020: 32020: bool 32020: is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); } 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: 32020: void 32020: store(bool __i, memory_order __m = memory_order_seq_cst) noexcept 32020: { _M_base.store(__i, __m); } 32020: 32020: void 32020: store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { _M_base.store(__i, __m); } 32020: 32020: bool 32020: load(memory_order __m = memory_order_seq_cst) const noexcept 32020: { return _M_base.load(__m); } 32020: 32020: bool 32020: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 32020: { return _M_base.load(__m); } 32020: 32020: bool 32020: exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept 32020: { return _M_base.exchange(__i, __m); } 32020: 32020: bool 32020: exchange(bool __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return _M_base.exchange(__i, __m); } 32020: 32020: bool 32020: compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, 32020: memory_order __m2) noexcept 32020: { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_weak(bool& __i1, bool __i2, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return _M_base.compare_exchange_weak(__i1, __i2, __m); } 32020: 32020: bool 32020: compare_exchange_weak(bool& __i1, bool __i2, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return _M_base.compare_exchange_weak(__i1, __i2, __m); } 32020: 32020: bool 32020: compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, 32020: memory_order __m2) noexcept 32020: { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_strong(bool& __i1, bool __i2, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return _M_base.compare_exchange_strong(__i1, __i2, __m); } 32020: 32020: bool 32020: compare_exchange_strong(bool& __i1, bool __i2, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return _M_base.compare_exchange_strong(__i1, __i2, __m); } 32020: }; 32020: # 179 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 3 32020: template 32020: struct atomic 32020: { 32020: using value_type = _Tp; 32020: 32020: private: 32020: 32020: static constexpr int _S_min_alignment 32020: = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16 32020: ? 0 : sizeof(_Tp); 32020: 32020: static constexpr int _S_alignment 32020: = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp); 32020: 32020: alignas(_S_alignment) _Tp _M_i ; 32020: 32020: static_assert(__is_trivially_copyable(_Tp), 32020: "std::atomic requires a trivially copyable type"); 32020: 32020: static_assert(sizeof(_Tp) > 0, 32020: "Incomplete or zero-sized types are not supported"); 32020: 32020: public: 32020: atomic() = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(_Tp __i) noexcept : _M_i(__i) { } 32020: 32020: operator _Tp() const noexcept 32020: { return load(); } 32020: 32020: operator _Tp() const volatile noexcept 32020: { return load(); } 32020: 32020: _Tp 32020: operator=(_Tp __i) noexcept 32020: { store(__i); return __i; } 32020: 32020: _Tp 32020: operator=(_Tp __i) volatile noexcept 32020: { store(__i); return __i; } 32020: 32020: bool 32020: is_lock_free() const noexcept 32020: { 32020: 32020: return __atomic_is_lock_free(sizeof(_M_i), 32020: reinterpret_cast(-_S_alignment)); 32020: } 32020: 32020: bool 32020: is_lock_free() const volatile noexcept 32020: { 32020: 32020: return __atomic_is_lock_free(sizeof(_M_i), 32020: reinterpret_cast(-_S_alignment)); 32020: } 32020: 32020: 32020: static constexpr bool is_always_lock_free 32020: = __atomic_always_lock_free(sizeof(_M_i), 0); 32020: 32020: 32020: void 32020: store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept 32020: { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m)); } 32020: 32020: void 32020: store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m)); } 32020: 32020: _Tp 32020: load(memory_order __m = memory_order_seq_cst) const noexcept 32020: { 32020: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 32020: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 32020: __atomic_load(std::__addressof(_M_i), __ptr, int(__m)); 32020: return *__ptr; 32020: } 32020: 32020: _Tp 32020: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 32020: { 32020: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 32020: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 32020: __atomic_load(std::__addressof(_M_i), __ptr, int(__m)); 32020: return *__ptr; 32020: } 32020: 32020: _Tp 32020: exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 32020: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 32020: __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), 32020: __ptr, int(__m)); 32020: return *__ptr; 32020: } 32020: 32020: _Tp 32020: exchange(_Tp __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 32020: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 32020: __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), 32020: __ptr, int(__m)); 32020: return *__ptr; 32020: } 32020: 32020: bool 32020: compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 32020: memory_order __f) noexcept 32020: { 32020: return __atomic_compare_exchange(std::__addressof(_M_i), 32020: std::__addressof(__e), 32020: std::__addressof(__i), 32020: true, int(__s), int(__f)); 32020: } 32020: 32020: bool 32020: compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 32020: memory_order __f) volatile noexcept 32020: { 32020: return __atomic_compare_exchange(std::__addressof(_M_i), 32020: std::__addressof(__e), 32020: std::__addressof(__i), 32020: true, int(__s), int(__f)); 32020: } 32020: 32020: bool 32020: compare_exchange_weak(_Tp& __e, _Tp __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return compare_exchange_weak(__e, __i, __m, 32020: __cmpexch_failure_order(__m)); } 32020: 32020: bool 32020: compare_exchange_weak(_Tp& __e, _Tp __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return compare_exchange_weak(__e, __i, __m, 32020: __cmpexch_failure_order(__m)); } 32020: 32020: bool 32020: compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 32020: memory_order __f) noexcept 32020: { 32020: return __atomic_compare_exchange(std::__addressof(_M_i), 32020: std::__addressof(__e), 32020: std::__addressof(__i), 32020: false, int(__s), int(__f)); 32020: } 32020: 32020: bool 32020: compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 32020: memory_order __f) volatile noexcept 32020: { 32020: return __atomic_compare_exchange(std::__addressof(_M_i), 32020: std::__addressof(__e), 32020: std::__addressof(__i), 32020: false, int(__s), int(__f)); 32020: } 32020: 32020: bool 32020: compare_exchange_strong(_Tp& __e, _Tp __i, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return compare_exchange_strong(__e, __i, __m, 32020: __cmpexch_failure_order(__m)); } 32020: 32020: bool 32020: compare_exchange_strong(_Tp& __e, _Tp __i, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return compare_exchange_strong(__e, __i, __m, 32020: __cmpexch_failure_order(__m)); } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct atomic<_Tp*> 32020: { 32020: using value_type = _Tp*; 32020: using difference_type = ptrdiff_t; 32020: 32020: typedef _Tp* __pointer_type; 32020: typedef __atomic_base<_Tp*> __base_type; 32020: __base_type _M_b; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { } 32020: 32020: operator __pointer_type() const noexcept 32020: { return __pointer_type(_M_b); } 32020: 32020: operator __pointer_type() const volatile noexcept 32020: { return __pointer_type(_M_b); } 32020: 32020: __pointer_type 32020: operator=(__pointer_type __p) noexcept 32020: { return _M_b.operator=(__p); } 32020: 32020: __pointer_type 32020: operator=(__pointer_type __p) volatile noexcept 32020: { return _M_b.operator=(__p); } 32020: 32020: __pointer_type 32020: operator++(int) noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b++; 32020: } 32020: 32020: __pointer_type 32020: operator++(int) volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b++; 32020: } 32020: 32020: __pointer_type 32020: operator--(int) noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b--; 32020: } 32020: 32020: __pointer_type 32020: operator--(int) volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b--; 32020: } 32020: 32020: __pointer_type 32020: operator++() noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return ++_M_b; 32020: } 32020: 32020: __pointer_type 32020: operator++() volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return ++_M_b; 32020: } 32020: 32020: __pointer_type 32020: operator--() noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return --_M_b; 32020: } 32020: 32020: __pointer_type 32020: operator--() volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return --_M_b; 32020: } 32020: 32020: __pointer_type 32020: operator+=(ptrdiff_t __d) noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.operator+=(__d); 32020: } 32020: 32020: __pointer_type 32020: operator+=(ptrdiff_t __d) volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.operator+=(__d); 32020: } 32020: 32020: __pointer_type 32020: operator-=(ptrdiff_t __d) noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.operator-=(__d); 32020: } 32020: 32020: __pointer_type 32020: operator-=(ptrdiff_t __d) volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.operator-=(__d); 32020: } 32020: 32020: bool 32020: is_lock_free() const noexcept 32020: { return _M_b.is_lock_free(); } 32020: 32020: bool 32020: is_lock_free() const volatile noexcept 32020: { return _M_b.is_lock_free(); } 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: 32020: void 32020: store(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return _M_b.store(__p, __m); } 32020: 32020: void 32020: store(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return _M_b.store(__p, __m); } 32020: 32020: __pointer_type 32020: load(memory_order __m = memory_order_seq_cst) const noexcept 32020: { return _M_b.load(__m); } 32020: 32020: __pointer_type 32020: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 32020: { return _M_b.load(__m); } 32020: 32020: __pointer_type 32020: exchange(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { return _M_b.exchange(__p, __m); } 32020: 32020: __pointer_type 32020: exchange(__pointer_type __p, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { return _M_b.exchange(__p, __m); } 32020: 32020: bool 32020: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m1, memory_order __m2) noexcept 32020: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return compare_exchange_weak(__p1, __p2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: bool 32020: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return compare_exchange_weak(__p1, __p2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: bool 32020: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m1, memory_order __m2) noexcept 32020: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m1, 32020: memory_order __m2) volatile noexcept 32020: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 32020: 32020: bool 32020: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: return _M_b.compare_exchange_strong(__p1, __p2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: bool 32020: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: return _M_b.compare_exchange_strong(__p1, __p2, __m, 32020: __cmpexch_failure_order(__m)); 32020: } 32020: 32020: __pointer_type 32020: fetch_add(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.fetch_add(__d, __m); 32020: } 32020: 32020: __pointer_type 32020: fetch_add(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.fetch_add(__d, __m); 32020: } 32020: 32020: __pointer_type 32020: fetch_sub(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.fetch_sub(__d, __m); 32020: } 32020: 32020: __pointer_type 32020: fetch_sub(ptrdiff_t __d, 32020: memory_order __m = memory_order_seq_cst) volatile noexcept 32020: { 32020: 32020: static_assert( is_object<_Tp>::value, "pointer to object type" ); 32020: 32020: return _M_b.fetch_sub(__d, __m); 32020: } 32020: }; 32020: 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef char __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef signed char __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept= default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef unsigned char __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept= default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef short __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef unsigned short __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef int __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef unsigned int __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef long __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef unsigned long __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef long long __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef unsigned long long __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef wchar_t __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: # 937 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 3 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef char16_t __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: template<> 32020: struct atomic : __atomic_base 32020: { 32020: typedef char32_t __integral_type; 32020: typedef __atomic_base __base_type; 32020: 32020: atomic() noexcept = default; 32020: ~atomic() noexcept = default; 32020: atomic(const atomic&) = delete; 32020: atomic& operator=(const atomic&) = delete; 32020: atomic& operator=(const atomic&) volatile = delete; 32020: 32020: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 32020: 32020: using __base_type::operator __integral_type; 32020: using __base_type::operator=; 32020: 32020: 32020: static constexpr bool is_always_lock_free = 2 == 2; 32020: 32020: }; 32020: 32020: 32020: 32020: typedef atomic atomic_bool; 32020: 32020: 32020: typedef atomic atomic_char; 32020: 32020: 32020: typedef atomic atomic_schar; 32020: 32020: 32020: typedef atomic atomic_uchar; 32020: 32020: 32020: typedef atomic atomic_short; 32020: 32020: 32020: typedef atomic atomic_ushort; 32020: 32020: 32020: typedef atomic atomic_int; 32020: 32020: 32020: typedef atomic atomic_uint; 32020: 32020: 32020: typedef atomic atomic_long; 32020: 32020: 32020: typedef atomic atomic_ulong; 32020: 32020: 32020: typedef atomic atomic_llong; 32020: 32020: 32020: typedef atomic atomic_ullong; 32020: 32020: 32020: typedef atomic atomic_wchar_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef atomic atomic_char16_t; 32020: 32020: 32020: typedef atomic atomic_char32_t; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef atomic atomic_int8_t; 32020: 32020: 32020: typedef atomic atomic_uint8_t; 32020: 32020: 32020: typedef atomic atomic_int16_t; 32020: 32020: 32020: typedef atomic atomic_uint16_t; 32020: 32020: 32020: typedef atomic atomic_int32_t; 32020: 32020: 32020: typedef atomic atomic_uint32_t; 32020: 32020: 32020: typedef atomic atomic_int64_t; 32020: 32020: 32020: typedef atomic atomic_uint64_t; 32020: 32020: 32020: 32020: typedef atomic atomic_int_least8_t; 32020: 32020: 32020: typedef atomic atomic_uint_least8_t; 32020: 32020: 32020: typedef atomic atomic_int_least16_t; 32020: 32020: 32020: typedef atomic atomic_uint_least16_t; 32020: 32020: 32020: typedef atomic atomic_int_least32_t; 32020: 32020: 32020: typedef atomic atomic_uint_least32_t; 32020: 32020: 32020: typedef atomic atomic_int_least64_t; 32020: 32020: 32020: typedef atomic atomic_uint_least64_t; 32020: 32020: 32020: 32020: typedef atomic atomic_int_fast8_t; 32020: 32020: 32020: typedef atomic atomic_uint_fast8_t; 32020: 32020: 32020: typedef atomic atomic_int_fast16_t; 32020: 32020: 32020: typedef atomic atomic_uint_fast16_t; 32020: 32020: 32020: typedef atomic atomic_int_fast32_t; 32020: 32020: 32020: typedef atomic atomic_uint_fast32_t; 32020: 32020: 32020: typedef atomic atomic_int_fast64_t; 32020: 32020: 32020: typedef atomic atomic_uint_fast64_t; 32020: 32020: 32020: 32020: 32020: typedef atomic atomic_intptr_t; 32020: 32020: 32020: typedef atomic atomic_uintptr_t; 32020: 32020: 32020: typedef atomic atomic_size_t; 32020: 32020: 32020: typedef atomic atomic_ptrdiff_t; 32020: 32020: 32020: 32020: typedef atomic atomic_intmax_t; 32020: 32020: 32020: typedef atomic atomic_uintmax_t; 32020: 32020: 32020: 32020: inline bool 32020: atomic_flag_test_and_set_explicit(atomic_flag* __a, 32020: memory_order __m) noexcept 32020: { return __a->test_and_set(__m); } 32020: 32020: inline bool 32020: atomic_flag_test_and_set_explicit(volatile atomic_flag* __a, 32020: memory_order __m) noexcept 32020: { return __a->test_and_set(__m); } 32020: 32020: inline void 32020: atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept 32020: { __a->clear(__m); } 32020: 32020: inline void 32020: atomic_flag_clear_explicit(volatile atomic_flag* __a, 32020: memory_order __m) noexcept 32020: { __a->clear(__m); } 32020: 32020: inline bool 32020: atomic_flag_test_and_set(atomic_flag* __a) noexcept 32020: { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } 32020: 32020: inline bool 32020: atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept 32020: { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } 32020: 32020: inline void 32020: atomic_flag_clear(atomic_flag* __a) noexcept 32020: { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } 32020: 32020: inline void 32020: atomic_flag_clear(volatile atomic_flag* __a) noexcept 32020: { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } 32020: 32020: 32020: template 32020: using __atomic_val_t = typename atomic<_Tp>::value_type; 32020: template 32020: using __atomic_diff_t = typename atomic<_Tp>::difference_type; 32020: 32020: 32020: 32020: template 32020: inline bool 32020: atomic_is_lock_free(const atomic<_ITp>* __a) noexcept 32020: { return __a->is_lock_free(); } 32020: 32020: template 32020: inline bool 32020: atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept 32020: { return __a->is_lock_free(); } 32020: 32020: template 32020: inline void 32020: atomic_init(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept 32020: { __a->store(__i, memory_order_relaxed); } 32020: 32020: template 32020: inline void 32020: atomic_init(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept 32020: { __a->store(__i, memory_order_relaxed); } 32020: 32020: template 32020: inline void 32020: atomic_store_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { __a->store(__i, __m); } 32020: 32020: template 32020: inline void 32020: atomic_store_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { __a->store(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept 32020: { return __a->load(__m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_load_explicit(const volatile atomic<_ITp>* __a, 32020: memory_order __m) noexcept 32020: { return __a->load(__m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_exchange_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->exchange(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_exchange_explicit(volatile atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->exchange(__i, __m); } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2, 32020: memory_order __m1, 32020: memory_order __m2) noexcept 32020: { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2, 32020: memory_order __m1, 32020: memory_order __m2) noexcept 32020: { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2, 32020: memory_order __m1, 32020: memory_order __m2) noexcept 32020: { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2, 32020: memory_order __m1, 32020: memory_order __m2) noexcept 32020: { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } 32020: 32020: 32020: template 32020: inline void 32020: atomic_store(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept 32020: { atomic_store_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline void 32020: atomic_store(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept 32020: { atomic_store_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_load(const atomic<_ITp>* __a) noexcept 32020: { return atomic_load_explicit(__a, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_load(const volatile atomic<_ITp>* __a) noexcept 32020: { return atomic_load_explicit(__a, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_exchange(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_exchange(volatile atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak(atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2) noexcept 32020: { 32020: return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, 32020: memory_order_seq_cst, 32020: memory_order_seq_cst); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak(volatile atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2) noexcept 32020: { 32020: return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, 32020: memory_order_seq_cst, 32020: memory_order_seq_cst); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_strong(atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2) noexcept 32020: { 32020: return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, 32020: memory_order_seq_cst, 32020: memory_order_seq_cst); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_strong(volatile atomic<_ITp>* __a, 32020: __atomic_val_t<_ITp>* __i1, 32020: __atomic_val_t<_ITp> __i2) noexcept 32020: { 32020: return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, 32020: memory_order_seq_cst, 32020: memory_order_seq_cst); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_add_explicit(atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_add(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_add_explicit(volatile atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_add(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_sub_explicit(atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_sub(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_sub_explicit(volatile atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_sub(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_and_explicit(__atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_and(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_and(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_or_explicit(__atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_or(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_or(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_xor(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i, 32020: memory_order __m) noexcept 32020: { return __a->fetch_xor(__i, __m); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_add(atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i) noexcept 32020: { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_add(volatile atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i) noexcept 32020: { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_sub(atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i) noexcept 32020: { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_sub(volatile atomic<_ITp>* __a, 32020: __atomic_diff_t<_ITp> __i) noexcept 32020: { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_and(__atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_and(volatile __atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_or(__atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_or(volatile __atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_xor(__atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } 32020: 32020: template 32020: inline _ITp 32020: atomic_fetch_xor(volatile __atomic_base<_ITp>* __a, 32020: __atomic_val_t<_ITp> __i) noexcept 32020: { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } 32020: # 1547 "/usr/arm-linux-gnueabihf/include/c++/10/atomic" 3 32020: 32020: } 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 2 3 4 32020: 32020: 32020: # 75 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: template struct QAtomicTraits 32020: { static constexpr inline bool isLockFree(); }; 32020: # 89 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: template <> constexpr inline bool QAtomicTraits<4>::isLockFree() 32020: { return true; } 32020: # 134 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: template<> struct QAtomicOpsSupport<1> { enum { IsSupported = 1 }; }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template <> constexpr inline bool QAtomicTraits<1>::isLockFree() 32020: { return true; } 32020: # 162 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: template<> struct QAtomicOpsSupport<2> { enum { IsSupported = 1 }; }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template <> constexpr inline bool QAtomicTraits<2>::isLockFree() 32020: { return false; } 32020: # 191 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: template<> struct QAtomicOpsSupport<8> { enum { IsSupported = 1 }; }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template <> constexpr inline bool QAtomicTraits<8>::isLockFree() 32020: { return true; } 32020: # 220 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic_cxx11.h" 3 4 32020: template struct QAtomicOps 32020: { 32020: typedef std::atomic Type; 32020: 32020: template static inline 32020: T load(const std::atomic &_q_value) noexcept 32020: { 32020: return _q_value.load(std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T load(const volatile std::atomic &_q_value) noexcept 32020: { 32020: return _q_value.load(std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T loadRelaxed(const std::atomic &_q_value) noexcept 32020: { 32020: return _q_value.load(std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T loadRelaxed(const volatile std::atomic &_q_value) noexcept 32020: { 32020: return _q_value.load(std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T loadAcquire(const std::atomic &_q_value) noexcept 32020: { 32020: return _q_value.load(std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: T loadAcquire(const volatile std::atomic &_q_value) noexcept 32020: { 32020: return _q_value.load(std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: void store(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: _q_value.store(newValue, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: void storeRelaxed(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: _q_value.store(newValue, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: void storeRelease(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: _q_value.store(newValue, std::memory_order_release); 32020: } 32020: 32020: static inline constexpr bool isReferenceCountingNative() noexcept { return isTestAndSetNative(); } 32020: static inline constexpr bool isReferenceCountingWaitFree() noexcept { return false; } 32020: template 32020: static inline bool ref(std::atomic &_q_value) 32020: { 32020: return ++_q_value != 0; 32020: } 32020: 32020: template 32020: static inline bool deref(std::atomic &_q_value) noexcept 32020: { 32020: return --_q_value != 0; 32020: } 32020: 32020: static inline constexpr bool isTestAndSetNative() noexcept 32020: { return QAtomicTraits::isLockFree(); } 32020: static inline constexpr bool isTestAndSetWaitFree() noexcept { return false; } 32020: 32020: template 32020: static bool testAndSetRelaxed(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 32020: { 32020: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_relaxed, std::memory_order_relaxed); 32020: if (currentValue) 32020: *currentValue = expectedValue; 32020: return tmp; 32020: } 32020: 32020: template 32020: static bool testAndSetAcquire(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 32020: { 32020: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acquire, std::memory_order_acquire); 32020: if (currentValue) 32020: *currentValue = expectedValue; 32020: return tmp; 32020: } 32020: 32020: template 32020: static bool testAndSetRelease(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 32020: { 32020: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_release, std::memory_order_relaxed); 32020: if (currentValue) 32020: *currentValue = expectedValue; 32020: return tmp; 32020: } 32020: 32020: template 32020: static bool testAndSetOrdered(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 32020: { 32020: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acq_rel, std::memory_order_acquire); 32020: if (currentValue) 32020: *currentValue = expectedValue; 32020: return tmp; 32020: } 32020: 32020: static inline constexpr bool isFetchAndStoreNative() noexcept { return isTestAndSetNative(); } 32020: static inline constexpr bool isFetchAndStoreWaitFree() noexcept { return false; } 32020: 32020: template 32020: static T fetchAndStoreRelaxed(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: return _q_value.exchange(newValue, std::memory_order_relaxed); 32020: } 32020: 32020: template 32020: static T fetchAndStoreAcquire(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: return _q_value.exchange(newValue, std::memory_order_acquire); 32020: } 32020: 32020: template 32020: static T fetchAndStoreRelease(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: return _q_value.exchange(newValue, std::memory_order_release); 32020: } 32020: 32020: template 32020: static T fetchAndStoreOrdered(std::atomic &_q_value, T newValue) noexcept 32020: { 32020: return _q_value.exchange(newValue, std::memory_order_acq_rel); 32020: } 32020: 32020: static inline constexpr bool isFetchAndAddNative() noexcept { return isTestAndSetNative(); } 32020: static inline constexpr bool isFetchAndAddWaitFree() noexcept { return false; } 32020: 32020: template static inline 32020: T fetchAndAddRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_add(valueToAdd, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T fetchAndAddAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_add(valueToAdd, std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: T fetchAndAddRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_add(valueToAdd, std::memory_order_release); 32020: } 32020: 32020: template static inline 32020: T fetchAndAddOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_add(valueToAdd, std::memory_order_acq_rel); 32020: } 32020: 32020: template static inline 32020: T fetchAndSubRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_sub(valueToAdd, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T fetchAndSubAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_sub(valueToAdd, std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: T fetchAndSubRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_sub(valueToAdd, std::memory_order_release); 32020: } 32020: 32020: template static inline 32020: T fetchAndSubOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_sub(valueToAdd, std::memory_order_acq_rel); 32020: } 32020: 32020: template static inline 32020: T fetchAndAndRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_and(valueToAdd, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T fetchAndAndAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_and(valueToAdd, std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: T fetchAndAndRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_and(valueToAdd, std::memory_order_release); 32020: } 32020: 32020: template static inline 32020: T fetchAndAndOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_and(valueToAdd, std::memory_order_acq_rel); 32020: } 32020: 32020: template static inline 32020: T fetchAndOrRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_or(valueToAdd, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T fetchAndOrAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_or(valueToAdd, std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: T fetchAndOrRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_or(valueToAdd, std::memory_order_release); 32020: } 32020: 32020: template static inline 32020: T fetchAndOrOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_or(valueToAdd, std::memory_order_acq_rel); 32020: } 32020: 32020: template static inline 32020: T fetchAndXorRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_xor(valueToAdd, std::memory_order_relaxed); 32020: } 32020: 32020: template static inline 32020: T fetchAndXorAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_xor(valueToAdd, std::memory_order_acquire); 32020: } 32020: 32020: template static inline 32020: T fetchAndXorRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_xor(valueToAdd, std::memory_order_release); 32020: } 32020: 32020: template static inline 32020: T fetchAndXorOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 32020: { 32020: return _q_value.fetch_xor(valueToAdd, std::memory_order_acq_rel); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 2 3 4 32020: # 64 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: 32020: # 64 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 64 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: 32020: 32020: 32020: 32020: # 89 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: template 32020: class QBasicAtomicInteger 32020: { 32020: public: 32020: typedef T Type; 32020: typedef QAtomicOps Ops; 32020: 32020: static_assert(bool(QTypeInfo::isIntegral), "template parameter is not an integral type"); 32020: static_assert(bool(QAtomicOpsSupport::IsSupported), "template parameter is an integral of a size not supported on this platform"); 32020: 32020: typename Ops::Type _q_value; 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use loadRelaxed"))) T load() const noexcept { return loadRelaxed(); } 32020: __attribute__ ((__deprecated__("Use storeRelaxed"))) void store(T newValue) noexcept { storeRelaxed(newValue); } 32020: 32020: 32020: T loadRelaxed() const noexcept { return Ops::loadRelaxed(_q_value); } 32020: void storeRelaxed(T newValue) noexcept { Ops::storeRelaxed(_q_value, newValue); } 32020: 32020: T loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); } 32020: void storeRelease(T newValue) noexcept { Ops::storeRelease(_q_value, newValue); } 32020: operator T() const noexcept { return loadAcquire(); } 32020: T operator=(T newValue) noexcept { storeRelease(newValue); return newValue; } 32020: 32020: static constexpr bool isReferenceCountingNative() noexcept { return Ops::isReferenceCountingNative(); } 32020: static constexpr bool isReferenceCountingWaitFree() noexcept { return Ops::isReferenceCountingWaitFree(); } 32020: 32020: bool ref() noexcept { return Ops::ref(_q_value); } 32020: bool deref() noexcept { return Ops::deref(_q_value); } 32020: 32020: static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } 32020: static constexpr bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); } 32020: 32020: bool testAndSetRelaxed(T expectedValue, T newValue) noexcept 32020: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); } 32020: bool testAndSetAcquire(T expectedValue, T newValue) noexcept 32020: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); } 32020: bool testAndSetRelease(T expectedValue, T newValue) noexcept 32020: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); } 32020: bool testAndSetOrdered(T expectedValue, T newValue) noexcept 32020: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); } 32020: 32020: bool testAndSetRelaxed(T expectedValue, T newValue, T ¤tValue) noexcept 32020: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, ¤tValue); } 32020: bool testAndSetAcquire(T expectedValue, T newValue, T ¤tValue) noexcept 32020: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, ¤tValue); } 32020: bool testAndSetRelease(T expectedValue, T newValue, T ¤tValue) noexcept 32020: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, ¤tValue); } 32020: bool testAndSetOrdered(T expectedValue, T newValue, T ¤tValue) noexcept 32020: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, ¤tValue); } 32020: 32020: static constexpr bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); } 32020: static constexpr bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); } 32020: 32020: T fetchAndStoreRelaxed(T newValue) noexcept 32020: { return Ops::fetchAndStoreRelaxed(_q_value, newValue); } 32020: T fetchAndStoreAcquire(T newValue) noexcept 32020: { return Ops::fetchAndStoreAcquire(_q_value, newValue); } 32020: T fetchAndStoreRelease(T newValue) noexcept 32020: { return Ops::fetchAndStoreRelease(_q_value, newValue); } 32020: T fetchAndStoreOrdered(T newValue) noexcept 32020: { return Ops::fetchAndStoreOrdered(_q_value, newValue); } 32020: 32020: static constexpr bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); } 32020: static constexpr bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); } 32020: 32020: T fetchAndAddRelaxed(T valueToAdd) noexcept 32020: { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); } 32020: T fetchAndAddAcquire(T valueToAdd) noexcept 32020: { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); } 32020: T fetchAndAddRelease(T valueToAdd) noexcept 32020: { return Ops::fetchAndAddRelease(_q_value, valueToAdd); } 32020: T fetchAndAddOrdered(T valueToAdd) noexcept 32020: { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); } 32020: 32020: T fetchAndSubRelaxed(T valueToAdd) noexcept 32020: { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); } 32020: T fetchAndSubAcquire(T valueToAdd) noexcept 32020: { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); } 32020: T fetchAndSubRelease(T valueToAdd) noexcept 32020: { return Ops::fetchAndSubRelease(_q_value, valueToAdd); } 32020: T fetchAndSubOrdered(T valueToAdd) noexcept 32020: { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); } 32020: 32020: T fetchAndAndRelaxed(T valueToAdd) noexcept 32020: { return Ops::fetchAndAndRelaxed(_q_value, valueToAdd); } 32020: T fetchAndAndAcquire(T valueToAdd) noexcept 32020: { return Ops::fetchAndAndAcquire(_q_value, valueToAdd); } 32020: T fetchAndAndRelease(T valueToAdd) noexcept 32020: { return Ops::fetchAndAndRelease(_q_value, valueToAdd); } 32020: T fetchAndAndOrdered(T valueToAdd) noexcept 32020: { return Ops::fetchAndAndOrdered(_q_value, valueToAdd); } 32020: 32020: T fetchAndOrRelaxed(T valueToAdd) noexcept 32020: { return Ops::fetchAndOrRelaxed(_q_value, valueToAdd); } 32020: T fetchAndOrAcquire(T valueToAdd) noexcept 32020: { return Ops::fetchAndOrAcquire(_q_value, valueToAdd); } 32020: T fetchAndOrRelease(T valueToAdd) noexcept 32020: { return Ops::fetchAndOrRelease(_q_value, valueToAdd); } 32020: T fetchAndOrOrdered(T valueToAdd) noexcept 32020: { return Ops::fetchAndOrOrdered(_q_value, valueToAdd); } 32020: 32020: T fetchAndXorRelaxed(T valueToAdd) noexcept 32020: { return Ops::fetchAndXorRelaxed(_q_value, valueToAdd); } 32020: T fetchAndXorAcquire(T valueToAdd) noexcept 32020: { return Ops::fetchAndXorAcquire(_q_value, valueToAdd); } 32020: T fetchAndXorRelease(T valueToAdd) noexcept 32020: { return Ops::fetchAndXorRelease(_q_value, valueToAdd); } 32020: T fetchAndXorOrdered(T valueToAdd) noexcept 32020: { return Ops::fetchAndXorOrdered(_q_value, valueToAdd); } 32020: 32020: T operator++() noexcept 32020: { return fetchAndAddOrdered(1) + 1; } 32020: T operator++(int) noexcept 32020: { return fetchAndAddOrdered(1); } 32020: T operator--() noexcept 32020: { return fetchAndSubOrdered(1) - 1; } 32020: T operator--(int) noexcept 32020: { return fetchAndSubOrdered(1); } 32020: 32020: T operator+=(T v) noexcept 32020: { return fetchAndAddOrdered(v) + v; } 32020: T operator-=(T v) noexcept 32020: { return fetchAndSubOrdered(v) - v; } 32020: T operator&=(T v) noexcept 32020: { return fetchAndAndOrdered(v) & v; } 32020: T operator|=(T v) noexcept 32020: { return fetchAndOrOrdered(v) | v; } 32020: T operator^=(T v) noexcept 32020: { return fetchAndXorOrdered(v) ^ v; } 32020: 32020: 32020: 32020: QBasicAtomicInteger() = default; 32020: constexpr QBasicAtomicInteger(T value) noexcept : _q_value(value) {} 32020: QBasicAtomicInteger(const QBasicAtomicInteger &) = delete; 32020: QBasicAtomicInteger &operator=(const QBasicAtomicInteger &) = delete; 32020: QBasicAtomicInteger &operator=(const QBasicAtomicInteger &) volatile = delete; 32020: 32020: }; 32020: typedef QBasicAtomicInteger QBasicAtomicInt; 32020: 32020: template 32020: class QBasicAtomicPointer 32020: { 32020: public: 32020: typedef X *Type; 32020: typedef QAtomicOps Ops; 32020: typedef typename Ops::Type AtomicType; 32020: 32020: AtomicType _q_value; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use loadRelaxed"))) Type load() const noexcept { return loadRelaxed(); } 32020: __attribute__ ((__deprecated__("Use storeRelaxed"))) void store(Type newValue) noexcept { storeRelaxed(newValue); } 32020: 32020: 32020: Type loadRelaxed() const noexcept { return Ops::loadRelaxed(_q_value); } 32020: void storeRelaxed(Type newValue) noexcept { Ops::storeRelaxed(_q_value, newValue); } 32020: 32020: operator Type() const noexcept { return loadAcquire(); } 32020: Type operator=(Type newValue) noexcept { storeRelease(newValue); return newValue; } 32020: 32020: 32020: Type loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); } 32020: void storeRelease(Type newValue) noexcept { Ops::storeRelease(_q_value, newValue); } 32020: 32020: static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } 32020: static constexpr bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); } 32020: 32020: bool testAndSetRelaxed(Type expectedValue, Type newValue) noexcept 32020: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); } 32020: bool testAndSetAcquire(Type expectedValue, Type newValue) noexcept 32020: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); } 32020: bool testAndSetRelease(Type expectedValue, Type newValue) noexcept 32020: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); } 32020: bool testAndSetOrdered(Type expectedValue, Type newValue) noexcept 32020: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); } 32020: 32020: bool testAndSetRelaxed(Type expectedValue, Type newValue, Type ¤tValue) noexcept 32020: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, ¤tValue); } 32020: bool testAndSetAcquire(Type expectedValue, Type newValue, Type ¤tValue) noexcept 32020: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, ¤tValue); } 32020: bool testAndSetRelease(Type expectedValue, Type newValue, Type ¤tValue) noexcept 32020: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, ¤tValue); } 32020: bool testAndSetOrdered(Type expectedValue, Type newValue, Type ¤tValue) noexcept 32020: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, ¤tValue); } 32020: 32020: static constexpr bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); } 32020: static constexpr bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); } 32020: 32020: Type fetchAndStoreRelaxed(Type newValue) noexcept 32020: { return Ops::fetchAndStoreRelaxed(_q_value, newValue); } 32020: Type fetchAndStoreAcquire(Type newValue) noexcept 32020: { return Ops::fetchAndStoreAcquire(_q_value, newValue); } 32020: Type fetchAndStoreRelease(Type newValue) noexcept 32020: { return Ops::fetchAndStoreRelease(_q_value, newValue); } 32020: Type fetchAndStoreOrdered(Type newValue) noexcept 32020: { return Ops::fetchAndStoreOrdered(_q_value, newValue); } 32020: 32020: static constexpr bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); } 32020: static constexpr bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); } 32020: 32020: Type fetchAndAddRelaxed(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); } 32020: Type fetchAndAddAcquire(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); } 32020: Type fetchAndAddRelease(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndAddRelease(_q_value, valueToAdd); } 32020: Type fetchAndAddOrdered(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); } 32020: 32020: Type fetchAndSubRelaxed(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); } 32020: Type fetchAndSubAcquire(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); } 32020: Type fetchAndSubRelease(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndSubRelease(_q_value, valueToAdd); } 32020: Type fetchAndSubOrdered(qptrdiff valueToAdd) noexcept 32020: { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); } 32020: 32020: Type operator++() noexcept 32020: { return fetchAndAddOrdered(1) + 1; } 32020: Type operator++(int) noexcept 32020: { return fetchAndAddOrdered(1); } 32020: Type operator--() noexcept 32020: { return fetchAndSubOrdered(1) - 1; } 32020: Type operator--(int) noexcept 32020: { return fetchAndSubOrdered(1); } 32020: Type operator+=(qptrdiff valueToAdd) noexcept 32020: { return fetchAndAddOrdered(valueToAdd) + valueToAdd; } 32020: Type operator-=(qptrdiff valueToSub) noexcept 32020: { return fetchAndSubOrdered(valueToSub) - valueToSub; } 32020: 32020: 32020: QBasicAtomicPointer() = default; 32020: constexpr QBasicAtomicPointer(Type value) noexcept : _q_value(value) {} 32020: QBasicAtomicPointer(const QBasicAtomicPointer &) = delete; 32020: QBasicAtomicPointer &operator=(const QBasicAtomicPointer &) = delete; 32020: QBasicAtomicPointer &operator=(const QBasicAtomicPointer &) volatile = delete; 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 340 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 340 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasicatomic.h" 3 4 32020: 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 2 3 4 32020: 32020: 32020: 32020: 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: 32020: 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wextra" 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class QAtomicInteger : public QBasicAtomicInteger 32020: { 32020: public: 32020: 32020: 32020: constexpr QAtomicInteger(T value = 0) noexcept : QBasicAtomicInteger(value) {} 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline QAtomicInteger(const QAtomicInteger &other) noexcept 32020: 32020: : QBasicAtomicInteger() 32020: 32020: { 32020: this->storeRelease(other.loadAcquire()); 32020: } 32020: 32020: inline QAtomicInteger &operator=(const QAtomicInteger &other) noexcept 32020: { 32020: this->storeRelease(other.loadAcquire()); 32020: return *this; 32020: } 32020: # 157 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: }; 32020: 32020: class QAtomicInt : public QAtomicInteger 32020: { 32020: public: 32020: 32020: 32020: 32020: 32020: constexpr 32020: 32020: QAtomicInt(int value = 0) noexcept : QAtomicInteger(value) {} 32020: }; 32020: 32020: 32020: template 32020: class QAtomicPointer : public QBasicAtomicPointer 32020: { 32020: public: 32020: 32020: constexpr QAtomicPointer(T *value = nullptr) noexcept : QBasicAtomicPointer(value) {} 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline QAtomicPointer(const QAtomicPointer &other) noexcept 32020: 32020: : QBasicAtomicPointer() 32020: 32020: { 32020: this->storeRelease(other.loadAcquire()); 32020: } 32020: 32020: inline QAtomicPointer &operator=(const QAtomicPointer &other) noexcept 32020: { 32020: this->storeRelease(other.loadAcquire()); 32020: return *this; 32020: } 32020: # 230 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: }; 32020: 32020: 32020: # 232 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 232 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: 32020: # 244 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: template 32020: inline void qAtomicAssign(T *&d, T *x) 32020: { 32020: if (d == x) 32020: return; 32020: x->ref.ref(); 32020: if (!d->ref.deref()) 32020: delete d; 32020: d = x; 32020: } 32020: # 263 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 3 4 32020: template 32020: inline void qAtomicDetach(T *&d) 32020: { 32020: if (d->ref.loadRelaxed() == 1) 32020: return; 32020: T *x = d; 32020: d = new T(*d); 32020: if (!x->ref.deref()) 32020: delete x; 32020: } 32020: 32020: 32020: # 1307 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobalstatic.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobalstatic.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobalstatic.h" 2 3 4 32020: 32020: 32020: 32020: namespace QtGlobalStatic { 32020: enum GuardValues { 32020: Destroyed = -2, 32020: Initialized = -1, 32020: Uninitialized = 0, 32020: Initializing = 1 32020: }; 32020: } 32020: # 128 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobalstatic.h" 3 4 32020: template 32020: struct QGlobalStatic 32020: { 32020: typedef T Type; 32020: 32020: bool isDestroyed() const { return guard.loadRelaxed() <= QtGlobalStatic::Destroyed; } 32020: bool exists() const { return guard.loadRelaxed() == QtGlobalStatic::Initialized; } 32020: operator Type *() { if (isDestroyed()) return nullptr; return innerFunction(); } 32020: Type *operator()() { if (isDestroyed()) return nullptr; return innerFunction(); } 32020: Type *operator->() 32020: { 32020: static_cast(false && (!isDestroyed())); 32020: return innerFunction(); 32020: } 32020: Type &operator*() 32020: { 32020: static_cast(false && (!isDestroyed())); 32020: return *innerFunction(); 32020: } 32020: }; 32020: # 162 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobalstatic.h" 3 4 32020: 32020: # 1308 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qnumeric.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qnumeric.h" 3 4 32020: 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qIsInf(double d); 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qIsNaN(double d); 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qIsFinite(double d); 32020: __attribute__((visibility("default"))) __attribute__((const)) int qFpClassify(double val); 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qIsInf(float f); 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qIsNaN(float f); 32020: __attribute__((visibility("default"))) __attribute__((const)) bool qIsFinite(float f); 32020: __attribute__((visibility("default"))) __attribute__((const)) int qFpClassify(float val); 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) double qSNaN(); 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) double qQNaN(); 32020: __attribute__((visibility("default"))) __attribute__((const)) double qInf(); 32020: 32020: __attribute__((visibility("default"))) quint32 qFloatDistance(float a, float b); 32020: __attribute__((visibility("default"))) quint64 qFloatDistance(double a, double b); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1309 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qversiontagging.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qversiontagging.h" 3 4 32020: 32020: # 88 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qversiontagging.h" 3 4 32020: 32020: # 1310 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qglobal.h" 2 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtguiglobal.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtgui-config.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtguiglobal.h" 2 3 4 32020: 32020: 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtguiglobal.h" 3 4 32020: 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qnamespace.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qnamespace.h" 3 4 32020: 32020: 32020: 32020: struct QMetaObject; 32020: const QMetaObject *qt_getQtMetaObject() noexcept; 32020: # 64 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qnamespace.h" 3 4 32020: namespace 32020: 32020: 32020: 32020: Qt { 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum GlobalColor { 32020: color0, 32020: color1, 32020: black, 32020: white, 32020: darkGray, 32020: gray, 32020: lightGray, 32020: red, 32020: green, 32020: blue, 32020: cyan, 32020: magenta, 32020: yellow, 32020: darkRed, 32020: darkGreen, 32020: darkBlue, 32020: darkCyan, 32020: darkMagenta, 32020: darkYellow, 32020: transparent 32020: }; 32020: 32020: enum KeyboardModifier { 32020: NoModifier = 0x00000000, 32020: ShiftModifier = 0x02000000, 32020: ControlModifier = 0x04000000, 32020: AltModifier = 0x08000000, 32020: MetaModifier = 0x10000000, 32020: KeypadModifier = 0x20000000, 32020: GroupSwitchModifier = 0x40000000, 32020: 32020: KeyboardModifierMask = 0xfe000000 32020: }; 32020: typedef QFlags KeyboardModifiers; 32020: constexpr inline QFlags operator|(KeyboardModifiers::enum_type f1, KeyboardModifiers::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(KeyboardModifiers::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(KeyboardModifiers::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum Modifier { 32020: META = Qt::MetaModifier, 32020: SHIFT = Qt::ShiftModifier, 32020: CTRL = Qt::ControlModifier, 32020: ALT = Qt::AltModifier, 32020: MODIFIER_MASK = KeyboardModifierMask, 32020: UNICODE_ACCEL = 0x00000000 32020: }; 32020: 32020: enum MouseButton { 32020: NoButton = 0x00000000, 32020: LeftButton = 0x00000001, 32020: RightButton = 0x00000002, 32020: MiddleButton = 0x00000004, 32020: 32020: MidButton __attribute__ ((__deprecated__("MidButton is deprecated. Use MiddleButton instead"))) = MiddleButton, 32020: 32020: BackButton = 0x00000008, 32020: XButton1 = BackButton, 32020: ExtraButton1 = XButton1, 32020: ForwardButton = 0x00000010, 32020: XButton2 = ForwardButton, 32020: ExtraButton2 = ForwardButton, 32020: TaskButton = 0x00000020, 32020: ExtraButton3 = TaskButton, 32020: ExtraButton4 = 0x00000040, 32020: ExtraButton5 = 0x00000080, 32020: ExtraButton6 = 0x00000100, 32020: ExtraButton7 = 0x00000200, 32020: ExtraButton8 = 0x00000400, 32020: ExtraButton9 = 0x00000800, 32020: ExtraButton10 = 0x00001000, 32020: ExtraButton11 = 0x00002000, 32020: ExtraButton12 = 0x00004000, 32020: ExtraButton13 = 0x00008000, 32020: ExtraButton14 = 0x00010000, 32020: ExtraButton15 = 0x00020000, 32020: ExtraButton16 = 0x00040000, 32020: ExtraButton17 = 0x00080000, 32020: ExtraButton18 = 0x00100000, 32020: ExtraButton19 = 0x00200000, 32020: ExtraButton20 = 0x00400000, 32020: ExtraButton21 = 0x00800000, 32020: ExtraButton22 = 0x01000000, 32020: ExtraButton23 = 0x02000000, 32020: ExtraButton24 = 0x04000000, 32020: AllButtons = 0x07ffffff, 32020: MaxMouseButton = ExtraButton24, 32020: 32020: MouseButtonMask = 0xffffffff 32020: }; 32020: typedef QFlags MouseButtons; 32020: constexpr inline QFlags operator|(MouseButtons::enum_type f1, MouseButtons::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(MouseButtons::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(MouseButtons::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum Orientation { 32020: Horizontal = 0x1, 32020: Vertical = 0x2 32020: }; 32020: 32020: typedef QFlags Orientations; 32020: constexpr inline QFlags operator|(Orientations::enum_type f1, Orientations::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Orientations::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Orientations::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum FocusPolicy { 32020: NoFocus = 0, 32020: TabFocus = 0x1, 32020: ClickFocus = 0x2, 32020: StrongFocus = TabFocus | ClickFocus | 0x8, 32020: WheelFocus = StrongFocus | 0x4 32020: }; 32020: 32020: enum TabFocusBehavior { 32020: NoTabFocus = 0x00, 32020: TabFocusTextControls = 0x01, 32020: TabFocusListControls = 0x02, 32020: TabFocusAllControls = 0xff 32020: }; 32020: 32020: enum SortOrder { 32020: AscendingOrder, 32020: DescendingOrder 32020: }; 32020: 32020: enum SplitBehaviorFlags { 32020: KeepEmptyParts = 0, 32020: SkipEmptyParts = 0x1, 32020: }; 32020: typedef QFlags SplitBehavior; 32020: constexpr inline QFlags operator|(SplitBehavior::enum_type f1, SplitBehavior::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(SplitBehavior::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(SplitBehavior::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum TileRule { 32020: StretchTile, 32020: RepeatTile, 32020: RoundTile 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: enum AlignmentFlag { 32020: AlignLeft = 0x0001, 32020: AlignLeading = AlignLeft, 32020: AlignRight = 0x0002, 32020: AlignTrailing = AlignRight, 32020: AlignHCenter = 0x0004, 32020: AlignJustify = 0x0008, 32020: AlignAbsolute = 0x0010, 32020: AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute, 32020: 32020: AlignTop = 0x0020, 32020: AlignBottom = 0x0040, 32020: AlignVCenter = 0x0080, 32020: AlignBaseline = 0x0100, 32020: 32020: 32020: 32020: 32020: AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter | AlignBaseline, 32020: 32020: AlignCenter = AlignVCenter | AlignHCenter 32020: }; 32020: 32020: typedef QFlags Alignment; 32020: constexpr inline QFlags operator|(Alignment::enum_type f1, Alignment::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Alignment::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Alignment::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum TextFlag { 32020: TextSingleLine = 0x0100, 32020: TextDontClip = 0x0200, 32020: TextExpandTabs = 0x0400, 32020: TextShowMnemonic = 0x0800, 32020: TextWordWrap = 0x1000, 32020: TextWrapAnywhere = 0x2000, 32020: TextDontPrint = 0x4000, 32020: TextIncludeTrailingSpaces = 0x08000000, 32020: TextHideMnemonic = 0x8000, 32020: TextJustificationForced = 0x10000, 32020: TextForceLeftToRight = 0x20000, 32020: TextForceRightToLeft = 0x40000, 32020: 32020: 32020: TextLongestVariant = 0x80000 32020: 32020: 32020: , TextBypassShaping = 0x100000 32020: 32020: }; 32020: 32020: enum TextElideMode { 32020: ElideLeft, 32020: ElideRight, 32020: ElideMiddle, 32020: ElideNone 32020: }; 32020: 32020: enum WhiteSpaceMode { 32020: WhiteSpaceNormal, 32020: WhiteSpacePre, 32020: WhiteSpaceNoWrap, 32020: WhiteSpaceModeUndefined = -1 32020: }; 32020: 32020: enum HitTestAccuracy { ExactHit, FuzzyHit }; 32020: 32020: enum WindowType { 32020: Widget = 0x00000000, 32020: Window = 0x00000001, 32020: Dialog = 0x00000002 | Window, 32020: Sheet = 0x00000004 | Window, 32020: Drawer = Sheet | Dialog, 32020: Popup = 0x00000008 | Window, 32020: Tool = Popup | Dialog, 32020: ToolTip = Popup | Sheet, 32020: SplashScreen = ToolTip | Dialog, 32020: Desktop = 0x00000010 | Window, 32020: SubWindow = 0x00000012, 32020: ForeignWindow = 0x00000020 | Window, 32020: CoverWindow = 0x00000040 | Window, 32020: 32020: WindowType_Mask = 0x000000ff, 32020: MSWindowsFixedSizeDialogHint = 0x00000100, 32020: MSWindowsOwnDC = 0x00000200, 32020: BypassWindowManagerHint = 0x00000400, 32020: X11BypassWindowManagerHint = BypassWindowManagerHint, 32020: FramelessWindowHint = 0x00000800, 32020: WindowTitleHint = 0x00001000, 32020: WindowSystemMenuHint = 0x00002000, 32020: WindowMinimizeButtonHint = 0x00004000, 32020: WindowMaximizeButtonHint = 0x00008000, 32020: WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint, 32020: WindowContextHelpButtonHint = 0x00010000, 32020: WindowShadeButtonHint = 0x00020000, 32020: WindowStaysOnTopHint = 0x00040000, 32020: WindowTransparentForInput = 0x00080000, 32020: WindowOverridesSystemGestures = 0x00100000, 32020: WindowDoesNotAcceptFocus = 0x00200000, 32020: MaximizeUsingFullscreenGeometryHint = 0x00400000, 32020: 32020: CustomizeWindowHint = 0x02000000, 32020: WindowStaysOnBottomHint = 0x04000000, 32020: WindowCloseButtonHint = 0x08000000, 32020: MacWindowToolBarButtonHint = 0x10000000, 32020: BypassGraphicsProxyWidget = 0x20000000, 32020: NoDropShadowWindowHint = 0x40000000, 32020: WindowFullscreenButtonHint = 0x80000000 32020: }; 32020: 32020: typedef QFlags WindowFlags; 32020: constexpr inline QFlags operator|(WindowFlags::enum_type f1, WindowFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(WindowFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(WindowFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum WindowState { 32020: WindowNoState = 0x00000000, 32020: WindowMinimized = 0x00000001, 32020: WindowMaximized = 0x00000002, 32020: WindowFullScreen = 0x00000004, 32020: WindowActive = 0x00000008 32020: }; 32020: 32020: typedef QFlags WindowStates; 32020: constexpr inline QFlags operator|(WindowStates::enum_type f1, WindowStates::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(WindowStates::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(WindowStates::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum ApplicationState { 32020: ApplicationSuspended = 0x00000000, 32020: ApplicationHidden = 0x00000001, 32020: ApplicationInactive = 0x00000002, 32020: ApplicationActive = 0x00000004 32020: }; 32020: 32020: typedef QFlags ApplicationStates; 32020: 32020: enum ScreenOrientation { 32020: PrimaryOrientation = 0x00000000, 32020: PortraitOrientation = 0x00000001, 32020: LandscapeOrientation = 0x00000002, 32020: InvertedPortraitOrientation = 0x00000004, 32020: InvertedLandscapeOrientation = 0x00000008 32020: }; 32020: 32020: typedef QFlags ScreenOrientations; 32020: constexpr inline QFlags operator|(ScreenOrientations::enum_type f1, ScreenOrientations::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(ScreenOrientations::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(ScreenOrientations::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum WidgetAttribute { 32020: WA_Disabled = 0, 32020: WA_UnderMouse = 1, 32020: WA_MouseTracking = 2, 32020: 32020: WA_ContentsPropagated __attribute__ ((__deprecated__)) = 3, 32020: 32020: WA_OpaquePaintEvent = 4, 32020: 32020: WA_NoBackground __attribute__ ((__deprecated__)) = WA_OpaquePaintEvent, 32020: 32020: WA_StaticContents = 5, 32020: WA_LaidOut = 7, 32020: WA_PaintOnScreen = 8, 32020: WA_NoSystemBackground = 9, 32020: WA_UpdatesDisabled = 10, 32020: WA_Mapped = 11, 32020: 32020: WA_MacNoClickThrough __attribute__ ((__deprecated__)) = 12, 32020: 32020: WA_InputMethodEnabled = 14, 32020: WA_WState_Visible = 15, 32020: WA_WState_Hidden = 16, 32020: 32020: WA_ForceDisabled = 32, 32020: WA_KeyCompression = 33, 32020: WA_PendingMoveEvent = 34, 32020: WA_PendingResizeEvent = 35, 32020: WA_SetPalette = 36, 32020: WA_SetFont = 37, 32020: WA_SetCursor = 38, 32020: WA_NoChildEventsFromChildren = 39, 32020: WA_WindowModified = 41, 32020: WA_Resized = 42, 32020: WA_Moved = 43, 32020: WA_PendingUpdate = 44, 32020: WA_InvalidSize = 45, 32020: 32020: WA_MacBrushedMetal __attribute__ ((__deprecated__)) = 46, 32020: WA_MacMetalStyle __attribute__ ((__deprecated__)) = 46, 32020: 32020: WA_CustomWhatsThis = 47, 32020: WA_LayoutOnEntireRect = 48, 32020: WA_OutsideWSRange = 49, 32020: WA_GrabbedShortcut = 50, 32020: WA_TransparentForMouseEvents = 51, 32020: WA_PaintUnclipped = 52, 32020: WA_SetWindowIcon = 53, 32020: WA_NoMouseReplay = 54, 32020: WA_DeleteOnClose = 55, 32020: WA_RightToLeft = 56, 32020: WA_SetLayoutDirection = 57, 32020: WA_NoChildEventsForParent = 58, 32020: WA_ForceUpdatesDisabled = 59, 32020: 32020: WA_WState_Created = 60, 32020: WA_WState_CompressKeys = 61, 32020: WA_WState_InPaintEvent = 62, 32020: WA_WState_Reparented = 63, 32020: WA_WState_ConfigPending = 64, 32020: WA_WState_Polished = 66, 32020: 32020: WA_WState_DND __attribute__ ((__deprecated__)) = 67, 32020: 32020: WA_WState_OwnSizePolicy = 68, 32020: WA_WState_ExplicitShowHide = 69, 32020: 32020: WA_ShowModal = 70, 32020: WA_MouseNoMask = 71, 32020: WA_GroupLeader = 72, 32020: WA_NoMousePropagation = 73, 32020: WA_Hover = 74, 32020: WA_InputMethodTransparent = 75, 32020: WA_QuitOnClose = 76, 32020: 32020: WA_KeyboardFocusChange = 77, 32020: 32020: WA_AcceptDrops = 78, 32020: WA_DropSiteRegistered = 79, 32020: 32020: WA_ForceAcceptDrops __attribute__ ((__deprecated__("WA_ForceAcceptDrops is deprecated. Use WA_DropSiteRegistered instead"))) = WA_DropSiteRegistered, 32020: 32020: 32020: WA_WindowPropagation = 80, 32020: 32020: WA_NoX11EventCompression = 81, 32020: WA_TintedBackground = 82, 32020: WA_X11OpenGLOverlay = 83, 32020: WA_AlwaysShowToolTips = 84, 32020: WA_MacOpaqueSizeGrip = 85, 32020: WA_SetStyle = 86, 32020: 32020: WA_SetLocale = 87, 32020: WA_MacShowFocusRect = 88, 32020: 32020: WA_MacNormalSize = 89, 32020: WA_MacSmallSize = 90, 32020: WA_MacMiniSize = 91, 32020: 32020: WA_LayoutUsesWidgetRect = 92, 32020: WA_StyledBackground = 93, 32020: 32020: WA_MSWindowsUseDirect3D __attribute__ ((__deprecated__)) = 94, 32020: 32020: WA_CanHostQMdiSubWindowTitleBar = 95, 32020: 32020: WA_MacAlwaysShowToolWindow = 96, 32020: 32020: WA_StyleSheet = 97, 32020: 32020: WA_ShowWithoutActivating = 98, 32020: 32020: WA_X11BypassTransientForHint = 99, 32020: 32020: WA_NativeWindow = 100, 32020: WA_DontCreateNativeAncestors = 101, 32020: 32020: WA_MacVariableSize = 102, 32020: 32020: WA_DontShowOnScreen = 103, 32020: 32020: 32020: WA_X11NetWmWindowTypeDesktop = 104, 32020: WA_X11NetWmWindowTypeDock = 105, 32020: WA_X11NetWmWindowTypeToolBar = 106, 32020: WA_X11NetWmWindowTypeMenu = 107, 32020: WA_X11NetWmWindowTypeUtility = 108, 32020: WA_X11NetWmWindowTypeSplash = 109, 32020: WA_X11NetWmWindowTypeDialog = 110, 32020: WA_X11NetWmWindowTypeDropDownMenu = 111, 32020: WA_X11NetWmWindowTypePopupMenu = 112, 32020: WA_X11NetWmWindowTypeToolTip = 113, 32020: WA_X11NetWmWindowTypeNotification = 114, 32020: WA_X11NetWmWindowTypeCombo = 115, 32020: WA_X11NetWmWindowTypeDND = 116, 32020: 32020: WA_MacFrameworkScaled __attribute__ ((__deprecated__)) = 117, 32020: 32020: WA_SetWindowModality = 118, 32020: WA_WState_WindowOpacitySet = 119, 32020: WA_TranslucentBackground = 120, 32020: 32020: WA_AcceptTouchEvents = 121, 32020: WA_WState_AcceptedTouchBeginEvent = 122, 32020: WA_TouchPadAcceptSingleTouchEvents = 123, 32020: 32020: WA_X11DoNotAcceptFocus = 126, 32020: WA_MacNoShadow = 127, 32020: 32020: WA_AlwaysStackOnTop = 128, 32020: 32020: WA_TabletTracking = 129, 32020: 32020: WA_ContentsMarginsRespectsSafeArea = 130, 32020: 32020: WA_StyleSheetTarget = 131, 32020: 32020: 32020: WA_AttributeCount 32020: }; 32020: 32020: enum ApplicationAttribute 32020: { 32020: AA_ImmediateWidgetCreation = 0, 32020: 32020: AA_MSWindowsUseDirect3DByDefault __attribute__ ((__deprecated__)) = 1, 32020: 32020: AA_DontShowIconsInMenus = 2, 32020: AA_NativeWindows = 3, 32020: AA_DontCreateNativeWidgetSiblings = 4, 32020: AA_PluginApplication = 5, 32020: 32020: AA_MacPluginApplication __attribute__ ((__deprecated__)) = AA_PluginApplication, 32020: 32020: AA_DontUseNativeMenuBar = 6, 32020: AA_MacDontSwapCtrlAndMeta = 7, 32020: AA_Use96Dpi = 8, 32020: AA_DisableNativeVirtualKeyboard = 9, 32020: 32020: AA_X11InitThreads __attribute__ ((__deprecated__)) = 10, 32020: 32020: AA_SynthesizeTouchForUnhandledMouseEvents = 11, 32020: AA_SynthesizeMouseForUnhandledTouchEvents = 12, 32020: AA_UseHighDpiPixmaps = 13, 32020: AA_ForceRasterWidgets = 14, 32020: AA_UseDesktopOpenGL = 15, 32020: AA_UseOpenGLES = 16, 32020: AA_UseSoftwareOpenGL = 17, 32020: AA_ShareOpenGLContexts = 18, 32020: AA_SetPalette = 19, 32020: AA_EnableHighDpiScaling = 20, 32020: AA_DisableHighDpiScaling = 21, 32020: AA_UseStyleSheetPropagationInWidgetStyles = 22, 32020: AA_DontUseNativeDialogs = 23, 32020: AA_SynthesizeMouseForUnhandledTabletEvents = 24, 32020: AA_CompressHighFrequencyEvents = 25, 32020: AA_DontCheckOpenGLContextThreadAffinity = 26, 32020: AA_DisableShaderDiskCache = 27, 32020: AA_DontShowShortcutsInContextMenus = 28, 32020: AA_CompressTabletEvents = 29, 32020: AA_DisableWindowContextHelpButton = 30, 32020: AA_DisableSessionManager = 31, 32020: 32020: 32020: AA_AttributeCount 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: enum ImageConversionFlag { 32020: ColorMode_Mask = 0x00000003, 32020: AutoColor = 0x00000000, 32020: ColorOnly = 0x00000003, 32020: MonoOnly = 0x00000002, 32020: 32020: 32020: AlphaDither_Mask = 0x0000000c, 32020: ThresholdAlphaDither = 0x00000000, 32020: OrderedAlphaDither = 0x00000004, 32020: DiffuseAlphaDither = 0x00000008, 32020: NoAlpha = 0x0000000c, 32020: 32020: Dither_Mask = 0x00000030, 32020: DiffuseDither = 0x00000000, 32020: OrderedDither = 0x00000010, 32020: ThresholdDither = 0x00000020, 32020: 32020: 32020: DitherMode_Mask = 0x000000c0, 32020: AutoDither = 0x00000000, 32020: PreferDither = 0x00000040, 32020: AvoidDither = 0x00000080, 32020: 32020: NoOpaqueDetection = 0x00000100, 32020: NoFormatConversion = 0x00000200 32020: }; 32020: typedef QFlags ImageConversionFlags; 32020: constexpr inline QFlags operator|(ImageConversionFlags::enum_type f1, ImageConversionFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(ImageConversionFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(ImageConversionFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum BGMode { 32020: TransparentMode, 32020: OpaqueMode 32020: }; 32020: 32020: enum Key { 32020: Key_Escape = 0x01000000, 32020: Key_Tab = 0x01000001, 32020: Key_Backtab = 0x01000002, 32020: Key_Backspace = 0x01000003, 32020: Key_Return = 0x01000004, 32020: Key_Enter = 0x01000005, 32020: Key_Insert = 0x01000006, 32020: Key_Delete = 0x01000007, 32020: Key_Pause = 0x01000008, 32020: Key_Print = 0x01000009, 32020: Key_SysReq = 0x0100000a, 32020: Key_Clear = 0x0100000b, 32020: Key_Home = 0x01000010, 32020: Key_End = 0x01000011, 32020: Key_Left = 0x01000012, 32020: Key_Up = 0x01000013, 32020: Key_Right = 0x01000014, 32020: Key_Down = 0x01000015, 32020: Key_PageUp = 0x01000016, 32020: Key_PageDown = 0x01000017, 32020: Key_Shift = 0x01000020, 32020: Key_Control = 0x01000021, 32020: Key_Meta = 0x01000022, 32020: Key_Alt = 0x01000023, 32020: Key_CapsLock = 0x01000024, 32020: Key_NumLock = 0x01000025, 32020: Key_ScrollLock = 0x01000026, 32020: Key_F1 = 0x01000030, 32020: Key_F2 = 0x01000031, 32020: Key_F3 = 0x01000032, 32020: Key_F4 = 0x01000033, 32020: Key_F5 = 0x01000034, 32020: Key_F6 = 0x01000035, 32020: Key_F7 = 0x01000036, 32020: Key_F8 = 0x01000037, 32020: Key_F9 = 0x01000038, 32020: Key_F10 = 0x01000039, 32020: Key_F11 = 0x0100003a, 32020: Key_F12 = 0x0100003b, 32020: Key_F13 = 0x0100003c, 32020: Key_F14 = 0x0100003d, 32020: Key_F15 = 0x0100003e, 32020: Key_F16 = 0x0100003f, 32020: Key_F17 = 0x01000040, 32020: Key_F18 = 0x01000041, 32020: Key_F19 = 0x01000042, 32020: Key_F20 = 0x01000043, 32020: Key_F21 = 0x01000044, 32020: Key_F22 = 0x01000045, 32020: Key_F23 = 0x01000046, 32020: Key_F24 = 0x01000047, 32020: Key_F25 = 0x01000048, 32020: Key_F26 = 0x01000049, 32020: Key_F27 = 0x0100004a, 32020: Key_F28 = 0x0100004b, 32020: Key_F29 = 0x0100004c, 32020: Key_F30 = 0x0100004d, 32020: Key_F31 = 0x0100004e, 32020: Key_F32 = 0x0100004f, 32020: Key_F33 = 0x01000050, 32020: Key_F34 = 0x01000051, 32020: Key_F35 = 0x01000052, 32020: Key_Super_L = 0x01000053, 32020: Key_Super_R = 0x01000054, 32020: Key_Menu = 0x01000055, 32020: Key_Hyper_L = 0x01000056, 32020: Key_Hyper_R = 0x01000057, 32020: Key_Help = 0x01000058, 32020: Key_Direction_L = 0x01000059, 32020: Key_Direction_R = 0x01000060, 32020: Key_Space = 0x20, 32020: Key_Any = Key_Space, 32020: Key_Exclam = 0x21, 32020: Key_QuoteDbl = 0x22, 32020: Key_NumberSign = 0x23, 32020: Key_Dollar = 0x24, 32020: Key_Percent = 0x25, 32020: Key_Ampersand = 0x26, 32020: Key_Apostrophe = 0x27, 32020: Key_ParenLeft = 0x28, 32020: Key_ParenRight = 0x29, 32020: Key_Asterisk = 0x2a, 32020: Key_Plus = 0x2b, 32020: Key_Comma = 0x2c, 32020: Key_Minus = 0x2d, 32020: Key_Period = 0x2e, 32020: Key_Slash = 0x2f, 32020: Key_0 = 0x30, 32020: Key_1 = 0x31, 32020: Key_2 = 0x32, 32020: Key_3 = 0x33, 32020: Key_4 = 0x34, 32020: Key_5 = 0x35, 32020: Key_6 = 0x36, 32020: Key_7 = 0x37, 32020: Key_8 = 0x38, 32020: Key_9 = 0x39, 32020: Key_Colon = 0x3a, 32020: Key_Semicolon = 0x3b, 32020: Key_Less = 0x3c, 32020: Key_Equal = 0x3d, 32020: Key_Greater = 0x3e, 32020: Key_Question = 0x3f, 32020: Key_At = 0x40, 32020: Key_A = 0x41, 32020: Key_B = 0x42, 32020: Key_C = 0x43, 32020: Key_D = 0x44, 32020: Key_E = 0x45, 32020: Key_F = 0x46, 32020: Key_G = 0x47, 32020: Key_H = 0x48, 32020: Key_I = 0x49, 32020: Key_J = 0x4a, 32020: Key_K = 0x4b, 32020: Key_L = 0x4c, 32020: Key_M = 0x4d, 32020: Key_N = 0x4e, 32020: Key_O = 0x4f, 32020: Key_P = 0x50, 32020: Key_Q = 0x51, 32020: Key_R = 0x52, 32020: Key_S = 0x53, 32020: Key_T = 0x54, 32020: Key_U = 0x55, 32020: Key_V = 0x56, 32020: Key_W = 0x57, 32020: Key_X = 0x58, 32020: Key_Y = 0x59, 32020: Key_Z = 0x5a, 32020: Key_BracketLeft = 0x5b, 32020: Key_Backslash = 0x5c, 32020: Key_BracketRight = 0x5d, 32020: Key_AsciiCircum = 0x5e, 32020: Key_Underscore = 0x5f, 32020: Key_QuoteLeft = 0x60, 32020: Key_BraceLeft = 0x7b, 32020: Key_Bar = 0x7c, 32020: Key_BraceRight = 0x7d, 32020: Key_AsciiTilde = 0x7e, 32020: 32020: Key_nobreakspace = 0x0a0, 32020: Key_exclamdown = 0x0a1, 32020: Key_cent = 0x0a2, 32020: Key_sterling = 0x0a3, 32020: Key_currency = 0x0a4, 32020: Key_yen = 0x0a5, 32020: Key_brokenbar = 0x0a6, 32020: Key_section = 0x0a7, 32020: Key_diaeresis = 0x0a8, 32020: Key_copyright = 0x0a9, 32020: Key_ordfeminine = 0x0aa, 32020: Key_guillemotleft = 0x0ab, 32020: Key_notsign = 0x0ac, 32020: Key_hyphen = 0x0ad, 32020: Key_registered = 0x0ae, 32020: Key_macron = 0x0af, 32020: Key_degree = 0x0b0, 32020: Key_plusminus = 0x0b1, 32020: Key_twosuperior = 0x0b2, 32020: Key_threesuperior = 0x0b3, 32020: Key_acute = 0x0b4, 32020: Key_mu = 0x0b5, 32020: Key_paragraph = 0x0b6, 32020: Key_periodcentered = 0x0b7, 32020: Key_cedilla = 0x0b8, 32020: Key_onesuperior = 0x0b9, 32020: Key_masculine = 0x0ba, 32020: Key_guillemotright = 0x0bb, 32020: Key_onequarter = 0x0bc, 32020: Key_onehalf = 0x0bd, 32020: Key_threequarters = 0x0be, 32020: Key_questiondown = 0x0bf, 32020: Key_Agrave = 0x0c0, 32020: Key_Aacute = 0x0c1, 32020: Key_Acircumflex = 0x0c2, 32020: Key_Atilde = 0x0c3, 32020: Key_Adiaeresis = 0x0c4, 32020: Key_Aring = 0x0c5, 32020: Key_AE = 0x0c6, 32020: Key_Ccedilla = 0x0c7, 32020: Key_Egrave = 0x0c8, 32020: Key_Eacute = 0x0c9, 32020: Key_Ecircumflex = 0x0ca, 32020: Key_Ediaeresis = 0x0cb, 32020: Key_Igrave = 0x0cc, 32020: Key_Iacute = 0x0cd, 32020: Key_Icircumflex = 0x0ce, 32020: Key_Idiaeresis = 0x0cf, 32020: Key_ETH = 0x0d0, 32020: Key_Ntilde = 0x0d1, 32020: Key_Ograve = 0x0d2, 32020: Key_Oacute = 0x0d3, 32020: Key_Ocircumflex = 0x0d4, 32020: Key_Otilde = 0x0d5, 32020: Key_Odiaeresis = 0x0d6, 32020: Key_multiply = 0x0d7, 32020: Key_Ooblique = 0x0d8, 32020: Key_Ugrave = 0x0d9, 32020: Key_Uacute = 0x0da, 32020: Key_Ucircumflex = 0x0db, 32020: Key_Udiaeresis = 0x0dc, 32020: Key_Yacute = 0x0dd, 32020: Key_THORN = 0x0de, 32020: Key_ssharp = 0x0df, 32020: Key_division = 0x0f7, 32020: Key_ydiaeresis = 0x0ff, 32020: 32020: 32020: 32020: 32020: 32020: 32020: Key_AltGr = 0x01001103, 32020: Key_Multi_key = 0x01001120, 32020: Key_Codeinput = 0x01001137, 32020: Key_SingleCandidate = 0x0100113c, 32020: Key_MultipleCandidate = 0x0100113d, 32020: Key_PreviousCandidate = 0x0100113e, 32020: 32020: 32020: Key_Mode_switch = 0x0100117e, 32020: 32020: 32020: 32020: Key_Kanji = 0x01001121, 32020: Key_Muhenkan = 0x01001122, 32020: 32020: Key_Henkan = 0x01001123, 32020: Key_Romaji = 0x01001124, 32020: Key_Hiragana = 0x01001125, 32020: Key_Katakana = 0x01001126, 32020: Key_Hiragana_Katakana = 0x01001127, 32020: Key_Zenkaku = 0x01001128, 32020: Key_Hankaku = 0x01001129, 32020: Key_Zenkaku_Hankaku = 0x0100112a, 32020: Key_Touroku = 0x0100112b, 32020: Key_Massyo = 0x0100112c, 32020: Key_Kana_Lock = 0x0100112d, 32020: Key_Kana_Shift = 0x0100112e, 32020: Key_Eisu_Shift = 0x0100112f, 32020: Key_Eisu_toggle = 0x01001130, 32020: # 855 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qnamespace.h" 3 4 32020: Key_Hangul = 0x01001131, 32020: Key_Hangul_Start = 0x01001132, 32020: Key_Hangul_End = 0x01001133, 32020: Key_Hangul_Hanja = 0x01001134, 32020: Key_Hangul_Jamo = 0x01001135, 32020: Key_Hangul_Romaja = 0x01001136, 32020: 32020: Key_Hangul_Jeonja = 0x01001138, 32020: Key_Hangul_Banja = 0x01001139, 32020: Key_Hangul_PreHanja = 0x0100113a, 32020: Key_Hangul_PostHanja = 0x0100113b, 32020: 32020: 32020: 32020: Key_Hangul_Special = 0x0100113f, 32020: 32020: 32020: 32020: Key_Dead_Grave = 0x01001250, 32020: Key_Dead_Acute = 0x01001251, 32020: Key_Dead_Circumflex = 0x01001252, 32020: Key_Dead_Tilde = 0x01001253, 32020: Key_Dead_Macron = 0x01001254, 32020: Key_Dead_Breve = 0x01001255, 32020: Key_Dead_Abovedot = 0x01001256, 32020: Key_Dead_Diaeresis = 0x01001257, 32020: Key_Dead_Abovering = 0x01001258, 32020: Key_Dead_Doubleacute = 0x01001259, 32020: Key_Dead_Caron = 0x0100125a, 32020: Key_Dead_Cedilla = 0x0100125b, 32020: Key_Dead_Ogonek = 0x0100125c, 32020: Key_Dead_Iota = 0x0100125d, 32020: Key_Dead_Voiced_Sound = 0x0100125e, 32020: Key_Dead_Semivoiced_Sound = 0x0100125f, 32020: Key_Dead_Belowdot = 0x01001260, 32020: Key_Dead_Hook = 0x01001261, 32020: Key_Dead_Horn = 0x01001262, 32020: Key_Dead_Stroke = 0x01001263, 32020: Key_Dead_Abovecomma = 0x01001264, 32020: Key_Dead_Abovereversedcomma = 0x01001265, 32020: Key_Dead_Doublegrave = 0x01001266, 32020: Key_Dead_Belowring = 0x01001267, 32020: Key_Dead_Belowmacron = 0x01001268, 32020: Key_Dead_Belowcircumflex = 0x01001269, 32020: Key_Dead_Belowtilde = 0x0100126a, 32020: Key_Dead_Belowbreve = 0x0100126b, 32020: Key_Dead_Belowdiaeresis = 0x0100126c, 32020: Key_Dead_Invertedbreve = 0x0100126d, 32020: Key_Dead_Belowcomma = 0x0100126e, 32020: Key_Dead_Currency = 0x0100126f, 32020: Key_Dead_a = 0x01001280, 32020: Key_Dead_A = 0x01001281, 32020: Key_Dead_e = 0x01001282, 32020: Key_Dead_E = 0x01001283, 32020: Key_Dead_i = 0x01001284, 32020: Key_Dead_I = 0x01001285, 32020: Key_Dead_o = 0x01001286, 32020: Key_Dead_O = 0x01001287, 32020: Key_Dead_u = 0x01001288, 32020: Key_Dead_U = 0x01001289, 32020: Key_Dead_Small_Schwa = 0x0100128a, 32020: Key_Dead_Capital_Schwa = 0x0100128b, 32020: Key_Dead_Greek = 0x0100128c, 32020: Key_Dead_Lowline = 0x01001290, 32020: Key_Dead_Aboveverticalline = 0x01001291, 32020: Key_Dead_Belowverticalline = 0x01001292, 32020: Key_Dead_Longsolidusoverlay = 0x01001293, 32020: 32020: 32020: Key_Back = 0x01000061, 32020: Key_Forward = 0x01000062, 32020: Key_Stop = 0x01000063, 32020: Key_Refresh = 0x01000064, 32020: Key_VolumeDown = 0x01000070, 32020: Key_VolumeMute = 0x01000071, 32020: Key_VolumeUp = 0x01000072, 32020: Key_BassBoost = 0x01000073, 32020: Key_BassUp = 0x01000074, 32020: Key_BassDown = 0x01000075, 32020: Key_TrebleUp = 0x01000076, 32020: Key_TrebleDown = 0x01000077, 32020: Key_MediaPlay = 0x01000080, 32020: Key_MediaStop = 0x01000081, 32020: Key_MediaPrevious = 0x01000082, 32020: Key_MediaNext = 0x01000083, 32020: Key_MediaRecord = 0x01000084, 32020: Key_MediaPause = 0x1000085, 32020: Key_MediaTogglePlayPause = 0x1000086, 32020: Key_HomePage = 0x01000090, 32020: Key_Favorites = 0x01000091, 32020: Key_Search = 0x01000092, 32020: Key_Standby = 0x01000093, 32020: Key_OpenUrl = 0x01000094, 32020: Key_LaunchMail = 0x010000a0, 32020: Key_LaunchMedia = 0x010000a1, 32020: Key_Launch0 = 0x010000a2, 32020: Key_Launch1 = 0x010000a3, 32020: Key_Launch2 = 0x010000a4, 32020: Key_Launch3 = 0x010000a5, 32020: Key_Launch4 = 0x010000a6, 32020: Key_Launch5 = 0x010000a7, 32020: Key_Launch6 = 0x010000a8, 32020: Key_Launch7 = 0x010000a9, 32020: Key_Launch8 = 0x010000aa, 32020: Key_Launch9 = 0x010000ab, 32020: Key_LaunchA = 0x010000ac, 32020: Key_LaunchB = 0x010000ad, 32020: Key_LaunchC = 0x010000ae, 32020: Key_LaunchD = 0x010000af, 32020: Key_LaunchE = 0x010000b0, 32020: Key_LaunchF = 0x010000b1, 32020: Key_MonBrightnessUp = 0x010000b2, 32020: Key_MonBrightnessDown = 0x010000b3, 32020: Key_KeyboardLightOnOff = 0x010000b4, 32020: Key_KeyboardBrightnessUp = 0x010000b5, 32020: Key_KeyboardBrightnessDown = 0x010000b6, 32020: Key_PowerOff = 0x010000b7, 32020: Key_WakeUp = 0x010000b8, 32020: Key_Eject = 0x010000b9, 32020: Key_ScreenSaver = 0x010000ba, 32020: Key_WWW = 0x010000bb, 32020: Key_Memo = 0x010000bc, 32020: Key_LightBulb = 0x010000bd, 32020: Key_Shop = 0x010000be, 32020: Key_History = 0x010000bf, 32020: Key_AddFavorite = 0x010000c0, 32020: Key_HotLinks = 0x010000c1, 32020: Key_BrightnessAdjust = 0x010000c2, 32020: Key_Finance = 0x010000c3, 32020: Key_Community = 0x010000c4, 32020: Key_AudioRewind = 0x010000c5, 32020: Key_BackForward = 0x010000c6, 32020: Key_ApplicationLeft = 0x010000c7, 32020: Key_ApplicationRight = 0x010000c8, 32020: Key_Book = 0x010000c9, 32020: Key_CD = 0x010000ca, 32020: Key_Calculator = 0x010000cb, 32020: Key_ToDoList = 0x010000cc, 32020: Key_ClearGrab = 0x010000cd, 32020: Key_Close = 0x010000ce, 32020: Key_Copy = 0x010000cf, 32020: Key_Cut = 0x010000d0, 32020: Key_Display = 0x010000d1, 32020: Key_DOS = 0x010000d2, 32020: Key_Documents = 0x010000d3, 32020: Key_Excel = 0x010000d4, 32020: Key_Explorer = 0x010000d5, 32020: Key_Game = 0x010000d6, 32020: Key_Go = 0x010000d7, 32020: Key_iTouch = 0x010000d8, 32020: Key_LogOff = 0x010000d9, 32020: Key_Market = 0x010000da, 32020: Key_Meeting = 0x010000db, 32020: Key_MenuKB = 0x010000dc, 32020: Key_MenuPB = 0x010000dd, 32020: Key_MySites = 0x010000de, 32020: Key_News = 0x010000df, 32020: Key_OfficeHome = 0x010000e0, 32020: Key_Option = 0x010000e1, 32020: Key_Paste = 0x010000e2, 32020: Key_Phone = 0x010000e3, 32020: Key_Calendar = 0x010000e4, 32020: Key_Reply = 0x010000e5, 32020: Key_Reload = 0x010000e6, 32020: Key_RotateWindows = 0x010000e7, 32020: Key_RotationPB = 0x010000e8, 32020: Key_RotationKB = 0x010000e9, 32020: Key_Save = 0x010000ea, 32020: Key_Send = 0x010000eb, 32020: Key_Spell = 0x010000ec, 32020: Key_SplitScreen = 0x010000ed, 32020: Key_Support = 0x010000ee, 32020: Key_TaskPane = 0x010000ef, 32020: Key_Terminal = 0x010000f0, 32020: Key_Tools = 0x010000f1, 32020: Key_Travel = 0x010000f2, 32020: Key_Video = 0x010000f3, 32020: Key_Word = 0x010000f4, 32020: Key_Xfer = 0x010000f5, 32020: Key_ZoomIn = 0x010000f6, 32020: Key_ZoomOut = 0x010000f7, 32020: Key_Away = 0x010000f8, 32020: Key_Messenger = 0x010000f9, 32020: Key_WebCam = 0x010000fa, 32020: Key_MailForward = 0x010000fb, 32020: Key_Pictures = 0x010000fc, 32020: Key_Music = 0x010000fd, 32020: Key_Battery = 0x010000fe, 32020: Key_Bluetooth = 0x010000ff, 32020: Key_WLAN = 0x01000100, 32020: Key_UWB = 0x01000101, 32020: Key_AudioForward = 0x01000102, 32020: Key_AudioRepeat = 0x01000103, 32020: Key_AudioRandomPlay = 0x01000104, 32020: Key_Subtitle = 0x01000105, 32020: Key_AudioCycleTrack = 0x01000106, 32020: Key_Time = 0x01000107, 32020: Key_Hibernate = 0x01000108, 32020: Key_View = 0x01000109, 32020: Key_TopMenu = 0x0100010a, 32020: Key_PowerDown = 0x0100010b, 32020: Key_Suspend = 0x0100010c, 32020: Key_ContrastAdjust = 0x0100010d, 32020: 32020: Key_LaunchG = 0x0100010e, 32020: Key_LaunchH = 0x0100010f, 32020: 32020: Key_TouchpadToggle = 0x01000110, 32020: Key_TouchpadOn = 0x01000111, 32020: Key_TouchpadOff = 0x01000112, 32020: 32020: Key_MicMute = 0x01000113, 32020: 32020: Key_Red = 0x01000114, 32020: Key_Green = 0x01000115, 32020: Key_Yellow = 0x01000116, 32020: Key_Blue = 0x01000117, 32020: 32020: Key_ChannelUp = 0x01000118, 32020: Key_ChannelDown = 0x01000119, 32020: 32020: Key_Guide = 0x0100011a, 32020: Key_Info = 0x0100011b, 32020: Key_Settings = 0x0100011c, 32020: 32020: Key_MicVolumeUp = 0x0100011d, 32020: Key_MicVolumeDown = 0x0100011e, 32020: 32020: Key_New = 0x01000120, 32020: Key_Open = 0x01000121, 32020: Key_Find = 0x01000122, 32020: Key_Undo = 0x01000123, 32020: Key_Redo = 0x01000124, 32020: 32020: Key_MediaLast = 0x0100ffff, 32020: 32020: 32020: Key_Select = 0x01010000, 32020: Key_Yes = 0x01010001, 32020: Key_No = 0x01010002, 32020: 32020: 32020: Key_Cancel = 0x01020001, 32020: Key_Printer = 0x01020002, 32020: Key_Execute = 0x01020003, 32020: Key_Sleep = 0x01020004, 32020: Key_Play = 0x01020005, 32020: Key_Zoom = 0x01020006, 32020: 32020: 32020: 32020: Key_Exit = 0x0102000a, 32020: 32020: 32020: Key_Context1 = 0x01100000, 32020: Key_Context2 = 0x01100001, 32020: Key_Context3 = 0x01100002, 32020: Key_Context4 = 0x01100003, 32020: Key_Call = 0x01100004, 32020: Key_Hangup = 0x01100005, 32020: Key_Flip = 0x01100006, 32020: Key_ToggleCallHangup = 0x01100007, 32020: Key_VoiceDial = 0x01100008, 32020: Key_LastNumberRedial = 0x01100009, 32020: 32020: Key_Camera = 0x01100020, 32020: Key_CameraFocus = 0x01100021, 32020: 32020: Key_unknown = 0x01ffffff 32020: }; 32020: 32020: enum ArrowType { 32020: NoArrow, 32020: UpArrow, 32020: DownArrow, 32020: LeftArrow, 32020: RightArrow 32020: }; 32020: 32020: enum PenStyle { 32020: NoPen, 32020: SolidLine, 32020: DashLine, 32020: DotLine, 32020: DashDotLine, 32020: DashDotDotLine, 32020: CustomDashLine 32020: 32020: , MPenStyle = 0x0f 32020: 32020: }; 32020: 32020: enum PenCapStyle { 32020: FlatCap = 0x00, 32020: SquareCap = 0x10, 32020: RoundCap = 0x20, 32020: MPenCapStyle = 0x30 32020: }; 32020: 32020: enum PenJoinStyle { 32020: MiterJoin = 0x00, 32020: BevelJoin = 0x40, 32020: RoundJoin = 0x80, 32020: SvgMiterJoin = 0x100, 32020: MPenJoinStyle = 0x1c0 32020: }; 32020: 32020: enum BrushStyle { 32020: NoBrush, 32020: SolidPattern, 32020: Dense1Pattern, 32020: Dense2Pattern, 32020: Dense3Pattern, 32020: Dense4Pattern, 32020: Dense5Pattern, 32020: Dense6Pattern, 32020: Dense7Pattern, 32020: HorPattern, 32020: VerPattern, 32020: CrossPattern, 32020: BDiagPattern, 32020: FDiagPattern, 32020: DiagCrossPattern, 32020: LinearGradientPattern, 32020: RadialGradientPattern, 32020: ConicalGradientPattern, 32020: TexturePattern = 24 32020: }; 32020: 32020: enum SizeMode { 32020: AbsoluteSize, 32020: RelativeSize 32020: }; 32020: 32020: enum UIEffect { 32020: UI_General, 32020: UI_AnimateMenu, 32020: UI_FadeMenu, 32020: UI_AnimateCombo, 32020: UI_AnimateTooltip, 32020: UI_FadeTooltip, 32020: UI_AnimateToolBox 32020: }; 32020: 32020: enum CursorShape { 32020: ArrowCursor, 32020: UpArrowCursor, 32020: CrossCursor, 32020: WaitCursor, 32020: IBeamCursor, 32020: SizeVerCursor, 32020: SizeHorCursor, 32020: SizeBDiagCursor, 32020: SizeFDiagCursor, 32020: SizeAllCursor, 32020: BlankCursor, 32020: SplitVCursor, 32020: SplitHCursor, 32020: PointingHandCursor, 32020: ForbiddenCursor, 32020: WhatsThisCursor, 32020: BusyCursor, 32020: OpenHandCursor, 32020: ClosedHandCursor, 32020: DragCopyCursor, 32020: DragMoveCursor, 32020: DragLinkCursor, 32020: LastCursor = DragLinkCursor, 32020: BitmapCursor = 24, 32020: CustomCursor = 25 32020: }; 32020: 32020: enum TextFormat { 32020: PlainText, 32020: RichText, 32020: AutoText, 32020: MarkdownText 32020: }; 32020: 32020: enum AspectRatioMode { 32020: IgnoreAspectRatio, 32020: KeepAspectRatio, 32020: KeepAspectRatioByExpanding 32020: }; 32020: 32020: enum DockWidgetArea { 32020: LeftDockWidgetArea = 0x1, 32020: RightDockWidgetArea = 0x2, 32020: TopDockWidgetArea = 0x4, 32020: BottomDockWidgetArea = 0x8, 32020: 32020: DockWidgetArea_Mask = 0xf, 32020: AllDockWidgetAreas = DockWidgetArea_Mask, 32020: NoDockWidgetArea = 0 32020: }; 32020: enum DockWidgetAreaSizes { 32020: NDockWidgetAreas = 4 32020: }; 32020: 32020: typedef QFlags DockWidgetAreas; 32020: constexpr inline QFlags operator|(DockWidgetAreas::enum_type f1, DockWidgetAreas::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(DockWidgetAreas::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(DockWidgetAreas::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum ToolBarArea { 32020: LeftToolBarArea = 0x1, 32020: RightToolBarArea = 0x2, 32020: TopToolBarArea = 0x4, 32020: BottomToolBarArea = 0x8, 32020: 32020: ToolBarArea_Mask = 0xf, 32020: AllToolBarAreas = ToolBarArea_Mask, 32020: NoToolBarArea = 0 32020: }; 32020: 32020: enum ToolBarAreaSizes { 32020: NToolBarAreas = 4 32020: }; 32020: 32020: typedef QFlags ToolBarAreas; 32020: constexpr inline QFlags operator|(ToolBarAreas::enum_type f1, ToolBarAreas::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(ToolBarAreas::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(ToolBarAreas::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum DateFormat { 32020: TextDate, 32020: ISODate, 32020: 32020: SystemLocaleDate __attribute__ ((__deprecated__("Use QLocale"))), 32020: LocalDate __attribute__ ((__deprecated__("Use QLocale"))) = 2, 32020: LocaleDate __attribute__ ((__deprecated__("Use QLocale"))), 32020: SystemLocaleShortDate __attribute__ ((__deprecated__("Use QLocale"))), 32020: SystemLocaleLongDate __attribute__ ((__deprecated__("Use QLocale"))), 32020: DefaultLocaleShortDate __attribute__ ((__deprecated__("Use QLocale"))), 32020: DefaultLocaleLongDate __attribute__ ((__deprecated__("Use QLocale"))), 32020: 32020: RFC2822Date = 8, 32020: ISODateWithMs 32020: }; 32020: 32020: enum TimeSpec { 32020: LocalTime, 32020: UTC, 32020: OffsetFromUTC, 32020: TimeZone 32020: }; 32020: 32020: enum DayOfWeek { 32020: Monday = 1, 32020: Tuesday = 2, 32020: Wednesday = 3, 32020: Thursday = 4, 32020: Friday = 5, 32020: Saturday = 6, 32020: Sunday = 7 32020: }; 32020: 32020: enum ScrollBarPolicy { 32020: ScrollBarAsNeeded, 32020: ScrollBarAlwaysOff, 32020: ScrollBarAlwaysOn 32020: }; 32020: 32020: enum CaseSensitivity { 32020: CaseInsensitive, 32020: CaseSensitive 32020: }; 32020: 32020: enum Corner { 32020: TopLeftCorner = 0x00000, 32020: TopRightCorner = 0x00001, 32020: BottomLeftCorner = 0x00002, 32020: BottomRightCorner = 0x00003 32020: }; 32020: 32020: enum Edge { 32020: TopEdge = 0x00001, 32020: LeftEdge = 0x00002, 32020: RightEdge = 0x00004, 32020: BottomEdge = 0x00008 32020: }; 32020: 32020: typedef QFlags Edges; 32020: constexpr inline QFlags operator|(Edges::enum_type f1, Edges::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Edges::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Edges::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum ConnectionType { 32020: AutoConnection, 32020: DirectConnection, 32020: QueuedConnection, 32020: BlockingQueuedConnection, 32020: UniqueConnection = 0x80 32020: }; 32020: 32020: enum ShortcutContext { 32020: WidgetShortcut, 32020: WindowShortcut, 32020: ApplicationShortcut, 32020: WidgetWithChildrenShortcut 32020: }; 32020: 32020: enum FillRule { 32020: OddEvenFill, 32020: WindingFill 32020: }; 32020: 32020: enum MaskMode { 32020: MaskInColor, 32020: MaskOutColor 32020: }; 32020: 32020: enum ClipOperation { 32020: NoClip, 32020: ReplaceClip, 32020: IntersectClip 32020: }; 32020: 32020: 32020: enum ItemSelectionMode { 32020: ContainsItemShape = 0x0, 32020: IntersectsItemShape = 0x1, 32020: ContainsItemBoundingRect = 0x2, 32020: IntersectsItemBoundingRect = 0x3 32020: }; 32020: 32020: enum ItemSelectionOperation { 32020: ReplaceSelection, 32020: AddToSelection 32020: }; 32020: 32020: enum TransformationMode { 32020: FastTransformation, 32020: SmoothTransformation 32020: }; 32020: 32020: enum Axis { 32020: XAxis, 32020: YAxis, 32020: ZAxis 32020: }; 32020: 32020: enum FocusReason { 32020: MouseFocusReason, 32020: TabFocusReason, 32020: BacktabFocusReason, 32020: ActiveWindowFocusReason, 32020: PopupFocusReason, 32020: ShortcutFocusReason, 32020: MenuBarFocusReason, 32020: OtherFocusReason, 32020: NoFocusReason 32020: }; 32020: 32020: enum ContextMenuPolicy { 32020: NoContextMenu, 32020: DefaultContextMenu, 32020: ActionsContextMenu, 32020: CustomContextMenu, 32020: PreventContextMenu 32020: }; 32020: 32020: enum InputMethodQuery { 32020: ImEnabled = 0x1, 32020: ImCursorRectangle = 0x2, 32020: 32020: ImMicroFocus __attribute__ ((__deprecated__)) = 0x2, 32020: 32020: ImFont = 0x4, 32020: ImCursorPosition = 0x8, 32020: ImSurroundingText = 0x10, 32020: ImCurrentSelection = 0x20, 32020: ImMaximumTextLength = 0x40, 32020: ImAnchorPosition = 0x80, 32020: ImHints = 0x100, 32020: ImPreferredLanguage = 0x200, 32020: 32020: ImAbsolutePosition = 0x400, 32020: ImTextBeforeCursor = 0x800, 32020: ImTextAfterCursor = 0x1000, 32020: ImEnterKeyType = 0x2000, 32020: ImAnchorRectangle = 0x4000, 32020: ImInputItemClipRectangle = 0x8000, 32020: 32020: ImPlatformData = 0x80000000, 32020: ImQueryInput = ImCursorRectangle | ImCursorPosition | ImSurroundingText | 32020: ImCurrentSelection | ImAnchorRectangle | ImAnchorPosition, 32020: ImQueryAll = 0xffffffff 32020: }; 32020: typedef QFlags InputMethodQueries; 32020: constexpr inline QFlags operator|(InputMethodQueries::enum_type f1, InputMethodQueries::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(InputMethodQueries::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(InputMethodQueries::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum InputMethodHint { 32020: ImhNone = 0x0, 32020: 32020: ImhHiddenText = 0x1, 32020: ImhSensitiveData = 0x2, 32020: ImhNoAutoUppercase = 0x4, 32020: ImhPreferNumbers = 0x8, 32020: ImhPreferUppercase = 0x10, 32020: ImhPreferLowercase = 0x20, 32020: ImhNoPredictiveText = 0x40, 32020: 32020: ImhDate = 0x80, 32020: ImhTime = 0x100, 32020: 32020: ImhPreferLatin = 0x200, 32020: 32020: ImhMultiLine = 0x400, 32020: 32020: ImhNoEditMenu = 0x800, 32020: ImhNoTextHandles = 0x1000, 32020: 32020: ImhDigitsOnly = 0x10000, 32020: ImhFormattedNumbersOnly = 0x20000, 32020: ImhUppercaseOnly = 0x40000, 32020: ImhLowercaseOnly = 0x80000, 32020: ImhDialableCharactersOnly = 0x100000, 32020: ImhEmailCharactersOnly = 0x200000, 32020: ImhUrlCharactersOnly = 0x400000, 32020: ImhLatinOnly = 0x800000, 32020: 32020: ImhExclusiveInputMask = 0xffff0000 32020: }; 32020: typedef QFlags InputMethodHints; 32020: constexpr inline QFlags operator|(InputMethodHints::enum_type f1, InputMethodHints::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(InputMethodHints::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(InputMethodHints::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum EnterKeyType { 32020: EnterKeyDefault, 32020: EnterKeyReturn, 32020: EnterKeyDone, 32020: EnterKeyGo, 32020: EnterKeySend, 32020: EnterKeySearch, 32020: EnterKeyNext, 32020: EnterKeyPrevious 32020: }; 32020: 32020: enum ToolButtonStyle { 32020: ToolButtonIconOnly, 32020: ToolButtonTextOnly, 32020: ToolButtonTextBesideIcon, 32020: ToolButtonTextUnderIcon, 32020: ToolButtonFollowStyle 32020: }; 32020: 32020: enum LayoutDirection { 32020: LeftToRight, 32020: RightToLeft, 32020: LayoutDirectionAuto 32020: }; 32020: 32020: enum AnchorPoint { 32020: AnchorLeft = 0, 32020: AnchorHorizontalCenter, 32020: AnchorRight, 32020: AnchorTop, 32020: AnchorVerticalCenter, 32020: AnchorBottom 32020: }; 32020: 32020: enum FindChildOption { 32020: FindDirectChildrenOnly = 0x0, 32020: FindChildrenRecursively = 0x1 32020: }; 32020: typedef QFlags FindChildOptions; 32020: 32020: enum DropAction { 32020: CopyAction = 0x1, 32020: MoveAction = 0x2, 32020: LinkAction = 0x4, 32020: ActionMask = 0xff, 32020: TargetMoveAction = 0x8002, 32020: IgnoreAction = 0x0 32020: }; 32020: typedef QFlags DropActions; 32020: constexpr inline QFlags operator|(DropActions::enum_type f1, DropActions::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(DropActions::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(DropActions::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum CheckState { 32020: Unchecked, 32020: PartiallyChecked, 32020: Checked 32020: }; 32020: 32020: enum ItemDataRole { 32020: DisplayRole = 0, 32020: DecorationRole = 1, 32020: EditRole = 2, 32020: ToolTipRole = 3, 32020: StatusTipRole = 4, 32020: WhatsThisRole = 5, 32020: 32020: FontRole = 6, 32020: TextAlignmentRole = 7, 32020: BackgroundRole = 8, 32020: ForegroundRole = 9, 32020: 32020: BackgroundColorRole __attribute__ ((__deprecated__)) = BackgroundRole, 32020: TextColorRole __attribute__ ((__deprecated__)) = ForegroundRole, 32020: 32020: CheckStateRole = 10, 32020: 32020: AccessibleTextRole = 11, 32020: AccessibleDescriptionRole = 12, 32020: 32020: SizeHintRole = 13, 32020: InitialSortOrderRole = 14, 32020: 32020: DisplayPropertyRole = 27, 32020: DecorationPropertyRole = 28, 32020: ToolTipPropertyRole = 29, 32020: StatusTipPropertyRole = 30, 32020: WhatsThisPropertyRole = 31, 32020: 32020: UserRole = 0x0100 32020: }; 32020: 32020: enum ItemFlag { 32020: NoItemFlags = 0, 32020: ItemIsSelectable = 1, 32020: ItemIsEditable = 2, 32020: ItemIsDragEnabled = 4, 32020: ItemIsDropEnabled = 8, 32020: ItemIsUserCheckable = 16, 32020: ItemIsEnabled = 32, 32020: ItemIsAutoTristate = 64, 32020: 32020: ItemIsTristate = ItemIsAutoTristate, 32020: 32020: ItemNeverHasChildren = 128, 32020: ItemIsUserTristate = 256 32020: }; 32020: typedef QFlags ItemFlags; 32020: constexpr inline QFlags operator|(ItemFlags::enum_type f1, ItemFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(ItemFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(ItemFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum MatchFlag { 32020: MatchExactly = 0, 32020: MatchContains = 1, 32020: MatchStartsWith = 2, 32020: MatchEndsWith = 3, 32020: 32020: MatchRegExp __attribute__ ((__deprecated__("MatchRegExp is deprecated. Use MatchRegularExpression instead"))) = 4, 32020: 32020: MatchWildcard = 5, 32020: MatchFixedString = 8, 32020: MatchRegularExpression = 9, 32020: MatchCaseSensitive = 16, 32020: MatchWrap = 32, 32020: MatchRecursive = 64 32020: }; 32020: typedef QFlags MatchFlags; 32020: constexpr inline QFlags operator|(MatchFlags::enum_type f1, MatchFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(MatchFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(MatchFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: typedef void * HANDLE; 32020: 32020: 32020: 32020: 32020: enum WindowModality { 32020: NonModal, 32020: WindowModal, 32020: ApplicationModal 32020: }; 32020: 32020: enum TextInteractionFlag { 32020: NoTextInteraction = 0, 32020: TextSelectableByMouse = 1, 32020: TextSelectableByKeyboard = 2, 32020: LinksAccessibleByMouse = 4, 32020: LinksAccessibleByKeyboard = 8, 32020: TextEditable = 16, 32020: 32020: TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable, 32020: TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard 32020: }; 32020: typedef QFlags TextInteractionFlags; 32020: constexpr inline QFlags operator|(TextInteractionFlags::enum_type f1, TextInteractionFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(TextInteractionFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(TextInteractionFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum EventPriority { 32020: HighEventPriority = 1, 32020: NormalEventPriority = 0, 32020: LowEventPriority = -1 32020: }; 32020: 32020: enum SizeHint { 32020: MinimumSize, 32020: PreferredSize, 32020: MaximumSize, 32020: MinimumDescent, 32020: NSizeHints 32020: }; 32020: 32020: enum WindowFrameSection { 32020: NoSection, 32020: LeftSection, 32020: TopLeftSection, 32020: TopSection, 32020: TopRightSection, 32020: RightSection, 32020: BottomRightSection, 32020: BottomSection, 32020: BottomLeftSection, 32020: TitleBarArea 32020: }; 32020: 32020: 32020: enum class Initialization { 32020: Uninitialized 32020: }; 32020: static constexpr __attribute__((__unused__)) Initialization Uninitialized = Initialization::Uninitialized; 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum CoordinateSystem { 32020: DeviceCoordinates, 32020: LogicalCoordinates 32020: }; 32020: 32020: enum TouchPointState { 32020: TouchPointPressed = 0x01, 32020: TouchPointMoved = 0x02, 32020: TouchPointStationary = 0x04, 32020: TouchPointReleased = 0x08 32020: }; 32020: typedef QFlags TouchPointStates; 32020: constexpr inline QFlags operator|(TouchPointStates::enum_type f1, TouchPointStates::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(TouchPointStates::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(TouchPointStates::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: 32020: enum GestureState 32020: { 32020: NoGesture, 32020: GestureStarted = 1, 32020: GestureUpdated = 2, 32020: GestureFinished = 3, 32020: GestureCanceled = 4 32020: }; 32020: 32020: enum GestureType 32020: { 32020: TapGesture = 1, 32020: TapAndHoldGesture = 2, 32020: PanGesture = 3, 32020: PinchGesture = 4, 32020: SwipeGesture = 5, 32020: 32020: CustomGesture = 0x0100, 32020: 32020: LastGestureType = ~0u 32020: }; 32020: 32020: enum GestureFlag 32020: { 32020: DontStartGestureOnChildren = 0x01, 32020: ReceivePartialGestures = 0x02, 32020: IgnoredGesturesPropagateToParent = 0x04 32020: }; 32020: typedef QFlags GestureFlags; 32020: constexpr inline QFlags operator|(GestureFlags::enum_type f1, GestureFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(GestureFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(GestureFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum NativeGestureType 32020: { 32020: BeginNativeGesture, 32020: EndNativeGesture, 32020: PanNativeGesture, 32020: ZoomNativeGesture, 32020: SmartZoomNativeGesture, 32020: RotateNativeGesture, 32020: SwipeNativeGesture 32020: }; 32020: 32020: 32020: 32020: enum NavigationMode 32020: { 32020: NavigationModeNone, 32020: NavigationModeKeypadTabOrder, 32020: NavigationModeKeypadDirectional, 32020: NavigationModeCursorAuto, 32020: NavigationModeCursorForceVisible 32020: }; 32020: 32020: enum CursorMoveStyle { 32020: LogicalMoveStyle, 32020: VisualMoveStyle 32020: }; 32020: 32020: enum TimerType { 32020: PreciseTimer, 32020: CoarseTimer, 32020: VeryCoarseTimer 32020: }; 32020: 32020: enum ScrollPhase { 32020: NoScrollPhase = 0, 32020: ScrollBegin, 32020: ScrollUpdate, 32020: ScrollEnd, 32020: ScrollMomentum 32020: }; 32020: 32020: enum MouseEventSource { 32020: MouseEventNotSynthesized, 32020: MouseEventSynthesizedBySystem, 32020: MouseEventSynthesizedByQt, 32020: MouseEventSynthesizedByApplication 32020: }; 32020: 32020: enum MouseEventFlag { 32020: MouseEventCreatedDoubleClick = 0x01, 32020: MouseEventFlagMask = 0xFF 32020: }; 32020: typedef QFlags MouseEventFlags; 32020: constexpr inline QFlags operator|(MouseEventFlags::enum_type f1, MouseEventFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(MouseEventFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(MouseEventFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: enum ChecksumType { 32020: ChecksumIso3309, 32020: ChecksumItuV41 32020: }; 32020: 32020: enum class HighDpiScaleFactorRoundingPolicy { 32020: Unset, 32020: Round, 32020: Ceil, 32020: Floor, 32020: RoundPreferFloor, 32020: PassThrough 32020: }; 32020: 32020: 32020: enum ReturnByValueConstant { ReturnByValue }; 32020: 32020: 32020: 32020: inline const QMetaObject *qt_getEnumMetaObject(ScrollBarPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScrollBarPolicy) noexcept { return "ScrollBarPolicy"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(FocusPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FocusPolicy) noexcept { return "FocusPolicy"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ContextMenuPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ContextMenuPolicy) noexcept { return "ContextMenuPolicy"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ArrowType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ArrowType) noexcept { return "ArrowType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ToolButtonStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolButtonStyle) noexcept { return "ToolButtonStyle"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(PenStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenStyle) noexcept { return "PenStyle"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(PenCapStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenCapStyle) noexcept { return "PenCapStyle"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(PenJoinStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenJoinStyle) noexcept { return "PenJoinStyle"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(BrushStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(BrushStyle) noexcept { return "BrushStyle"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(FillRule) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FillRule) noexcept { return "FillRule"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(MaskMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MaskMode) noexcept { return "MaskMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(BGMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(BGMode) noexcept { return "BGMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ClipOperation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ClipOperation) noexcept { return "ClipOperation"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(SizeMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SizeMode) noexcept { return "SizeMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Axis) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Axis) noexcept { return "Axis"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Corner) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Corner) noexcept { return "Corner"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Edge) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Edge) noexcept { return "Edge"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(LayoutDirection) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(LayoutDirection) noexcept { return "LayoutDirection"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(SizeHint) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SizeHint) noexcept { return "SizeHint"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Orientation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Orientation) noexcept { return "Orientation"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(DropAction) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DropAction) noexcept { return "DropAction"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Alignment) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Alignment) noexcept { return "Alignment"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TextFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextFlag) noexcept { return "TextFlag"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Orientations) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Orientations) noexcept { return "Orientations"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(SplitBehavior) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SplitBehavior) noexcept { return "SplitBehavior"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(DropActions) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DropActions) noexcept { return "DropActions"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Edges) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Edges) noexcept { return "Edges"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(DockWidgetAreas) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DockWidgetAreas) noexcept { return "DockWidgetAreas"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ToolBarAreas) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolBarAreas) noexcept { return "ToolBarAreas"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(DockWidgetArea) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DockWidgetArea) noexcept { return "DockWidgetArea"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ToolBarArea) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolBarArea) noexcept { return "ToolBarArea"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TextFormat) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextFormat) noexcept { return "TextFormat"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TextElideMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextElideMode) noexcept { return "TextElideMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(DateFormat) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DateFormat) noexcept { return "DateFormat"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TimeSpec) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TimeSpec) noexcept { return "TimeSpec"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(DayOfWeek) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DayOfWeek) noexcept { return "DayOfWeek"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(CursorShape) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CursorShape) noexcept { return "CursorShape"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(GlobalColor) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GlobalColor) noexcept { return "GlobalColor"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(AspectRatioMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(AspectRatioMode) noexcept { return "AspectRatioMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TransformationMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TransformationMode) noexcept { return "TransformationMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ImageConversionFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ImageConversionFlags) noexcept { return "ImageConversionFlags"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(Key) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Key) noexcept { return "Key"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ShortcutContext) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ShortcutContext) noexcept { return "ShortcutContext"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TextInteractionFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextInteractionFlag) noexcept { return "TextInteractionFlag"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TextInteractionFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextInteractionFlags) noexcept { return "TextInteractionFlags"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ItemSelectionMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemSelectionMode) noexcept { return "ItemSelectionMode"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ItemSelectionOperation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemSelectionOperation) noexcept { return "ItemSelectionOperation"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ItemFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemFlags) noexcept { return "ItemFlags"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(CheckState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CheckState) noexcept { return "CheckState"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ItemDataRole) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemDataRole) noexcept { return "ItemDataRole"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(SortOrder) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SortOrder) noexcept { return "SortOrder"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(CaseSensitivity) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CaseSensitivity) noexcept { return "CaseSensitivity"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(MatchFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MatchFlags) noexcept { return "MatchFlags"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(KeyboardModifiers) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(KeyboardModifiers) noexcept { return "KeyboardModifiers"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(MouseButtons) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseButtons) noexcept { return "MouseButtons"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(WindowType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowType) noexcept { return "WindowType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(WindowState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowState) noexcept { return "WindowState"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(WindowModality) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowModality) noexcept { return "WindowModality"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(WidgetAttribute) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WidgetAttribute) noexcept { return "WidgetAttribute"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ApplicationAttribute) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ApplicationAttribute) noexcept { return "ApplicationAttribute"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(WindowFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowFlags) noexcept { return "WindowFlags"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(WindowStates) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowStates) noexcept { return "WindowStates"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(FocusReason) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FocusReason) noexcept { return "FocusReason"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(InputMethodHint) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodHint) noexcept { return "InputMethodHint"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(InputMethodQuery) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodQuery) noexcept { return "InputMethodQuery"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(InputMethodHints) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodHints) noexcept { return "InputMethodHints"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(EnterKeyType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(EnterKeyType) noexcept { return "EnterKeyType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(InputMethodQueries) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodQueries) noexcept { return "InputMethodQueries"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TouchPointStates) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TouchPointStates) noexcept { return "TouchPointStates"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ScreenOrientation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScreenOrientation) noexcept { return "ScreenOrientation"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ScreenOrientations) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScreenOrientations) noexcept { return "ScreenOrientations"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ConnectionType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ConnectionType) noexcept { return "ConnectionType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ApplicationState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ApplicationState) noexcept { return "ApplicationState"; } 32020: 32020: inline const QMetaObject *qt_getEnumMetaObject(GestureState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GestureState) noexcept { return "GestureState"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(GestureType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GestureType) noexcept { return "GestureType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(NativeGestureType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(NativeGestureType) noexcept { return "NativeGestureType"; } 32020: 32020: inline const QMetaObject *qt_getEnumMetaObject(CursorMoveStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CursorMoveStyle) noexcept { return "CursorMoveStyle"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TimerType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TimerType) noexcept { return "TimerType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ScrollPhase) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScrollPhase) noexcept { return "ScrollPhase"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(MouseEventSource) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseEventSource) noexcept { return "MouseEventSource"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(MouseEventFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseEventFlag) noexcept { return "MouseEventFlag"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(ChecksumType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ChecksumType) noexcept { return "ChecksumType"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(HighDpiScaleFactorRoundingPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(HighDpiScaleFactorRoundingPolicy) noexcept { return "HighDpiScaleFactorRoundingPolicy"; } 32020: inline const QMetaObject *qt_getEnumMetaObject(TabFocusBehavior) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TabFocusBehavior) noexcept { return "TabFocusBehavior"; } 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef bool (*qInternalCallback)(void **); 32020: 32020: class __attribute__((visibility("default"))) QInternal { 32020: public: 32020: enum PaintDeviceFlags { 32020: UnknownDevice = 0x00, 32020: Widget = 0x01, 32020: Pixmap = 0x02, 32020: Image = 0x03, 32020: Printer = 0x04, 32020: Picture = 0x05, 32020: Pbuffer = 0x06, 32020: FramebufferObject = 0x07, 32020: CustomRaster = 0x08, 32020: MacQuartz = 0x09, 32020: PaintBuffer = 0x0a, 32020: OpenGL = 0x0b 32020: }; 32020: enum RelayoutType { 32020: RelayoutNormal, 32020: RelayoutDragging, 32020: RelayoutDropped 32020: }; 32020: 32020: enum DockPosition { 32020: LeftDock, 32020: RightDock, 32020: TopDock, 32020: BottomDock, 32020: DockCount 32020: }; 32020: 32020: enum Callback { 32020: EventNotifyCallback, 32020: LastCallback 32020: }; 32020: static bool registerCallback(Callback, qInternalCallback); 32020: static bool unregisterCallback(Callback, qInternalCallback); 32020: static bool activateCallbacks(Callback, void **); 32020: }; 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmargins.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmargins.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QMargins 32020: { 32020: public: 32020: constexpr QMargins() noexcept; 32020: constexpr QMargins(int left, int top, int right, int bottom) noexcept; 32020: 32020: constexpr bool isNull() const noexcept; 32020: 32020: constexpr int left() const noexcept; 32020: constexpr int top() const noexcept; 32020: constexpr int right() const noexcept; 32020: constexpr int bottom() const noexcept; 32020: 32020: constexpr void setLeft(int left) noexcept; 32020: constexpr void setTop(int top) noexcept; 32020: constexpr void setRight(int right) noexcept; 32020: constexpr void setBottom(int bottom) noexcept; 32020: 32020: constexpr QMargins &operator+=(const QMargins &margins) noexcept; 32020: constexpr QMargins &operator-=(const QMargins &margins) noexcept; 32020: constexpr QMargins &operator+=(int) noexcept; 32020: constexpr QMargins &operator-=(int) noexcept; 32020: constexpr QMargins &operator*=(int) noexcept; 32020: constexpr QMargins &operator/=(int); 32020: constexpr QMargins &operator*=(qreal) noexcept; 32020: constexpr QMargins &operator/=(qreal); 32020: 32020: private: 32020: int m_left; 32020: int m_top; 32020: int m_right; 32020: int m_bottom; 32020: 32020: friend constexpr inline bool operator==(const QMargins &, const QMargins &) noexcept; 32020: friend constexpr inline bool operator!=(const QMargins &, const QMargins &) noexcept; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMargins &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMargins &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QMargins::QMargins() noexcept : m_left(0), m_top(0), m_right(0), m_bottom(0) {} 32020: 32020: constexpr inline QMargins::QMargins(int aleft, int atop, int aright, int abottom) noexcept 32020: : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} 32020: 32020: constexpr inline bool QMargins::isNull() const noexcept 32020: { return m_left==0 && m_top==0 && m_right==0 && m_bottom==0; } 32020: 32020: constexpr inline int QMargins::left() const noexcept 32020: { return m_left; } 32020: 32020: constexpr inline int QMargins::top() const noexcept 32020: { return m_top; } 32020: 32020: constexpr inline int QMargins::right() const noexcept 32020: { return m_right; } 32020: 32020: constexpr inline int QMargins::bottom() const noexcept 32020: { return m_bottom; } 32020: 32020: 32020: constexpr inline void QMargins::setLeft(int aleft) noexcept 32020: { m_left = aleft; } 32020: 32020: constexpr inline void QMargins::setTop(int atop) noexcept 32020: { m_top = atop; } 32020: 32020: constexpr inline void QMargins::setRight(int aright) noexcept 32020: { m_right = aright; } 32020: 32020: constexpr inline void QMargins::setBottom(int abottom) noexcept 32020: { m_bottom = abottom; } 32020: 32020: constexpr inline bool operator==(const QMargins &m1, const QMargins &m2) noexcept 32020: { 32020: return 32020: m1.m_left == m2.m_left && 32020: m1.m_top == m2.m_top && 32020: m1.m_right == m2.m_right && 32020: m1.m_bottom == m2.m_bottom; 32020: } 32020: 32020: constexpr inline bool operator!=(const QMargins &m1, const QMargins &m2) noexcept 32020: { 32020: return 32020: m1.m_left != m2.m_left || 32020: m1.m_top != m2.m_top || 32020: m1.m_right != m2.m_right || 32020: m1.m_bottom != m2.m_bottom; 32020: } 32020: 32020: constexpr inline QMargins operator+(const QMargins &m1, const QMargins &m2) noexcept 32020: { 32020: return QMargins(m1.left() + m2.left(), m1.top() + m2.top(), 32020: m1.right() + m2.right(), m1.bottom() + m2.bottom()); 32020: } 32020: 32020: constexpr inline QMargins operator-(const QMargins &m1, const QMargins &m2) noexcept 32020: { 32020: return QMargins(m1.left() - m2.left(), m1.top() - m2.top(), 32020: m1.right() - m2.right(), m1.bottom() - m2.bottom()); 32020: } 32020: 32020: constexpr inline QMargins operator+(const QMargins &lhs, int rhs) noexcept 32020: { 32020: return QMargins(lhs.left() + rhs, lhs.top() + rhs, 32020: lhs.right() + rhs, lhs.bottom() + rhs); 32020: } 32020: 32020: constexpr inline QMargins operator+(int lhs, const QMargins &rhs) noexcept 32020: { 32020: return QMargins(rhs.left() + lhs, rhs.top() + lhs, 32020: rhs.right() + lhs, rhs.bottom() + lhs); 32020: } 32020: 32020: constexpr inline QMargins operator-(const QMargins &lhs, int rhs) noexcept 32020: { 32020: return QMargins(lhs.left() - rhs, lhs.top() - rhs, 32020: lhs.right() - rhs, lhs.bottom() - rhs); 32020: } 32020: 32020: constexpr inline QMargins operator*(const QMargins &margins, int factor) noexcept 32020: { 32020: return QMargins(margins.left() * factor, margins.top() * factor, 32020: margins.right() * factor, margins.bottom() * factor); 32020: } 32020: 32020: constexpr inline QMargins operator*(int factor, const QMargins &margins) noexcept 32020: { 32020: return QMargins(margins.left() * factor, margins.top() * factor, 32020: margins.right() * factor, margins.bottom() * factor); 32020: } 32020: 32020: constexpr inline QMargins operator*(const QMargins &margins, qreal factor) noexcept 32020: { 32020: return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor), 32020: qRound(margins.right() * factor), qRound(margins.bottom() * factor)); 32020: } 32020: 32020: constexpr inline QMargins operator*(qreal factor, const QMargins &margins) noexcept 32020: { 32020: return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor), 32020: qRound(margins.right() * factor), qRound(margins.bottom() * factor)); 32020: } 32020: 32020: constexpr inline QMargins operator/(const QMargins &margins, int divisor) 32020: { 32020: return QMargins(margins.left() / divisor, margins.top() / divisor, 32020: margins.right() / divisor, margins.bottom() / divisor); 32020: } 32020: 32020: constexpr inline QMargins operator/(const QMargins &margins, qreal divisor) 32020: { 32020: return QMargins(qRound(margins.left() / divisor), qRound(margins.top() / divisor), 32020: qRound(margins.right() / divisor), qRound(margins.bottom() / divisor)); 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator+=(const QMargins &margins) noexcept 32020: { 32020: return *this = *this + margins; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator-=(const QMargins &margins) noexcept 32020: { 32020: return *this = *this - margins; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator+=(int margin) noexcept 32020: { 32020: m_left += margin; 32020: m_top += margin; 32020: m_right += margin; 32020: m_bottom += margin; 32020: return *this; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator-=(int margin) noexcept 32020: { 32020: m_left -= margin; 32020: m_top -= margin; 32020: m_right -= margin; 32020: m_bottom -= margin; 32020: return *this; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator*=(int factor) noexcept 32020: { 32020: return *this = *this * factor; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator/=(int divisor) 32020: { 32020: return *this = *this / divisor; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator*=(qreal factor) noexcept 32020: { 32020: return *this = *this * factor; 32020: } 32020: 32020: constexpr inline QMargins &QMargins::operator/=(qreal divisor) 32020: { 32020: return *this = *this / divisor; 32020: } 32020: 32020: constexpr inline QMargins operator+(const QMargins &margins) noexcept 32020: { 32020: return margins; 32020: } 32020: 32020: constexpr inline QMargins operator-(const QMargins &margins) noexcept 32020: { 32020: return QMargins(-margins.left(), -margins.top(), -margins.right(), -margins.bottom()); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMargins &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QMarginsF 32020: { 32020: public: 32020: constexpr QMarginsF() noexcept; 32020: constexpr QMarginsF(qreal left, qreal top, qreal right, qreal bottom) noexcept; 32020: constexpr QMarginsF(const QMargins &margins) noexcept; 32020: 32020: constexpr bool isNull() const noexcept; 32020: 32020: constexpr qreal left() const noexcept; 32020: constexpr qreal top() const noexcept; 32020: constexpr qreal right() const noexcept; 32020: constexpr qreal bottom() const noexcept; 32020: 32020: constexpr void setLeft(qreal left) noexcept; 32020: constexpr void setTop(qreal top) noexcept; 32020: constexpr void setRight(qreal right) noexcept; 32020: constexpr void setBottom(qreal bottom) noexcept; 32020: 32020: constexpr QMarginsF &operator+=(const QMarginsF &margins) noexcept; 32020: constexpr QMarginsF &operator-=(const QMarginsF &margins) noexcept; 32020: constexpr QMarginsF &operator+=(qreal addend) noexcept; 32020: constexpr QMarginsF &operator-=(qreal subtrahend) noexcept; 32020: constexpr QMarginsF &operator*=(qreal factor) noexcept; 32020: constexpr QMarginsF &operator/=(qreal divisor); 32020: 32020: constexpr inline QMargins toMargins() const noexcept; 32020: 32020: private: 32020: qreal m_left; 32020: qreal m_top; 32020: qreal m_right; 32020: qreal m_bottom; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMarginsF &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMarginsF &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QMarginsF::QMarginsF() noexcept 32020: : m_left(0), m_top(0), m_right(0), m_bottom(0) {} 32020: 32020: constexpr inline QMarginsF::QMarginsF(qreal aleft, qreal atop, qreal aright, qreal abottom) noexcept 32020: : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} 32020: 32020: constexpr inline QMarginsF::QMarginsF(const QMargins &margins) noexcept 32020: : m_left(margins.left()), m_top(margins.top()), m_right(margins.right()), m_bottom(margins.bottom()) {} 32020: 32020: constexpr inline bool QMarginsF::isNull() const noexcept 32020: { return qFuzzyIsNull(m_left) && qFuzzyIsNull(m_top) && qFuzzyIsNull(m_right) && qFuzzyIsNull(m_bottom); } 32020: 32020: constexpr inline qreal QMarginsF::left() const noexcept 32020: { return m_left; } 32020: 32020: constexpr inline qreal QMarginsF::top() const noexcept 32020: { return m_top; } 32020: 32020: constexpr inline qreal QMarginsF::right() const noexcept 32020: { return m_right; } 32020: 32020: constexpr inline qreal QMarginsF::bottom() const noexcept 32020: { return m_bottom; } 32020: 32020: 32020: constexpr inline void QMarginsF::setLeft(qreal aleft) noexcept 32020: { m_left = aleft; } 32020: 32020: constexpr inline void QMarginsF::setTop(qreal atop) noexcept 32020: { m_top = atop; } 32020: 32020: constexpr inline void QMarginsF::setRight(qreal aright) noexcept 32020: { m_right = aright; } 32020: 32020: constexpr inline void QMarginsF::setBottom(qreal abottom) noexcept 32020: { m_bottom = abottom; } 32020: 32020: constexpr inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return qFuzzyCompare(lhs.left(), rhs.left()) 32020: && qFuzzyCompare(lhs.top(), rhs.top()) 32020: && qFuzzyCompare(lhs.right(), rhs.right()) 32020: && qFuzzyCompare(lhs.bottom(), rhs.bottom()); 32020: } 32020: 32020: constexpr inline bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return !operator==(lhs, rhs); 32020: } 32020: 32020: constexpr inline QMarginsF operator+(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return QMarginsF(lhs.left() + rhs.left(), lhs.top() + rhs.top(), 32020: lhs.right() + rhs.right(), lhs.bottom() + rhs.bottom()); 32020: } 32020: 32020: constexpr inline QMarginsF operator-(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return QMarginsF(lhs.left() - rhs.left(), lhs.top() - rhs.top(), 32020: lhs.right() - rhs.right(), lhs.bottom() - rhs.bottom()); 32020: } 32020: 32020: constexpr inline QMarginsF operator+(const QMarginsF &lhs, qreal rhs) noexcept 32020: { 32020: return QMarginsF(lhs.left() + rhs, lhs.top() + rhs, 32020: lhs.right() + rhs, lhs.bottom() + rhs); 32020: } 32020: 32020: constexpr inline QMarginsF operator+(qreal lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return QMarginsF(rhs.left() + lhs, rhs.top() + lhs, 32020: rhs.right() + lhs, rhs.bottom() + lhs); 32020: } 32020: 32020: constexpr inline QMarginsF operator-(const QMarginsF &lhs, qreal rhs) noexcept 32020: { 32020: return QMarginsF(lhs.left() - rhs, lhs.top() - rhs, 32020: lhs.right() - rhs, lhs.bottom() - rhs); 32020: } 32020: 32020: constexpr inline QMarginsF operator*(const QMarginsF &lhs, qreal rhs) noexcept 32020: { 32020: return QMarginsF(lhs.left() * rhs, lhs.top() * rhs, 32020: lhs.right() * rhs, lhs.bottom() * rhs); 32020: } 32020: 32020: constexpr inline QMarginsF operator*(qreal lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return QMarginsF(rhs.left() * lhs, rhs.top() * lhs, 32020: rhs.right() * lhs, rhs.bottom() * lhs); 32020: } 32020: 32020: constexpr inline QMarginsF operator/(const QMarginsF &lhs, qreal divisor) 32020: { 32020: return QMarginsF(lhs.left() / divisor, lhs.top() / divisor, 32020: lhs.right() / divisor, lhs.bottom() / divisor); 32020: } 32020: 32020: constexpr inline QMarginsF &QMarginsF::operator+=(const QMarginsF &margins) noexcept 32020: { 32020: return *this = *this + margins; 32020: } 32020: 32020: constexpr inline QMarginsF &QMarginsF::operator-=(const QMarginsF &margins) noexcept 32020: { 32020: return *this = *this - margins; 32020: } 32020: 32020: constexpr inline QMarginsF &QMarginsF::operator+=(qreal addend) noexcept 32020: { 32020: m_left += addend; 32020: m_top += addend; 32020: m_right += addend; 32020: m_bottom += addend; 32020: return *this; 32020: } 32020: 32020: constexpr inline QMarginsF &QMarginsF::operator-=(qreal subtrahend) noexcept 32020: { 32020: m_left -= subtrahend; 32020: m_top -= subtrahend; 32020: m_right -= subtrahend; 32020: m_bottom -= subtrahend; 32020: return *this; 32020: } 32020: 32020: constexpr inline QMarginsF &QMarginsF::operator*=(qreal factor) noexcept 32020: { 32020: return *this = *this * factor; 32020: } 32020: 32020: constexpr inline QMarginsF &QMarginsF::operator/=(qreal divisor) 32020: { 32020: return *this = *this / divisor; 32020: } 32020: 32020: constexpr inline QMarginsF operator+(const QMarginsF &margins) noexcept 32020: { 32020: return margins; 32020: } 32020: 32020: constexpr inline QMarginsF operator-(const QMarginsF &margins) noexcept 32020: { 32020: return QMarginsF(-margins.left(), -margins.top(), -margins.right(), -margins.bottom()); 32020: } 32020: 32020: constexpr inline QMargins QMarginsF::toMargins() const noexcept 32020: { 32020: return QMargins(qRound(m_left), qRound(m_top), qRound(m_right), qRound(m_bottom)); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMarginsF &); 32020: 32020: 32020: 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsize.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsize.h" 3 4 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QSize 32020: { 32020: public: 32020: constexpr QSize() noexcept; 32020: constexpr QSize(int w, int h) noexcept; 32020: 32020: constexpr inline bool isNull() const noexcept; 32020: constexpr inline bool isEmpty() const noexcept; 32020: constexpr inline bool isValid() const noexcept; 32020: 32020: constexpr inline int width() const noexcept; 32020: constexpr inline int height() const noexcept; 32020: constexpr inline void setWidth(int w) noexcept; 32020: constexpr inline void setHeight(int h) noexcept; 32020: void transpose() noexcept; 32020: [[nodiscard]] constexpr inline QSize transposed() const noexcept; 32020: 32020: inline void scale(int w, int h, Qt::AspectRatioMode mode) noexcept; 32020: inline void scale(const QSize &s, Qt::AspectRatioMode mode) noexcept; 32020: [[nodiscard]] QSize scaled(int w, int h, Qt::AspectRatioMode mode) const noexcept; 32020: [[nodiscard]] QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const noexcept; 32020: 32020: [[nodiscard]] constexpr inline QSize expandedTo(const QSize &) const noexcept; 32020: [[nodiscard]] constexpr inline QSize boundedTo(const QSize &) const noexcept; 32020: 32020: [[nodiscard]] constexpr QSize grownBy(QMargins m) const noexcept 32020: { return {width() + m.left() + m.right(), height() + m.top() + m.bottom()}; } 32020: [[nodiscard]] constexpr QSize shrunkBy(QMargins m) const noexcept 32020: { return {width() - m.left() - m.right(), height() - m.top() - m.bottom()}; } 32020: 32020: constexpr inline int &rwidth() noexcept; 32020: constexpr inline int &rheight() noexcept; 32020: 32020: constexpr inline QSize &operator+=(const QSize &) noexcept; 32020: constexpr inline QSize &operator-=(const QSize &) noexcept; 32020: constexpr inline QSize &operator*=(qreal c) noexcept; 32020: inline QSize &operator/=(qreal c); 32020: 32020: friend inline constexpr bool operator==(const QSize &, const QSize &) noexcept; 32020: friend inline constexpr bool operator!=(const QSize &, const QSize &) noexcept; 32020: friend inline constexpr const QSize operator+(const QSize &, const QSize &) noexcept; 32020: friend inline constexpr const QSize operator-(const QSize &, const QSize &) noexcept; 32020: friend inline constexpr const QSize operator*(const QSize &, qreal) noexcept; 32020: friend inline constexpr const QSize operator*(qreal, const QSize &) noexcept; 32020: friend inline const QSize operator/(const QSize &, qreal); 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: int wd; 32020: int ht; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSize &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSize &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QSize::QSize() noexcept : wd(-1), ht(-1) {} 32020: 32020: constexpr inline QSize::QSize(int w, int h) noexcept : wd(w), ht(h) {} 32020: 32020: constexpr inline bool QSize::isNull() const noexcept 32020: { return wd==0 && ht==0; } 32020: 32020: constexpr inline bool QSize::isEmpty() const noexcept 32020: { return wd<1 || ht<1; } 32020: 32020: constexpr inline bool QSize::isValid() const noexcept 32020: { return wd>=0 && ht>=0; } 32020: 32020: constexpr inline int QSize::width() const noexcept 32020: { return wd; } 32020: 32020: constexpr inline int QSize::height() const noexcept 32020: { return ht; } 32020: 32020: constexpr inline void QSize::setWidth(int w) noexcept 32020: { wd = w; } 32020: 32020: constexpr inline void QSize::setHeight(int h) noexcept 32020: { ht = h; } 32020: 32020: constexpr inline QSize QSize::transposed() const noexcept 32020: { return QSize(ht, wd); } 32020: 32020: inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) noexcept 32020: { scale(QSize(w, h), mode); } 32020: 32020: inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode) noexcept 32020: { *this = scaled(s, mode); } 32020: 32020: inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const noexcept 32020: { return scaled(QSize(w, h), mode); } 32020: 32020: constexpr inline int &QSize::rwidth() noexcept 32020: { return wd; } 32020: 32020: constexpr inline int &QSize::rheight() noexcept 32020: { return ht; } 32020: 32020: constexpr inline QSize &QSize::operator+=(const QSize &s) noexcept 32020: { wd+=s.wd; ht+=s.ht; return *this; } 32020: 32020: constexpr inline QSize &QSize::operator-=(const QSize &s) noexcept 32020: { wd-=s.wd; ht-=s.ht; return *this; } 32020: 32020: constexpr inline QSize &QSize::operator*=(qreal c) noexcept 32020: { wd = qRound(wd*c); ht = qRound(ht*c); return *this; } 32020: 32020: constexpr inline bool operator==(const QSize &s1, const QSize &s2) noexcept 32020: { return s1.wd == s2.wd && s1.ht == s2.ht; } 32020: 32020: constexpr inline bool operator!=(const QSize &s1, const QSize &s2) noexcept 32020: { return s1.wd != s2.wd || s1.ht != s2.ht; } 32020: 32020: constexpr inline const QSize operator+(const QSize & s1, const QSize & s2) noexcept 32020: { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } 32020: 32020: constexpr inline const QSize operator-(const QSize &s1, const QSize &s2) noexcept 32020: { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } 32020: 32020: constexpr inline const QSize operator*(const QSize &s, qreal c) noexcept 32020: { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } 32020: 32020: constexpr inline const QSize operator*(qreal c, const QSize &s) noexcept 32020: { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } 32020: 32020: inline QSize &QSize::operator/=(qreal c) 32020: { 32020: static_cast(false && (!qFuzzyIsNull(c))); 32020: wd = qRound(wd/c); ht = qRound(ht/c); 32020: return *this; 32020: } 32020: 32020: inline const QSize operator/(const QSize &s, qreal c) 32020: { 32020: static_cast(false && (!qFuzzyIsNull(c))); 32020: return QSize(qRound(s.wd/c), qRound(s.ht/c)); 32020: } 32020: 32020: constexpr inline QSize QSize::expandedTo(const QSize & otherSize) const noexcept 32020: { 32020: return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); 32020: } 32020: 32020: constexpr inline QSize QSize::boundedTo(const QSize & otherSize) const noexcept 32020: { 32020: return QSize(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSize &); 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QSizeF 32020: { 32020: public: 32020: constexpr QSizeF() noexcept; 32020: constexpr QSizeF(const QSize &sz) noexcept; 32020: constexpr QSizeF(qreal w, qreal h) noexcept; 32020: 32020: inline bool isNull() const noexcept; 32020: constexpr inline bool isEmpty() const noexcept; 32020: constexpr inline bool isValid() const noexcept; 32020: 32020: constexpr inline qreal width() const noexcept; 32020: constexpr inline qreal height() const noexcept; 32020: constexpr inline void setWidth(qreal w) noexcept; 32020: constexpr inline void setHeight(qreal h) noexcept; 32020: void transpose() noexcept; 32020: [[nodiscard]] constexpr inline QSizeF transposed() const noexcept; 32020: 32020: inline void scale(qreal w, qreal h, Qt::AspectRatioMode mode) noexcept; 32020: inline void scale(const QSizeF &s, Qt::AspectRatioMode mode) noexcept; 32020: [[nodiscard]] QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const noexcept; 32020: [[nodiscard]] QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const noexcept; 32020: 32020: [[nodiscard]] constexpr inline QSizeF expandedTo(const QSizeF &) const noexcept; 32020: [[nodiscard]] constexpr inline QSizeF boundedTo(const QSizeF &) const noexcept; 32020: 32020: [[nodiscard]] constexpr QSizeF grownBy(QMarginsF m) const noexcept 32020: { return {width() + m.left() + m.right(), height() + m.top() + m.bottom()}; } 32020: [[nodiscard]] constexpr QSizeF shrunkBy(QMarginsF m) const noexcept 32020: { return {width() - m.left() - m.right(), height() - m.top() - m.bottom()}; } 32020: 32020: constexpr inline qreal &rwidth() noexcept; 32020: constexpr inline qreal &rheight() noexcept; 32020: 32020: constexpr inline QSizeF &operator+=(const QSizeF &) noexcept; 32020: constexpr inline QSizeF &operator-=(const QSizeF &) noexcept; 32020: constexpr inline QSizeF &operator*=(qreal c) noexcept; 32020: inline QSizeF &operator/=(qreal c); 32020: 32020: friend constexpr inline bool operator==(const QSizeF &, const QSizeF &) noexcept; 32020: friend constexpr inline bool operator!=(const QSizeF &, const QSizeF &) noexcept; 32020: friend constexpr inline const QSizeF operator+(const QSizeF &, const QSizeF &) noexcept; 32020: friend constexpr inline const QSizeF operator-(const QSizeF &, const QSizeF &) noexcept; 32020: friend constexpr inline const QSizeF operator*(const QSizeF &, qreal) noexcept; 32020: friend constexpr inline const QSizeF operator*(qreal, const QSizeF &) noexcept; 32020: friend inline const QSizeF operator/(const QSizeF &, qreal); 32020: 32020: constexpr inline QSize toSize() const noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: qreal wd; 32020: qreal ht; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSizeF &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSizeF &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QSizeF::QSizeF() noexcept : wd(-1.), ht(-1.) {} 32020: 32020: constexpr inline QSizeF::QSizeF(const QSize &sz) noexcept : wd(sz.width()), ht(sz.height()) {} 32020: 32020: constexpr inline QSizeF::QSizeF(qreal w, qreal h) noexcept : wd(w), ht(h) {} 32020: 32020: inline bool QSizeF::isNull() const noexcept 32020: { return qIsNull(wd) && qIsNull(ht); } 32020: 32020: constexpr inline bool QSizeF::isEmpty() const noexcept 32020: { return wd <= 0. || ht <= 0.; } 32020: 32020: constexpr inline bool QSizeF::isValid() const noexcept 32020: { return wd >= 0. && ht >= 0.; } 32020: 32020: constexpr inline qreal QSizeF::width() const noexcept 32020: { return wd; } 32020: 32020: constexpr inline qreal QSizeF::height() const noexcept 32020: { return ht; } 32020: 32020: constexpr inline void QSizeF::setWidth(qreal w) noexcept 32020: { wd = w; } 32020: 32020: constexpr inline void QSizeF::setHeight(qreal h) noexcept 32020: { ht = h; } 32020: 32020: constexpr inline QSizeF QSizeF::transposed() const noexcept 32020: { return QSizeF(ht, wd); } 32020: 32020: inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) noexcept 32020: { scale(QSizeF(w, h), mode); } 32020: 32020: inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode) noexcept 32020: { *this = scaled(s, mode); } 32020: 32020: inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const noexcept 32020: { return scaled(QSizeF(w, h), mode); } 32020: 32020: constexpr inline qreal &QSizeF::rwidth() noexcept 32020: { return wd; } 32020: 32020: constexpr inline qreal &QSizeF::rheight() noexcept 32020: { return ht; } 32020: 32020: constexpr inline QSizeF &QSizeF::operator+=(const QSizeF &s) noexcept 32020: { wd += s.wd; ht += s.ht; return *this; } 32020: 32020: constexpr inline QSizeF &QSizeF::operator-=(const QSizeF &s) noexcept 32020: { wd -= s.wd; ht -= s.ht; return *this; } 32020: 32020: constexpr inline QSizeF &QSizeF::operator*=(qreal c) noexcept 32020: { wd *= c; ht *= c; return *this; } 32020: 32020: constexpr inline bool operator==(const QSizeF &s1, const QSizeF &s2) noexcept 32020: { return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); } 32020: 32020: constexpr inline bool operator!=(const QSizeF &s1, const QSizeF &s2) noexcept 32020: { return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); } 32020: 32020: constexpr inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) noexcept 32020: { return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); } 32020: 32020: constexpr inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) noexcept 32020: { return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); } 32020: 32020: constexpr inline const QSizeF operator*(const QSizeF &s, qreal c) noexcept 32020: { return QSizeF(s.wd*c, s.ht*c); } 32020: 32020: constexpr inline const QSizeF operator*(qreal c, const QSizeF &s) noexcept 32020: { return QSizeF(s.wd*c, s.ht*c); } 32020: 32020: inline QSizeF &QSizeF::operator/=(qreal c) 32020: { 32020: static_cast(false && (!qFuzzyIsNull(c))); 32020: wd = wd/c; ht = ht/c; 32020: return *this; 32020: } 32020: 32020: inline const QSizeF operator/(const QSizeF &s, qreal c) 32020: { 32020: static_cast(false && (!qFuzzyIsNull(c))); 32020: return QSizeF(s.wd/c, s.ht/c); 32020: } 32020: 32020: constexpr inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const noexcept 32020: { 32020: return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); 32020: } 32020: 32020: constexpr inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const noexcept 32020: { 32020: return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); 32020: } 32020: 32020: constexpr inline QSize QSizeF::toSize() const noexcept 32020: { 32020: return QSize(qRound(wd), qRound(ht)); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSizeF &); 32020: 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QPoint 32020: { 32020: public: 32020: constexpr QPoint(); 32020: constexpr QPoint(int xpos, int ypos); 32020: 32020: constexpr inline bool isNull() const; 32020: 32020: constexpr inline int x() const; 32020: constexpr inline int y() const; 32020: constexpr inline void setX(int x); 32020: constexpr inline void setY(int y); 32020: 32020: constexpr inline int manhattanLength() const; 32020: 32020: constexpr QPoint transposed() const noexcept { return {yp, xp}; } 32020: 32020: constexpr inline int &rx(); 32020: constexpr inline int &ry(); 32020: 32020: constexpr inline QPoint &operator+=(const QPoint &p); 32020: constexpr inline QPoint &operator-=(const QPoint &p); 32020: 32020: constexpr inline QPoint &operator*=(float factor); 32020: constexpr inline QPoint &operator*=(double factor); 32020: constexpr inline QPoint &operator*=(int factor); 32020: 32020: constexpr inline QPoint &operator/=(qreal divisor); 32020: 32020: constexpr static inline int dotProduct(const QPoint &p1, const QPoint &p2) 32020: { return p1.xp * p2.xp + p1.yp * p2.yp; } 32020: 32020: friend constexpr inline bool operator==(const QPoint &, const QPoint &); 32020: friend constexpr inline bool operator!=(const QPoint &, const QPoint &); 32020: friend constexpr inline const QPoint operator+(const QPoint &, const QPoint &); 32020: friend constexpr inline const QPoint operator-(const QPoint &, const QPoint &); 32020: friend constexpr inline const QPoint operator*(const QPoint &, float); 32020: friend constexpr inline const QPoint operator*(float, const QPoint &); 32020: friend constexpr inline const QPoint operator*(const QPoint &, double); 32020: friend constexpr inline const QPoint operator*(double, const QPoint &); 32020: friend constexpr inline const QPoint operator*(const QPoint &, int); 32020: friend constexpr inline const QPoint operator*(int, const QPoint &); 32020: friend constexpr inline const QPoint operator+(const QPoint &); 32020: friend constexpr inline const QPoint operator-(const QPoint &); 32020: friend constexpr inline const QPoint operator/(const QPoint &, qreal); 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: friend class QTransform; 32020: int xp; 32020: int yp; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPoint &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPoint &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QPoint::QPoint() : xp(0), yp(0) {} 32020: 32020: constexpr inline QPoint::QPoint(int xpos, int ypos) : xp(xpos), yp(ypos) {} 32020: 32020: constexpr inline bool QPoint::isNull() const 32020: { return xp == 0 && yp == 0; } 32020: 32020: constexpr inline int QPoint::x() const 32020: { return xp; } 32020: 32020: constexpr inline int QPoint::y() const 32020: { return yp; } 32020: 32020: constexpr inline void QPoint::setX(int xpos) 32020: { xp = xpos; } 32020: 32020: constexpr inline void QPoint::setY(int ypos) 32020: { yp = ypos; } 32020: 32020: inline int constexpr QPoint::manhattanLength() const 32020: { return qAbs(x())+qAbs(y()); } 32020: 32020: constexpr inline int &QPoint::rx() 32020: { return xp; } 32020: 32020: constexpr inline int &QPoint::ry() 32020: { return yp; } 32020: 32020: constexpr inline QPoint &QPoint::operator+=(const QPoint &p) 32020: { xp+=p.xp; yp+=p.yp; return *this; } 32020: 32020: constexpr inline QPoint &QPoint::operator-=(const QPoint &p) 32020: { xp-=p.xp; yp-=p.yp; return *this; } 32020: 32020: constexpr inline QPoint &QPoint::operator*=(float factor) 32020: { xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; } 32020: 32020: constexpr inline QPoint &QPoint::operator*=(double factor) 32020: { xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; } 32020: 32020: constexpr inline QPoint &QPoint::operator*=(int factor) 32020: { xp = xp*factor; yp = yp*factor; return *this; } 32020: 32020: constexpr inline bool operator==(const QPoint &p1, const QPoint &p2) 32020: { return p1.xp == p2.xp && p1.yp == p2.yp; } 32020: 32020: constexpr inline bool operator!=(const QPoint &p1, const QPoint &p2) 32020: { return p1.xp != p2.xp || p1.yp != p2.yp; } 32020: 32020: constexpr inline const QPoint operator+(const QPoint &p1, const QPoint &p2) 32020: { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); } 32020: 32020: constexpr inline const QPoint operator-(const QPoint &p1, const QPoint &p2) 32020: { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); } 32020: 32020: constexpr inline const QPoint operator*(const QPoint &p, float factor) 32020: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 32020: 32020: constexpr inline const QPoint operator*(const QPoint &p, double factor) 32020: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 32020: 32020: constexpr inline const QPoint operator*(const QPoint &p, int factor) 32020: { return QPoint(p.xp*factor, p.yp*factor); } 32020: 32020: constexpr inline const QPoint operator*(float factor, const QPoint &p) 32020: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 32020: 32020: constexpr inline const QPoint operator*(double factor, const QPoint &p) 32020: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 32020: 32020: constexpr inline const QPoint operator*(int factor, const QPoint &p) 32020: { return QPoint(p.xp*factor, p.yp*factor); } 32020: 32020: constexpr inline const QPoint operator+(const QPoint &p) 32020: { return p; } 32020: 32020: constexpr inline const QPoint operator-(const QPoint &p) 32020: { return QPoint(-p.xp, -p.yp); } 32020: 32020: constexpr inline QPoint &QPoint::operator/=(qreal c) 32020: { 32020: xp = qRound(xp/c); 32020: yp = qRound(yp/c); 32020: return *this; 32020: } 32020: 32020: constexpr inline const QPoint operator/(const QPoint &p, qreal c) 32020: { 32020: return QPoint(qRound(p.xp/c), qRound(p.yp/c)); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPoint &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QPointF 32020: { 32020: public: 32020: constexpr QPointF(); 32020: constexpr QPointF(const QPoint &p); 32020: constexpr QPointF(qreal xpos, qreal ypos); 32020: 32020: constexpr inline qreal manhattanLength() const; 32020: 32020: inline bool isNull() const; 32020: 32020: constexpr inline qreal x() const; 32020: constexpr inline qreal y() const; 32020: constexpr inline void setX(qreal x); 32020: constexpr inline void setY(qreal y); 32020: 32020: constexpr QPointF transposed() const noexcept { return {yp, xp}; } 32020: 32020: constexpr inline qreal &rx(); 32020: constexpr inline qreal &ry(); 32020: 32020: constexpr inline QPointF &operator+=(const QPointF &p); 32020: constexpr inline QPointF &operator-=(const QPointF &p); 32020: constexpr inline QPointF &operator*=(qreal c); 32020: constexpr inline QPointF &operator/=(qreal c); 32020: 32020: constexpr static inline qreal dotProduct(const QPointF &p1, const QPointF &p2) 32020: { return p1.xp * p2.xp + p1.yp * p2.yp; } 32020: 32020: friend constexpr inline bool operator==(const QPointF &, const QPointF &); 32020: friend constexpr inline bool operator!=(const QPointF &, const QPointF &); 32020: friend constexpr inline const QPointF operator+(const QPointF &, const QPointF &); 32020: friend constexpr inline const QPointF operator-(const QPointF &, const QPointF &); 32020: friend constexpr inline const QPointF operator*(qreal, const QPointF &); 32020: friend constexpr inline const QPointF operator*(const QPointF &, qreal); 32020: friend constexpr inline const QPointF operator+(const QPointF &); 32020: friend constexpr inline const QPointF operator-(const QPointF &); 32020: friend constexpr inline const QPointF operator/(const QPointF &, qreal); 32020: 32020: constexpr QPoint toPoint() const; 32020: 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: friend class QMatrix; 32020: friend class QTransform; 32020: 32020: qreal xp; 32020: qreal yp; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPointF &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPointF &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QPointF::QPointF() : xp(0), yp(0) { } 32020: 32020: constexpr inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { } 32020: 32020: constexpr inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { } 32020: 32020: constexpr inline qreal QPointF::manhattanLength() const 32020: { 32020: return qAbs(x())+qAbs(y()); 32020: } 32020: 32020: inline bool QPointF::isNull() const 32020: { 32020: return qIsNull(xp) && qIsNull(yp); 32020: } 32020: 32020: constexpr inline qreal QPointF::x() const 32020: { 32020: return xp; 32020: } 32020: 32020: constexpr inline qreal QPointF::y() const 32020: { 32020: return yp; 32020: } 32020: 32020: constexpr inline void QPointF::setX(qreal xpos) 32020: { 32020: xp = xpos; 32020: } 32020: 32020: constexpr inline void QPointF::setY(qreal ypos) 32020: { 32020: yp = ypos; 32020: } 32020: 32020: constexpr inline qreal &QPointF::rx() 32020: { 32020: return xp; 32020: } 32020: 32020: constexpr inline qreal &QPointF::ry() 32020: { 32020: return yp; 32020: } 32020: 32020: constexpr inline QPointF &QPointF::operator+=(const QPointF &p) 32020: { 32020: xp+=p.xp; 32020: yp+=p.yp; 32020: return *this; 32020: } 32020: 32020: constexpr inline QPointF &QPointF::operator-=(const QPointF &p) 32020: { 32020: xp-=p.xp; yp-=p.yp; return *this; 32020: } 32020: 32020: constexpr inline QPointF &QPointF::operator*=(qreal c) 32020: { 32020: xp*=c; yp*=c; return *this; 32020: } 32020: 32020: 32020: # 352 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 352 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: 32020: 32020: 32020: # 354 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wfloat-equal" 32020: # 354 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: 32020: 32020: 32020: constexpr inline bool operator==(const QPointF &p1, const QPointF &p2) 32020: { 32020: return ((!p1.xp || !p2.xp) ? qFuzzyIsNull(p1.xp - p2.xp) : qFuzzyCompare(p1.xp, p2.xp)) 32020: && ((!p1.yp || !p2.yp) ? qFuzzyIsNull(p1.yp - p2.yp) : qFuzzyCompare(p1.yp, p2.yp)); 32020: } 32020: 32020: constexpr inline bool operator!=(const QPointF &p1, const QPointF &p2) 32020: { 32020: return !(p1 == p2); 32020: } 32020: 32020: 32020: # 368 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 368 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpoint.h" 3 4 32020: 32020: 32020: constexpr inline const QPointF operator+(const QPointF &p1, const QPointF &p2) 32020: { 32020: return QPointF(p1.xp+p2.xp, p1.yp+p2.yp); 32020: } 32020: 32020: constexpr inline const QPointF operator-(const QPointF &p1, const QPointF &p2) 32020: { 32020: return QPointF(p1.xp-p2.xp, p1.yp-p2.yp); 32020: } 32020: 32020: constexpr inline const QPointF operator*(const QPointF &p, qreal c) 32020: { 32020: return QPointF(p.xp*c, p.yp*c); 32020: } 32020: 32020: constexpr inline const QPointF operator*(qreal c, const QPointF &p) 32020: { 32020: return QPointF(p.xp*c, p.yp*c); 32020: } 32020: 32020: constexpr inline const QPointF operator+(const QPointF &p) 32020: { 32020: return p; 32020: } 32020: 32020: constexpr inline const QPointF operator-(const QPointF &p) 32020: { 32020: return QPointF(-p.xp, -p.yp); 32020: } 32020: 32020: constexpr inline QPointF &QPointF::operator/=(qreal divisor) 32020: { 32020: xp/=divisor; 32020: yp/=divisor; 32020: return *this; 32020: } 32020: 32020: constexpr inline const QPointF operator/(const QPointF &p, qreal divisor) 32020: { 32020: return QPointF(p.xp/divisor, p.yp/divisor); 32020: } 32020: 32020: constexpr inline QPoint QPointF::toPoint() const 32020: { 32020: return QPoint(qRound(xp), qRound(yp)); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QPointF &p); 32020: 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 2 3 4 32020: # 55 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: 32020: 32020: class __attribute__((visibility("default"))) QRect 32020: { 32020: public: 32020: constexpr QRect() noexcept : x1(0), y1(0), x2(-1), y2(-1) {} 32020: constexpr QRect(const QPoint &topleft, const QPoint &bottomright) noexcept; 32020: constexpr QRect(const QPoint &topleft, const QSize &size) noexcept; 32020: constexpr QRect(int left, int top, int width, int height) noexcept; 32020: 32020: constexpr inline bool isNull() const noexcept; 32020: constexpr inline bool isEmpty() const noexcept; 32020: constexpr inline bool isValid() const noexcept; 32020: 32020: constexpr inline int left() const noexcept; 32020: constexpr inline int top() const noexcept; 32020: constexpr inline int right() const noexcept; 32020: constexpr inline int bottom() const noexcept; 32020: [[nodiscard]] QRect normalized() const noexcept; 32020: 32020: constexpr inline int x() const noexcept; 32020: constexpr inline int y() const noexcept; 32020: constexpr inline void setLeft(int pos) noexcept; 32020: constexpr inline void setTop(int pos) noexcept; 32020: constexpr inline void setRight(int pos) noexcept; 32020: constexpr inline void setBottom(int pos) noexcept; 32020: constexpr inline void setX(int x) noexcept; 32020: constexpr inline void setY(int y) noexcept; 32020: 32020: constexpr inline void setTopLeft(const QPoint &p) noexcept; 32020: constexpr inline void setBottomRight(const QPoint &p) noexcept; 32020: constexpr inline void setTopRight(const QPoint &p) noexcept; 32020: constexpr inline void setBottomLeft(const QPoint &p) noexcept; 32020: 32020: constexpr inline QPoint topLeft() const noexcept; 32020: constexpr inline QPoint bottomRight() const noexcept; 32020: constexpr inline QPoint topRight() const noexcept; 32020: constexpr inline QPoint bottomLeft() const noexcept; 32020: constexpr inline QPoint center() const noexcept; 32020: 32020: constexpr inline void moveLeft(int pos) noexcept; 32020: constexpr inline void moveTop(int pos) noexcept; 32020: constexpr inline void moveRight(int pos) noexcept; 32020: constexpr inline void moveBottom(int pos) noexcept; 32020: constexpr inline void moveTopLeft(const QPoint &p) noexcept; 32020: constexpr inline void moveBottomRight(const QPoint &p) noexcept; 32020: constexpr inline void moveTopRight(const QPoint &p) noexcept; 32020: constexpr inline void moveBottomLeft(const QPoint &p) noexcept; 32020: constexpr inline void moveCenter(const QPoint &p) noexcept; 32020: 32020: constexpr inline void translate(int dx, int dy) noexcept; 32020: constexpr inline void translate(const QPoint &p) noexcept; 32020: [[nodiscard]] constexpr inline QRect translated(int dx, int dy) const noexcept; 32020: [[nodiscard]] constexpr inline QRect translated(const QPoint &p) const noexcept; 32020: [[nodiscard]] constexpr inline QRect transposed() const noexcept; 32020: 32020: constexpr inline void moveTo(int x, int t) noexcept; 32020: constexpr inline void moveTo(const QPoint &p) noexcept; 32020: 32020: constexpr inline void setRect(int x, int y, int w, int h) noexcept; 32020: constexpr inline void getRect(int *x, int *y, int *w, int *h) const; 32020: 32020: constexpr inline void setCoords(int x1, int y1, int x2, int y2) noexcept; 32020: constexpr inline void getCoords(int *x1, int *y1, int *x2, int *y2) const; 32020: 32020: constexpr inline void adjust(int x1, int y1, int x2, int y2) noexcept; 32020: [[nodiscard]] constexpr inline QRect adjusted(int x1, int y1, int x2, int y2) const noexcept; 32020: 32020: constexpr inline QSize size() const noexcept; 32020: constexpr inline int width() const noexcept; 32020: constexpr inline int height() const noexcept; 32020: constexpr inline void setWidth(int w) noexcept; 32020: constexpr inline void setHeight(int h) noexcept; 32020: constexpr inline void setSize(const QSize &s) noexcept; 32020: 32020: QRect operator|(const QRect &r) const noexcept; 32020: QRect operator&(const QRect &r) const noexcept; 32020: inline QRect& operator|=(const QRect &r) noexcept; 32020: inline QRect& operator&=(const QRect &r) noexcept; 32020: 32020: bool contains(const QRect &r, bool proper = false) const noexcept; 32020: bool contains(const QPoint &p, bool proper=false) const noexcept; 32020: inline bool contains(int x, int y) const noexcept; 32020: inline bool contains(int x, int y, bool proper) const noexcept; 32020: [[nodiscard]] inline QRect united(const QRect &other) const noexcept; 32020: [[nodiscard]] inline QRect intersected(const QRect &other) const noexcept; 32020: bool intersects(const QRect &r) const noexcept; 32020: 32020: constexpr inline QRect marginsAdded(const QMargins &margins) const noexcept; 32020: constexpr inline QRect marginsRemoved(const QMargins &margins) const noexcept; 32020: constexpr inline QRect &operator+=(const QMargins &margins) noexcept; 32020: constexpr inline QRect &operator-=(const QMargins &margins) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: friend constexpr inline bool operator==(const QRect &, const QRect &) noexcept; 32020: friend constexpr inline bool operator!=(const QRect &, const QRect &) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: int x1; 32020: int y1; 32020: int x2; 32020: int y2; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: constexpr inline bool operator==(const QRect &, const QRect &) noexcept; 32020: constexpr inline bool operator!=(const QRect &, const QRect &) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRect &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRect &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QRect::QRect(int aleft, int atop, int awidth, int aheight) noexcept 32020: : x1(aleft), y1(atop), x2(aleft + awidth - 1), y2(atop + aheight - 1) {} 32020: 32020: constexpr inline QRect::QRect(const QPoint &atopLeft, const QPoint &abottomRight) noexcept 32020: : x1(atopLeft.x()), y1(atopLeft.y()), x2(abottomRight.x()), y2(abottomRight.y()) {} 32020: 32020: constexpr inline QRect::QRect(const QPoint &atopLeft, const QSize &asize) noexcept 32020: : x1(atopLeft.x()), y1(atopLeft.y()), x2(atopLeft.x()+asize.width() - 1), y2(atopLeft.y()+asize.height() - 1) {} 32020: 32020: constexpr inline bool QRect::isNull() const noexcept 32020: { return x2 == x1 - 1 && y2 == y1 - 1; } 32020: 32020: constexpr inline bool QRect::isEmpty() const noexcept 32020: { return x1 > x2 || y1 > y2; } 32020: 32020: constexpr inline bool QRect::isValid() const noexcept 32020: { return x1 <= x2 && y1 <= y2; } 32020: 32020: constexpr inline int QRect::left() const noexcept 32020: { return x1; } 32020: 32020: constexpr inline int QRect::top() const noexcept 32020: { return y1; } 32020: 32020: constexpr inline int QRect::right() const noexcept 32020: { return x2; } 32020: 32020: constexpr inline int QRect::bottom() const noexcept 32020: { return y2; } 32020: 32020: constexpr inline int QRect::x() const noexcept 32020: { return x1; } 32020: 32020: constexpr inline int QRect::y() const noexcept 32020: { return y1; } 32020: 32020: constexpr inline void QRect::setLeft(int pos) noexcept 32020: { x1 = pos; } 32020: 32020: constexpr inline void QRect::setTop(int pos) noexcept 32020: { y1 = pos; } 32020: 32020: constexpr inline void QRect::setRight(int pos) noexcept 32020: { x2 = pos; } 32020: 32020: constexpr inline void QRect::setBottom(int pos) noexcept 32020: { y2 = pos; } 32020: 32020: constexpr inline void QRect::setTopLeft(const QPoint &p) noexcept 32020: { x1 = p.x(); y1 = p.y(); } 32020: 32020: constexpr inline void QRect::setBottomRight(const QPoint &p) noexcept 32020: { x2 = p.x(); y2 = p.y(); } 32020: 32020: constexpr inline void QRect::setTopRight(const QPoint &p) noexcept 32020: { x2 = p.x(); y1 = p.y(); } 32020: 32020: constexpr inline void QRect::setBottomLeft(const QPoint &p) noexcept 32020: { x1 = p.x(); y2 = p.y(); } 32020: 32020: constexpr inline void QRect::setX(int ax) noexcept 32020: { x1 = ax; } 32020: 32020: constexpr inline void QRect::setY(int ay) noexcept 32020: { y1 = ay; } 32020: 32020: constexpr inline QPoint QRect::topLeft() const noexcept 32020: { return QPoint(x1, y1); } 32020: 32020: constexpr inline QPoint QRect::bottomRight() const noexcept 32020: { return QPoint(x2, y2); } 32020: 32020: constexpr inline QPoint QRect::topRight() const noexcept 32020: { return QPoint(x2, y1); } 32020: 32020: constexpr inline QPoint QRect::bottomLeft() const noexcept 32020: { return QPoint(x1, y2); } 32020: 32020: constexpr inline QPoint QRect::center() const noexcept 32020: { return QPoint(int((qint64(x1)+x2)/2), int((qint64(y1)+y2)/2)); } 32020: 32020: constexpr inline int QRect::width() const noexcept 32020: { return x2 - x1 + 1; } 32020: 32020: constexpr inline int QRect::height() const noexcept 32020: { return y2 - y1 + 1; } 32020: 32020: constexpr inline QSize QRect::size() const noexcept 32020: { return QSize(width(), height()); } 32020: 32020: constexpr inline void QRect::translate(int dx, int dy) noexcept 32020: { 32020: x1 += dx; 32020: y1 += dy; 32020: x2 += dx; 32020: y2 += dy; 32020: } 32020: 32020: constexpr inline void QRect::translate(const QPoint &p) noexcept 32020: { 32020: x1 += p.x(); 32020: y1 += p.y(); 32020: x2 += p.x(); 32020: y2 += p.y(); 32020: } 32020: 32020: constexpr inline QRect QRect::translated(int dx, int dy) const noexcept 32020: { return QRect(QPoint(x1 + dx, y1 + dy), QPoint(x2 + dx, y2 + dy)); } 32020: 32020: constexpr inline QRect QRect::translated(const QPoint &p) const noexcept 32020: { return QRect(QPoint(x1 + p.x(), y1 + p.y()), QPoint(x2 + p.x(), y2 + p.y())); } 32020: 32020: constexpr inline QRect QRect::transposed() const noexcept 32020: { return QRect(topLeft(), size().transposed()); } 32020: 32020: constexpr inline void QRect::moveTo(int ax, int ay) noexcept 32020: { 32020: x2 += ax - x1; 32020: y2 += ay - y1; 32020: x1 = ax; 32020: y1 = ay; 32020: } 32020: 32020: constexpr inline void QRect::moveTo(const QPoint &p) noexcept 32020: { 32020: x2 += p.x() - x1; 32020: y2 += p.y() - y1; 32020: x1 = p.x(); 32020: y1 = p.y(); 32020: } 32020: 32020: constexpr inline void QRect::moveLeft(int pos) noexcept 32020: { x2 += (pos - x1); x1 = pos; } 32020: 32020: constexpr inline void QRect::moveTop(int pos) noexcept 32020: { y2 += (pos - y1); y1 = pos; } 32020: 32020: constexpr inline void QRect::moveRight(int pos) noexcept 32020: { 32020: x1 += (pos - x2); 32020: x2 = pos; 32020: } 32020: 32020: constexpr inline void QRect::moveBottom(int pos) noexcept 32020: { 32020: y1 += (pos - y2); 32020: y2 = pos; 32020: } 32020: 32020: constexpr inline void QRect::moveTopLeft(const QPoint &p) noexcept 32020: { 32020: moveLeft(p.x()); 32020: moveTop(p.y()); 32020: } 32020: 32020: constexpr inline void QRect::moveBottomRight(const QPoint &p) noexcept 32020: { 32020: moveRight(p.x()); 32020: moveBottom(p.y()); 32020: } 32020: 32020: constexpr inline void QRect::moveTopRight(const QPoint &p) noexcept 32020: { 32020: moveRight(p.x()); 32020: moveTop(p.y()); 32020: } 32020: 32020: constexpr inline void QRect::moveBottomLeft(const QPoint &p) noexcept 32020: { 32020: moveLeft(p.x()); 32020: moveBottom(p.y()); 32020: } 32020: 32020: constexpr inline void QRect::moveCenter(const QPoint &p) noexcept 32020: { 32020: int w = x2 - x1; 32020: int h = y2 - y1; 32020: x1 = p.x() - w/2; 32020: y1 = p.y() - h/2; 32020: x2 = x1 + w; 32020: y2 = y1 + h; 32020: } 32020: 32020: constexpr inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const 32020: { 32020: *ax = x1; 32020: *ay = y1; 32020: *aw = x2 - x1 + 1; 32020: *ah = y2 - y1 + 1; 32020: } 32020: 32020: constexpr inline void QRect::setRect(int ax, int ay, int aw, int ah) noexcept 32020: { 32020: x1 = ax; 32020: y1 = ay; 32020: x2 = (ax + aw - 1); 32020: y2 = (ay + ah - 1); 32020: } 32020: 32020: constexpr inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const 32020: { 32020: *xp1 = x1; 32020: *yp1 = y1; 32020: *xp2 = x2; 32020: *yp2 = y2; 32020: } 32020: 32020: constexpr inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2) noexcept 32020: { 32020: x1 = xp1; 32020: y1 = yp1; 32020: x2 = xp2; 32020: y2 = yp2; 32020: } 32020: 32020: constexpr inline QRect QRect::adjusted(int xp1, int yp1, int xp2, int yp2) const noexcept 32020: { return QRect(QPoint(x1 + xp1, y1 + yp1), QPoint(x2 + xp2, y2 + yp2)); } 32020: 32020: constexpr inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2) noexcept 32020: { 32020: x1 += dx1; 32020: y1 += dy1; 32020: x2 += dx2; 32020: y2 += dy2; 32020: } 32020: 32020: constexpr inline void QRect::setWidth(int w) noexcept 32020: { x2 = (x1 + w - 1); } 32020: 32020: constexpr inline void QRect::setHeight(int h) noexcept 32020: { y2 = (y1 + h - 1); } 32020: 32020: constexpr inline void QRect::setSize(const QSize &s) noexcept 32020: { 32020: x2 = (s.width() + x1 - 1); 32020: y2 = (s.height() + y1 - 1); 32020: } 32020: 32020: inline bool QRect::contains(int ax, int ay, bool aproper) const noexcept 32020: { 32020: return contains(QPoint(ax, ay), aproper); 32020: } 32020: 32020: inline bool QRect::contains(int ax, int ay) const noexcept 32020: { 32020: return contains(QPoint(ax, ay), false); 32020: } 32020: 32020: inline QRect& QRect::operator|=(const QRect &r) noexcept 32020: { 32020: *this = *this | r; 32020: return *this; 32020: } 32020: 32020: inline QRect& QRect::operator&=(const QRect &r) noexcept 32020: { 32020: *this = *this & r; 32020: return *this; 32020: } 32020: 32020: inline QRect QRect::intersected(const QRect &other) const noexcept 32020: { 32020: return *this & other; 32020: } 32020: 32020: inline QRect QRect::united(const QRect &r) const noexcept 32020: { 32020: return *this | r; 32020: } 32020: 32020: constexpr inline bool operator==(const QRect &r1, const QRect &r2) noexcept 32020: { 32020: return r1.x1==r2.x1 && r1.x2==r2.x2 && r1.y1==r2.y1 && r1.y2==r2.y2; 32020: } 32020: 32020: constexpr inline bool operator!=(const QRect &r1, const QRect &r2) noexcept 32020: { 32020: return r1.x1!=r2.x1 || r1.x2!=r2.x2 || r1.y1!=r2.y1 || r1.y2!=r2.y2; 32020: } 32020: 32020: constexpr inline QRect operator+(const QRect &rectangle, const QMargins &margins) noexcept 32020: { 32020: return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), 32020: QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom())); 32020: } 32020: 32020: constexpr inline QRect operator+(const QMargins &margins, const QRect &rectangle) noexcept 32020: { 32020: return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), 32020: QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom())); 32020: } 32020: 32020: constexpr inline QRect operator-(const QRect &lhs, const QMargins &rhs) noexcept 32020: { 32020: return QRect(QPoint(lhs.left() + rhs.left(), lhs.top() + rhs.top()), 32020: QPoint(lhs.right() - rhs.right(), lhs.bottom() - rhs.bottom())); 32020: } 32020: 32020: constexpr inline QRect QRect::marginsAdded(const QMargins &margins) const noexcept 32020: { 32020: return QRect(QPoint(x1 - margins.left(), y1 - margins.top()), 32020: QPoint(x2 + margins.right(), y2 + margins.bottom())); 32020: } 32020: 32020: constexpr inline QRect QRect::marginsRemoved(const QMargins &margins) const noexcept 32020: { 32020: return QRect(QPoint(x1 + margins.left(), y1 + margins.top()), 32020: QPoint(x2 - margins.right(), y2 - margins.bottom())); 32020: } 32020: 32020: constexpr inline QRect &QRect::operator+=(const QMargins &margins) noexcept 32020: { 32020: *this = marginsAdded(margins); 32020: return *this; 32020: } 32020: 32020: constexpr inline QRect &QRect::operator-=(const QMargins &margins) noexcept 32020: { 32020: *this = marginsRemoved(margins); 32020: return *this; 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRect &); 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QRectF 32020: { 32020: public: 32020: constexpr QRectF() noexcept : xp(0.), yp(0.), w(0.), h(0.) {} 32020: constexpr QRectF(const QPointF &topleft, const QSizeF &size) noexcept; 32020: constexpr QRectF(const QPointF &topleft, const QPointF &bottomRight) noexcept; 32020: constexpr QRectF(qreal left, qreal top, qreal width, qreal height) noexcept; 32020: constexpr QRectF(const QRect &rect) noexcept; 32020: 32020: constexpr inline bool isNull() const noexcept; 32020: constexpr inline bool isEmpty() const noexcept; 32020: constexpr inline bool isValid() const noexcept; 32020: [[nodiscard]] QRectF normalized() const noexcept; 32020: 32020: constexpr inline qreal left() const noexcept { return xp; } 32020: constexpr inline qreal top() const noexcept { return yp; } 32020: constexpr inline qreal right() const noexcept { return xp + w; } 32020: constexpr inline qreal bottom() const noexcept { return yp + h; } 32020: 32020: constexpr inline qreal x() const noexcept; 32020: constexpr inline qreal y() const noexcept; 32020: constexpr inline void setLeft(qreal pos) noexcept; 32020: constexpr inline void setTop(qreal pos) noexcept; 32020: constexpr inline void setRight(qreal pos) noexcept; 32020: constexpr inline void setBottom(qreal pos) noexcept; 32020: constexpr inline void setX(qreal pos) noexcept { setLeft(pos); } 32020: constexpr inline void setY(qreal pos) noexcept { setTop(pos); } 32020: 32020: constexpr inline QPointF topLeft() const noexcept { return QPointF(xp, yp); } 32020: constexpr inline QPointF bottomRight() const noexcept { return QPointF(xp+w, yp+h); } 32020: constexpr inline QPointF topRight() const noexcept { return QPointF(xp+w, yp); } 32020: constexpr inline QPointF bottomLeft() const noexcept { return QPointF(xp, yp+h); } 32020: constexpr inline QPointF center() const noexcept; 32020: 32020: constexpr inline void setTopLeft(const QPointF &p) noexcept; 32020: constexpr inline void setBottomRight(const QPointF &p) noexcept; 32020: constexpr inline void setTopRight(const QPointF &p) noexcept; 32020: constexpr inline void setBottomLeft(const QPointF &p) noexcept; 32020: 32020: constexpr inline void moveLeft(qreal pos) noexcept; 32020: constexpr inline void moveTop(qreal pos) noexcept; 32020: constexpr inline void moveRight(qreal pos) noexcept; 32020: constexpr inline void moveBottom(qreal pos) noexcept; 32020: constexpr inline void moveTopLeft(const QPointF &p) noexcept; 32020: constexpr inline void moveBottomRight(const QPointF &p) noexcept; 32020: constexpr inline void moveTopRight(const QPointF &p) noexcept; 32020: constexpr inline void moveBottomLeft(const QPointF &p) noexcept; 32020: constexpr inline void moveCenter(const QPointF &p) noexcept; 32020: 32020: constexpr inline void translate(qreal dx, qreal dy) noexcept; 32020: constexpr inline void translate(const QPointF &p) noexcept; 32020: 32020: [[nodiscard]] constexpr inline QRectF translated(qreal dx, qreal dy) const noexcept; 32020: [[nodiscard]] constexpr inline QRectF translated(const QPointF &p) const noexcept; 32020: 32020: [[nodiscard]] constexpr inline QRectF transposed() const noexcept; 32020: 32020: constexpr inline void moveTo(qreal x, qreal y) noexcept; 32020: constexpr inline void moveTo(const QPointF &p) noexcept; 32020: 32020: constexpr inline void setRect(qreal x, qreal y, qreal w, qreal h) noexcept; 32020: constexpr inline void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const; 32020: 32020: constexpr inline void setCoords(qreal x1, qreal y1, qreal x2, qreal y2) noexcept; 32020: constexpr inline void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const; 32020: 32020: constexpr inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2) noexcept; 32020: [[nodiscard]] constexpr inline QRectF adjusted(qreal x1, qreal y1, qreal x2, qreal y2) const noexcept; 32020: 32020: constexpr inline QSizeF size() const noexcept; 32020: constexpr inline qreal width() const noexcept; 32020: constexpr inline qreal height() const noexcept; 32020: constexpr inline void setWidth(qreal w) noexcept; 32020: constexpr inline void setHeight(qreal h) noexcept; 32020: constexpr inline void setSize(const QSizeF &s) noexcept; 32020: 32020: QRectF operator|(const QRectF &r) const noexcept; 32020: QRectF operator&(const QRectF &r) const noexcept; 32020: inline QRectF& operator|=(const QRectF &r) noexcept; 32020: inline QRectF& operator&=(const QRectF &r) noexcept; 32020: 32020: bool contains(const QRectF &r) const noexcept; 32020: bool contains(const QPointF &p) const noexcept; 32020: inline bool contains(qreal x, qreal y) const noexcept; 32020: [[nodiscard]] inline QRectF united(const QRectF &other) const noexcept; 32020: [[nodiscard]] inline QRectF intersected(const QRectF &other) const noexcept; 32020: bool intersects(const QRectF &r) const noexcept; 32020: 32020: constexpr inline QRectF marginsAdded(const QMarginsF &margins) const noexcept; 32020: constexpr inline QRectF marginsRemoved(const QMarginsF &margins) const noexcept; 32020: constexpr inline QRectF &operator+=(const QMarginsF &margins) noexcept; 32020: constexpr inline QRectF &operator-=(const QMarginsF &margins) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: friend constexpr inline bool operator==(const QRectF &, const QRectF &) noexcept; 32020: friend constexpr inline bool operator!=(const QRectF &, const QRectF &) noexcept; 32020: 32020: [[nodiscard]] constexpr inline QRect toRect() const noexcept; 32020: [[nodiscard]] QRect toAlignedRect() const noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: qreal xp; 32020: qreal yp; 32020: qreal w; 32020: qreal h; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: constexpr inline bool operator==(const QRectF &, const QRectF &) noexcept; 32020: constexpr inline bool operator!=(const QRectF &, const QRectF &) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRectF &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRectF &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QRectF::QRectF(qreal aleft, qreal atop, qreal awidth, qreal aheight) noexcept 32020: : xp(aleft), yp(atop), w(awidth), h(aheight) 32020: { 32020: } 32020: 32020: constexpr inline QRectF::QRectF(const QPointF &atopLeft, const QSizeF &asize) noexcept 32020: : xp(atopLeft.x()), yp(atopLeft.y()), w(asize.width()), h(asize.height()) 32020: { 32020: } 32020: 32020: 32020: constexpr inline QRectF::QRectF(const QPointF &atopLeft, const QPointF &abottomRight) noexcept 32020: : xp(atopLeft.x()), yp(atopLeft.y()), w(abottomRight.x() - atopLeft.x()), h(abottomRight.y() - atopLeft.y()) 32020: { 32020: } 32020: 32020: constexpr inline QRectF::QRectF(const QRect &r) noexcept 32020: : xp(r.x()), yp(r.y()), w(r.width()), h(r.height()) 32020: { 32020: } 32020: 32020: 32020: # 665 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 665 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: 32020: 32020: 32020: # 667 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wfloat-equal" 32020: # 667 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: 32020: 32020: 32020: constexpr inline bool QRectF::isNull() const noexcept 32020: { return w == 0. && h == 0.; } 32020: 32020: constexpr inline bool QRectF::isEmpty() const noexcept 32020: { return w <= 0. || h <= 0.; } 32020: 32020: 32020: # 676 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 676 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrect.h" 3 4 32020: 32020: 32020: constexpr inline bool QRectF::isValid() const noexcept 32020: { return w > 0. && h > 0.; } 32020: 32020: constexpr inline qreal QRectF::x() const noexcept 32020: { return xp; } 32020: 32020: constexpr inline qreal QRectF::y() const noexcept 32020: { return yp; } 32020: 32020: constexpr inline void QRectF::setLeft(qreal pos) noexcept 32020: { qreal diff = pos - xp; xp += diff; w -= diff; } 32020: 32020: constexpr inline void QRectF::setRight(qreal pos) noexcept 32020: { w = pos - xp; } 32020: 32020: constexpr inline void QRectF::setTop(qreal pos) noexcept 32020: { qreal diff = pos - yp; yp += diff; h -= diff; } 32020: 32020: constexpr inline void QRectF::setBottom(qreal pos) noexcept 32020: { h = pos - yp; } 32020: 32020: constexpr inline void QRectF::setTopLeft(const QPointF &p) noexcept 32020: { setLeft(p.x()); setTop(p.y()); } 32020: 32020: constexpr inline void QRectF::setTopRight(const QPointF &p) noexcept 32020: { setRight(p.x()); setTop(p.y()); } 32020: 32020: constexpr inline void QRectF::setBottomLeft(const QPointF &p) noexcept 32020: { setLeft(p.x()); setBottom(p.y()); } 32020: 32020: constexpr inline void QRectF::setBottomRight(const QPointF &p) noexcept 32020: { setRight(p.x()); setBottom(p.y()); } 32020: 32020: constexpr inline QPointF QRectF::center() const noexcept 32020: { return QPointF(xp + w/2, yp + h/2); } 32020: 32020: constexpr inline void QRectF::moveLeft(qreal pos) noexcept 32020: { xp = pos; } 32020: 32020: constexpr inline void QRectF::moveTop(qreal pos) noexcept 32020: { yp = pos; } 32020: 32020: constexpr inline void QRectF::moveRight(qreal pos) noexcept 32020: { xp = pos - w; } 32020: 32020: constexpr inline void QRectF::moveBottom(qreal pos) noexcept 32020: { yp = pos - h; } 32020: 32020: constexpr inline void QRectF::moveTopLeft(const QPointF &p) noexcept 32020: { moveLeft(p.x()); moveTop(p.y()); } 32020: 32020: constexpr inline void QRectF::moveTopRight(const QPointF &p) noexcept 32020: { moveRight(p.x()); moveTop(p.y()); } 32020: 32020: constexpr inline void QRectF::moveBottomLeft(const QPointF &p) noexcept 32020: { moveLeft(p.x()); moveBottom(p.y()); } 32020: 32020: constexpr inline void QRectF::moveBottomRight(const QPointF &p) noexcept 32020: { moveRight(p.x()); moveBottom(p.y()); } 32020: 32020: constexpr inline void QRectF::moveCenter(const QPointF &p) noexcept 32020: { xp = p.x() - w/2; yp = p.y() - h/2; } 32020: 32020: constexpr inline qreal QRectF::width() const noexcept 32020: { return w; } 32020: 32020: constexpr inline qreal QRectF::height() const noexcept 32020: { return h; } 32020: 32020: constexpr inline QSizeF QRectF::size() const noexcept 32020: { return QSizeF(w, h); } 32020: 32020: constexpr inline void QRectF::translate(qreal dx, qreal dy) noexcept 32020: { 32020: xp += dx; 32020: yp += dy; 32020: } 32020: 32020: constexpr inline void QRectF::translate(const QPointF &p) noexcept 32020: { 32020: xp += p.x(); 32020: yp += p.y(); 32020: } 32020: 32020: constexpr inline void QRectF::moveTo(qreal ax, qreal ay) noexcept 32020: { 32020: xp = ax; 32020: yp = ay; 32020: } 32020: 32020: constexpr inline void QRectF::moveTo(const QPointF &p) noexcept 32020: { 32020: xp = p.x(); 32020: yp = p.y(); 32020: } 32020: 32020: constexpr inline QRectF QRectF::translated(qreal dx, qreal dy) const noexcept 32020: { return QRectF(xp + dx, yp + dy, w, h); } 32020: 32020: constexpr inline QRectF QRectF::translated(const QPointF &p) const noexcept 32020: { return QRectF(xp + p.x(), yp + p.y(), w, h); } 32020: 32020: constexpr inline QRectF QRectF::transposed() const noexcept 32020: { return QRectF(topLeft(), size().transposed()); } 32020: 32020: constexpr inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const 32020: { 32020: *ax = this->xp; 32020: *ay = this->yp; 32020: *aaw = this->w; 32020: *aah = this->h; 32020: } 32020: 32020: constexpr inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah) noexcept 32020: { 32020: this->xp = ax; 32020: this->yp = ay; 32020: this->w = aaw; 32020: this->h = aah; 32020: } 32020: 32020: constexpr inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const 32020: { 32020: *xp1 = xp; 32020: *yp1 = yp; 32020: *xp2 = xp + w; 32020: *yp2 = yp + h; 32020: } 32020: 32020: constexpr inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2) noexcept 32020: { 32020: xp = xp1; 32020: yp = yp1; 32020: w = xp2 - xp1; 32020: h = yp2 - yp1; 32020: } 32020: 32020: constexpr inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2) noexcept 32020: { xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; } 32020: 32020: constexpr inline QRectF QRectF::adjusted(qreal xp1, qreal yp1, qreal xp2, qreal yp2) const noexcept 32020: { return QRectF(xp + xp1, yp + yp1, w + xp2 - xp1, h + yp2 - yp1); } 32020: 32020: constexpr inline void QRectF::setWidth(qreal aw) noexcept 32020: { this->w = aw; } 32020: 32020: constexpr inline void QRectF::setHeight(qreal ah) noexcept 32020: { this->h = ah; } 32020: 32020: constexpr inline void QRectF::setSize(const QSizeF &s) noexcept 32020: { 32020: w = s.width(); 32020: h = s.height(); 32020: } 32020: 32020: inline bool QRectF::contains(qreal ax, qreal ay) const noexcept 32020: { 32020: return contains(QPointF(ax, ay)); 32020: } 32020: 32020: inline QRectF& QRectF::operator|=(const QRectF &r) noexcept 32020: { 32020: *this = *this | r; 32020: return *this; 32020: } 32020: 32020: inline QRectF& QRectF::operator&=(const QRectF &r) noexcept 32020: { 32020: *this = *this & r; 32020: return *this; 32020: } 32020: 32020: inline QRectF QRectF::intersected(const QRectF &r) const noexcept 32020: { 32020: return *this & r; 32020: } 32020: 32020: inline QRectF QRectF::united(const QRectF &r) const noexcept 32020: { 32020: return *this | r; 32020: } 32020: 32020: constexpr inline bool operator==(const QRectF &r1, const QRectF &r2) noexcept 32020: { 32020: return qFuzzyCompare(r1.xp, r2.xp) && qFuzzyCompare(r1.yp, r2.yp) 32020: && qFuzzyCompare(r1.w, r2.w) && qFuzzyCompare(r1.h, r2.h); 32020: } 32020: 32020: constexpr inline bool operator!=(const QRectF &r1, const QRectF &r2) noexcept 32020: { 32020: return !qFuzzyCompare(r1.xp, r2.xp) || !qFuzzyCompare(r1.yp, r2.yp) 32020: || !qFuzzyCompare(r1.w, r2.w) || !qFuzzyCompare(r1.h, r2.h); 32020: } 32020: 32020: constexpr inline QRect QRectF::toRect() const noexcept 32020: { 32020: return QRect(QPoint(qRound(xp), qRound(yp)), QPoint(qRound(xp + w) - 1, qRound(yp + h) - 1)); 32020: } 32020: 32020: constexpr inline QRectF operator+(const QRectF &lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return QRectF(QPointF(lhs.left() - rhs.left(), lhs.top() - rhs.top()), 32020: QSizeF(lhs.width() + rhs.left() + rhs.right(), lhs.height() + rhs.top() + rhs.bottom())); 32020: } 32020: 32020: constexpr inline QRectF operator+(const QMarginsF &lhs, const QRectF &rhs) noexcept 32020: { 32020: return QRectF(QPointF(rhs.left() - lhs.left(), rhs.top() - lhs.top()), 32020: QSizeF(rhs.width() + lhs.left() + lhs.right(), rhs.height() + lhs.top() + lhs.bottom())); 32020: } 32020: 32020: constexpr inline QRectF operator-(const QRectF &lhs, const QMarginsF &rhs) noexcept 32020: { 32020: return QRectF(QPointF(lhs.left() + rhs.left(), lhs.top() + rhs.top()), 32020: QSizeF(lhs.width() - rhs.left() - rhs.right(), lhs.height() - rhs.top() - rhs.bottom())); 32020: } 32020: 32020: constexpr inline QRectF QRectF::marginsAdded(const QMarginsF &margins) const noexcept 32020: { 32020: return QRectF(QPointF(xp - margins.left(), yp - margins.top()), 32020: QSizeF(w + margins.left() + margins.right(), h + margins.top() + margins.bottom())); 32020: } 32020: 32020: constexpr inline QRectF QRectF::marginsRemoved(const QMarginsF &margins) const noexcept 32020: { 32020: return QRectF(QPointF(xp + margins.left(), yp + margins.top()), 32020: QSizeF(w - margins.left() - margins.right(), h - margins.top() - margins.bottom())); 32020: } 32020: 32020: constexpr inline QRectF &QRectF::operator+=(const QMarginsF &margins) noexcept 32020: { 32020: *this = marginsAdded(margins); 32020: return *this; 32020: } 32020: 32020: constexpr inline QRectF &QRectF::operator-=(const QMarginsF &margins) noexcept 32020: { 32020: *this = marginsRemoved(margins); 32020: return *this; 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRectF &); 32020: 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qscopedpointer.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qscopedpointer.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 1 3 4 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 1 3 4 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 4 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cstdlib" 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 2 3 4 32020: 32020: using std::abort; 32020: using std::atexit; 32020: using std::exit; 32020: 32020: 32020: using std::at_quick_exit; 32020: 32020: 32020: using std::quick_exit; 32020: 32020: 32020: 32020: 32020: using std::div_t; 32020: using std::ldiv_t; 32020: 32020: using std::abs; 32020: using std::atof; 32020: using std::atoi; 32020: using std::atol; 32020: using std::bsearch; 32020: using std::calloc; 32020: using std::div; 32020: using std::free; 32020: using std::getenv; 32020: using std::labs; 32020: using std::ldiv; 32020: using std::malloc; 32020: 32020: using std::mblen; 32020: using std::mbstowcs; 32020: using std::mbtowc; 32020: 32020: using std::qsort; 32020: using std::rand; 32020: using std::realloc; 32020: using std::srand; 32020: using std::strtod; 32020: using std::strtol; 32020: using std::strtoul; 32020: using std::system; 32020: 32020: using std::wcstombs; 32020: using std::wctomb; 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qscopedpointer.h" 2 3 4 32020: 32020: 32020: 32020: template 32020: struct QScopedPointerDeleter 32020: { 32020: static inline void cleanup(T *pointer) 32020: { 32020: 32020: 32020: 32020: typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; 32020: (void) sizeof(IsIncompleteType); 32020: 32020: delete pointer; 32020: } 32020: }; 32020: 32020: template 32020: struct QScopedPointerArrayDeleter 32020: { 32020: static inline void cleanup(T *pointer) 32020: { 32020: 32020: 32020: 32020: typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; 32020: (void) sizeof(IsIncompleteType); 32020: 32020: delete [] pointer; 32020: } 32020: }; 32020: 32020: struct QScopedPointerPodDeleter 32020: { 32020: static inline void cleanup(void *pointer) { if (pointer) free(pointer); } 32020: }; 32020: 32020: 32020: template 32020: struct QScopedPointerObjectDeleteLater 32020: { 32020: static inline void cleanup(T *pointer) { if (pointer) pointer->deleteLater(); } 32020: }; 32020: 32020: class QObject; 32020: typedef QScopedPointerObjectDeleteLater QScopedPointerDeleteLater; 32020: 32020: 32020: template > 32020: class QScopedPointer 32020: { 32020: typedef T *QScopedPointer:: *RestrictedBool; 32020: public: 32020: explicit QScopedPointer(T *p = nullptr) noexcept : d(p) 32020: { 32020: } 32020: 32020: inline ~QScopedPointer() 32020: { 32020: T *oldD = this->d; 32020: Cleanup::cleanup(oldD); 32020: } 32020: 32020: inline T &operator*() const 32020: { 32020: static_cast(false && (d)); 32020: return *d; 32020: } 32020: 32020: T *operator->() const noexcept 32020: { 32020: return d; 32020: } 32020: 32020: bool operator!() const noexcept 32020: { 32020: return !d; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: operator RestrictedBool() const noexcept 32020: { 32020: return isNull() ? nullptr : &QScopedPointer::d; 32020: } 32020: 32020: 32020: T *data() const noexcept 32020: { 32020: return d; 32020: } 32020: 32020: T *get() const noexcept 32020: { 32020: return d; 32020: } 32020: 32020: bool isNull() const noexcept 32020: { 32020: return !d; 32020: } 32020: 32020: void reset(T *other = nullptr) noexcept(noexcept(Cleanup::cleanup(std::declval()))) 32020: { 32020: if (d == other) 32020: return; 32020: T *oldD = d; 32020: d = other; 32020: Cleanup::cleanup(oldD); 32020: } 32020: 32020: T *take() noexcept 32020: { 32020: T *oldD = d; 32020: d = nullptr; 32020: return oldD; 32020: } 32020: 32020: void swap(QScopedPointer &other) noexcept 32020: { 32020: qSwap(d, other.d); 32020: } 32020: 32020: typedef T *pointer; 32020: 32020: protected: 32020: T *d; 32020: 32020: private: 32020: QScopedPointer(const QScopedPointer &) = delete; QScopedPointer &operator=(const QScopedPointer &) = delete; 32020: }; 32020: 32020: template 32020: inline bool operator==(const QScopedPointer &lhs, const QScopedPointer &rhs) noexcept 32020: { 32020: return lhs.data() == rhs.data(); 32020: } 32020: 32020: template 32020: inline bool operator!=(const QScopedPointer &lhs, const QScopedPointer &rhs) noexcept 32020: { 32020: return lhs.data() != rhs.data(); 32020: } 32020: 32020: template 32020: inline bool operator==(const QScopedPointer &lhs, std::nullptr_t) noexcept 32020: { 32020: return lhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator==(std::nullptr_t, const QScopedPointer &rhs) noexcept 32020: { 32020: return rhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator!=(const QScopedPointer &lhs, std::nullptr_t) noexcept 32020: { 32020: return !lhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator!=(std::nullptr_t, const QScopedPointer &rhs) noexcept 32020: { 32020: return !rhs.isNull(); 32020: } 32020: 32020: template 32020: inline void swap(QScopedPointer &p1, QScopedPointer &p2) noexcept 32020: { p1.swap(p2); } 32020: 32020: template > 32020: class QScopedArrayPointer : public QScopedPointer 32020: { 32020: template 32020: using if_same_type = typename std::enable_if::type, Ptr>::value, bool>::type; 32020: public: 32020: inline QScopedArrayPointer() : QScopedPointer(nullptr) {} 32020: 32020: template = true> 32020: explicit QScopedArrayPointer(D *p) 32020: : QScopedPointer(p) 32020: { 32020: } 32020: 32020: inline T &operator[](int i) 32020: { 32020: return this->d[i]; 32020: } 32020: 32020: inline const T &operator[](int i) const 32020: { 32020: return this->d[i]; 32020: } 32020: 32020: void swap(QScopedArrayPointer &other) noexcept 32020: { QScopedPointer::swap(other); } 32020: 32020: private: 32020: explicit inline QScopedArrayPointer(void *) { 32020: # 260 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qscopedpointer.h" 3 4 32020: } 32020: 32020: QScopedArrayPointer(const QScopedArrayPointer &) = delete; QScopedArrayPointer &operator=(const QScopedArrayPointer &) = delete; 32020: }; 32020: 32020: template 32020: inline void swap(QScopedArrayPointer &lhs, QScopedArrayPointer &rhs) noexcept 32020: { lhs.swap(rhs); } 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpaintdevice.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpaintdevice.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qwindowdefs.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qwindowdefs.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h" 1 3 4 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h" 3 4 32020: 32020: class QObject; 32020: 32020: namespace QtPrivate { 32020: template struct RemoveRef { typedef T Type; }; 32020: template struct RemoveRef { typedef T Type; }; 32020: template struct RemoveConstRef { typedef T Type; }; 32020: template struct RemoveConstRef { typedef T Type; }; 32020: # 67 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h" 3 4 32020: template struct List {}; 32020: template struct List { typedef Head Car; typedef List Cdr; }; 32020: template struct List_Append; 32020: template struct List_Append, List> { typedef List Value; }; 32020: template struct List_Left { 32020: typedef typename List_Append,typename List_Left::Value>::Value Value; 32020: }; 32020: template struct List_Left { typedef List<> Value; }; 32020: 32020: template struct List_Select { typedef typename List_Select::Value Value; }; 32020: template struct List_Select { typedef typename L::Car Value; }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct ApplyReturnValue { 32020: void *data; 32020: explicit ApplyReturnValue(void *data_) : data(data_) {} 32020: }; 32020: template 32020: void operator,(T &&value, const ApplyReturnValue &container) { 32020: if (container.data) 32020: *reinterpret_cast(container.data) = std::forward(value); 32020: } 32020: template 32020: void operator,(T, const ApplyReturnValue &) {} 32020: # 115 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h" 3 4 32020: template using InvokeGenSeq = typename T::Type; 32020: 32020: template struct IndexesList { using Type = IndexesList; }; 32020: 32020: template struct ConcatSeqImpl; 32020: 32020: template 32020: struct ConcatSeqImpl, IndexesList> 32020: : IndexesList{}; 32020: 32020: template 32020: using ConcatSeq = InvokeGenSeq>; 32020: 32020: template struct GenSeq; 32020: template using makeIndexSequence = InvokeGenSeq>; 32020: 32020: template 32020: struct GenSeq : ConcatSeq, makeIndexSequence>{}; 32020: 32020: template<> struct GenSeq<0> : IndexesList<>{}; 32020: template<> struct GenSeq<1> : IndexesList<0>{}; 32020: 32020: template 32020: struct Indexes { using Value = makeIndexSequence; }; 32020: 32020: template struct FunctionPointer { enum {ArgumentCount = -1, IsPointerToMemberFunction = false}; }; 32020: 32020: template struct FunctorCall; 32020: template 32020: struct FunctorCall, List, R, Function> { 32020: static void call(Function &f, void **arg) { 32020: f((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 32020: } 32020: }; 32020: template 32020: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...)> { 32020: static void call(SlotRet (Obj::*f)(SlotArgs...), Obj *o, void **arg) { 32020: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 32020: } 32020: }; 32020: template 32020: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) const> { 32020: static void call(SlotRet (Obj::*f)(SlotArgs...) const, Obj *o, void **arg) { 32020: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 32020: } 32020: }; 32020: 32020: template 32020: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) noexcept> { 32020: static void call(SlotRet (Obj::*f)(SlotArgs...) noexcept, Obj *o, void **arg) { 32020: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 32020: } 32020: }; 32020: template 32020: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) const noexcept> { 32020: static void call(SlotRet (Obj::*f)(SlotArgs...) const noexcept, Obj *o, void **arg) { 32020: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 32020: } 32020: }; 32020: 32020: 32020: template struct FunctionPointer 32020: { 32020: typedef Obj Object; 32020: typedef List Arguments; 32020: typedef Ret ReturnType; 32020: typedef Ret (Obj::*Function) (Args...); 32020: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 32020: template 32020: static void call(Function f, Obj *o, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 32020: } 32020: }; 32020: template struct FunctionPointer 32020: { 32020: typedef Obj Object; 32020: typedef List Arguments; 32020: typedef Ret ReturnType; 32020: typedef Ret (Obj::*Function) (Args...) const; 32020: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 32020: template 32020: static void call(Function f, Obj *o, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 32020: } 32020: }; 32020: 32020: template struct FunctionPointer 32020: { 32020: typedef List Arguments; 32020: typedef Ret ReturnType; 32020: typedef Ret (*Function) (Args...); 32020: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = false}; 32020: template 32020: static void call(Function f, void *, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 32020: } 32020: }; 32020: 32020: 32020: template struct FunctionPointer 32020: { 32020: typedef Obj Object; 32020: typedef List Arguments; 32020: typedef Ret ReturnType; 32020: typedef Ret (Obj::*Function) (Args...) noexcept; 32020: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 32020: template 32020: static void call(Function f, Obj *o, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 32020: } 32020: }; 32020: template struct FunctionPointer 32020: { 32020: typedef Obj Object; 32020: typedef List Arguments; 32020: typedef Ret ReturnType; 32020: typedef Ret (Obj::*Function) (Args...) const noexcept; 32020: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 32020: template 32020: static void call(Function f, Obj *o, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 32020: } 32020: }; 32020: 32020: template struct FunctionPointer 32020: { 32020: typedef List Arguments; 32020: typedef Ret ReturnType; 32020: typedef Ret (*Function) (Args...) noexcept; 32020: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = false}; 32020: template 32020: static void call(Function f, void *, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 32020: } 32020: }; 32020: 32020: 32020: template struct Functor 32020: { 32020: template 32020: static void call(Function &f, void *, void **arg) { 32020: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct IsEnumUnderlyingTypeSigned : std::false_type 32020: { 32020: }; 32020: 32020: template 32020: struct IsEnumUnderlyingTypeSigned::value>::type> 32020: : std::integral_constant::type>::value> 32020: { 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct AreArgumentsNarrowedBase : std::false_type 32020: { 32020: }; 32020: 32020: template 32020: using is_bool = std::is_same::type>; 32020: 32020: template 32020: struct AreArgumentsNarrowedBase::type> 32020: : std::integral_constant::value && std::is_integral::value) || 32020: (std::is_floating_point::value && std::is_floating_point::value && sizeof(From) > sizeof(To)) || 32020: ((std::is_pointer::value || std::is_member_pointer::value) && QtPrivate::is_bool::value) || 32020: ((std::is_integral::value || std::is_enum::value) && std::is_floating_point::value) || 32020: (std::is_integral::value && std::is_integral::value 32020: && (sizeof(From) > sizeof(To) 32020: || (std::is_signed::value ? !std::is_signed::value 32020: : (std::is_signed::value && sizeof(From) == sizeof(To))))) || 32020: (std::is_enum::value && std::is_integral::value 32020: && (sizeof(From) > sizeof(To) 32020: || (IsEnumUnderlyingTypeSigned::value ? !std::is_signed::value 32020: : (std::is_signed::value && sizeof(From) == sizeof(To))))) 32020: > 32020: { 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template struct AreArgumentsCompatible { 32020: static int test(const typename RemoveRef::Type&); 32020: static char test(...); 32020: static const typename RemoveRef::Type &dummy(); 32020: enum { value = sizeof(test(dummy())) == sizeof(int) }; 32020: 32020: 32020: 32020: 32020: }; 32020: template struct AreArgumentsCompatible { enum { value = false }; }; 32020: template struct AreArgumentsCompatible { enum { value = true }; }; 32020: 32020: template struct AreArgumentsCompatible { enum { value = true }; }; 32020: template struct AreArgumentsCompatible { enum { value = true }; }; 32020: template<> struct AreArgumentsCompatible { enum { value = true }; }; 32020: 32020: template struct CheckCompatibleArguments { enum { value = false }; }; 32020: template <> struct CheckCompatibleArguments, List<>> { enum { value = true }; }; 32020: template struct CheckCompatibleArguments> { enum { value = true }; }; 32020: template 32020: struct CheckCompatibleArguments, List> 32020: { 32020: enum { value = AreArgumentsCompatible::Type, typename RemoveConstRef::Type>::value 32020: && CheckCompatibleArguments, List>::value }; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template struct ComputeFunctorArgumentCount; 32020: 32020: template struct ComputeFunctorArgumentCountHelper 32020: { enum { Value = -1 }; }; 32020: template 32020: struct ComputeFunctorArgumentCountHelper, false> 32020: : ComputeFunctorArgumentCount, sizeof...(ArgList)>::Value> {}; 32020: 32020: template struct ComputeFunctorArgumentCount> 32020: { 32020: template static D dummy(); 32020: template static auto test(F f) -> decltype(((f.operator()((dummy())...)), int())); 32020: static char test(...); 32020: enum { 32020: Ok = sizeof(test(dummy())) == sizeof(int), 32020: Value = Ok ? int(sizeof...(ArgList)) : int(ComputeFunctorArgumentCountHelper, Ok>::Value) 32020: }; 32020: }; 32020: 32020: 32020: template struct FunctorReturnType; 32020: template struct FunctorReturnType> { 32020: template static D dummy(); 32020: typedef decltype(dummy().operator()((dummy())...)) Value; 32020: }; 32020: 32020: 32020: class QSlotObjectBase { 32020: QAtomicInt m_ref; 32020: 32020: 32020: 32020: typedef void (*ImplFn)(int which, QSlotObjectBase* this_, QObject *receiver, void **args, bool *ret); 32020: const ImplFn m_impl; 32020: protected: 32020: enum Operation { 32020: Destroy, 32020: Call, 32020: Compare, 32020: 32020: NumOperations 32020: }; 32020: public: 32020: explicit QSlotObjectBase(ImplFn fn) : m_ref(1), m_impl(fn) {} 32020: 32020: inline int ref() noexcept { return m_ref.ref(); } 32020: inline void destroyIfLastRef() noexcept 32020: { if (!m_ref.deref()) m_impl(Destroy, this, nullptr, nullptr, nullptr); } 32020: 32020: inline bool compare(void **a) { bool ret = false; m_impl(Compare, this, nullptr, a, &ret); return ret; } 32020: inline void call(QObject *r, void **a) { m_impl(Call, this, r, a, nullptr); } 32020: protected: 32020: ~QSlotObjectBase() {} 32020: private: 32020: QSlotObjectBase(const QSlotObjectBase &) = delete; QSlotObjectBase &operator=(const QSlotObjectBase &) = delete; QSlotObjectBase(QSlotObjectBase &&) = delete; QSlotObjectBase &operator=(QSlotObjectBase &&) = delete; 32020: }; 32020: 32020: 32020: 32020: template class QSlotObject : public QSlotObjectBase 32020: { 32020: typedef QtPrivate::FunctionPointer FuncType; 32020: Func function; 32020: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 32020: { 32020: switch (which) { 32020: case Destroy: 32020: delete static_cast(this_); 32020: break; 32020: case Call: 32020: FuncType::template call(static_cast(this_)->function, static_cast(r), a); 32020: break; 32020: case Compare: 32020: *ret = *reinterpret_cast(a) == static_cast(this_)->function; 32020: break; 32020: case NumOperations: ; 32020: } 32020: } 32020: public: 32020: explicit QSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {} 32020: }; 32020: 32020: 32020: 32020: template class QFunctorSlotObject : public QSlotObjectBase 32020: { 32020: typedef QtPrivate::Functor FuncType; 32020: Func function; 32020: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 32020: { 32020: switch (which) { 32020: case Destroy: 32020: delete static_cast(this_); 32020: break; 32020: case Call: 32020: FuncType::template call(static_cast(this_)->function, r, a); 32020: break; 32020: case Compare: 32020: case NumOperations: 32020: (void)ret;; 32020: } 32020: } 32020: public: 32020: explicit QFunctorSlotObject(Func f) : QSlotObjectBase(&impl), function(std::move(f)) {} 32020: }; 32020: 32020: 32020: template 32020: using QSlotObjectWithNoArgs = QSlotObject, 32020: typename QtPrivate::FunctionPointer::ReturnType>; 32020: 32020: template 32020: using QFunctorSlotObjectWithNoArgs = QFunctorSlotObject, R>; 32020: 32020: template 32020: using QFunctorSlotObjectWithNoArgsImplicitReturn = QFunctorSlotObjectWithNoArgs::ReturnType>; 32020: } 32020: 32020: 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 2 3 4 32020: 32020: 32020: 32020: 32020: class QByteArray; 32020: struct QArrayData; 32020: typedef QArrayData QByteArrayData; 32020: 32020: class QString; 32020: # 256 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 3 4 32020: __attribute__((visibility("default"))) const char *qFlagLocation(const char *method); 32020: # 282 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 3 4 32020: class QObject; 32020: class QMetaMethod; 32020: class QMetaEnum; 32020: class QMetaProperty; 32020: class QMetaClassInfo; 32020: 32020: 32020: class __attribute__((visibility("default"))) QGenericArgument 32020: { 32020: public: 32020: inline QGenericArgument(const char *aName = nullptr, const void *aData = nullptr) 32020: : _data(aData), _name(aName) {} 32020: inline void *data() const { return const_cast(_data); } 32020: inline const char *name() const { return _name; } 32020: 32020: private: 32020: const void *_data; 32020: const char *_name; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QGenericReturnArgument: public QGenericArgument 32020: { 32020: public: 32020: inline QGenericReturnArgument(const char *aName = nullptr, void *aData = nullptr) 32020: : QGenericArgument(aName, aData) 32020: {} 32020: }; 32020: 32020: template 32020: class QArgument: public QGenericArgument 32020: { 32020: public: 32020: inline QArgument(const char *aName, const T &aData) 32020: : QGenericArgument(aName, static_cast(&aData)) 32020: {} 32020: }; 32020: template 32020: class QArgument: public QGenericArgument 32020: { 32020: public: 32020: inline QArgument(const char *aName, T &aData) 32020: : QGenericArgument(aName, static_cast(&aData)) 32020: {} 32020: }; 32020: 32020: 32020: template 32020: class QReturnArgument: public QGenericReturnArgument 32020: { 32020: public: 32020: inline QReturnArgument(const char *aName, T &aData) 32020: : QGenericReturnArgument(aName, static_cast(&aData)) 32020: {} 32020: }; 32020: 32020: struct __attribute__((visibility("default"))) QMetaObject 32020: { 32020: class Connection; 32020: const char *className() const; 32020: const QMetaObject *superClass() const; 32020: 32020: bool inherits(const QMetaObject *metaObject) const noexcept; 32020: QObject *cast(QObject *obj) const; 32020: const QObject *cast(const QObject *obj) const; 32020: 32020: 32020: QString tr(const char *s, const char *c, int n = -1) const; 32020: 32020: 32020: int methodOffset() const; 32020: int enumeratorOffset() const; 32020: int propertyOffset() const; 32020: int classInfoOffset() const; 32020: 32020: int constructorCount() const; 32020: int methodCount() const; 32020: int enumeratorCount() const; 32020: int propertyCount() const; 32020: int classInfoCount() const; 32020: 32020: int indexOfConstructor(const char *constructor) const; 32020: int indexOfMethod(const char *method) const; 32020: int indexOfSignal(const char *signal) const; 32020: int indexOfSlot(const char *slot) const; 32020: int indexOfEnumerator(const char *name) const; 32020: int indexOfProperty(const char *name) const; 32020: int indexOfClassInfo(const char *name) const; 32020: 32020: QMetaMethod constructor(int index) const; 32020: QMetaMethod method(int index) const; 32020: QMetaEnum enumerator(int index) const; 32020: QMetaProperty property(int index) const; 32020: QMetaClassInfo classInfo(int index) const; 32020: QMetaProperty userProperty() const; 32020: 32020: static bool checkConnectArgs(const char *signal, const char *method); 32020: static bool checkConnectArgs(const QMetaMethod &signal, 32020: const QMetaMethod &method); 32020: static QByteArray normalizedSignature(const char *method); 32020: static QByteArray normalizedType(const char *type); 32020: 32020: 32020: static Connection connect(const QObject *sender, int signal_index, 32020: const QObject *receiver, int method_index, 32020: int type = 0, int *types = nullptr); 32020: 32020: static bool disconnect(const QObject *sender, int signal_index, 32020: const QObject *receiver, int method_index); 32020: static bool disconnectOne(const QObject *sender, int signal_index, 32020: const QObject *receiver, int method_index); 32020: 32020: static void connectSlotsByName(QObject *o); 32020: 32020: 32020: static void activate(QObject *sender, int signal_index, void **argv); 32020: static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); 32020: static void activate(QObject *sender, int signal_offset, int local_signal_index, void **argv); 32020: 32020: static bool invokeMethod(QObject *obj, const char *member, 32020: Qt::ConnectionType, 32020: QGenericReturnArgument ret, 32020: QGenericArgument val0 = QGenericArgument(nullptr), 32020: QGenericArgument val1 = QGenericArgument(), 32020: QGenericArgument val2 = QGenericArgument(), 32020: QGenericArgument val3 = QGenericArgument(), 32020: QGenericArgument val4 = QGenericArgument(), 32020: QGenericArgument val5 = QGenericArgument(), 32020: QGenericArgument val6 = QGenericArgument(), 32020: QGenericArgument val7 = QGenericArgument(), 32020: QGenericArgument val8 = QGenericArgument(), 32020: QGenericArgument val9 = QGenericArgument()); 32020: 32020: static inline bool invokeMethod(QObject *obj, const char *member, 32020: QGenericReturnArgument ret, 32020: QGenericArgument val0 = QGenericArgument(nullptr), 32020: QGenericArgument val1 = QGenericArgument(), 32020: QGenericArgument val2 = QGenericArgument(), 32020: QGenericArgument val3 = QGenericArgument(), 32020: QGenericArgument val4 = QGenericArgument(), 32020: QGenericArgument val5 = QGenericArgument(), 32020: QGenericArgument val6 = QGenericArgument(), 32020: QGenericArgument val7 = QGenericArgument(), 32020: QGenericArgument val8 = QGenericArgument(), 32020: QGenericArgument val9 = QGenericArgument()) 32020: { 32020: return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3, 32020: val4, val5, val6, val7, val8, val9); 32020: } 32020: 32020: static inline bool invokeMethod(QObject *obj, const char *member, 32020: Qt::ConnectionType type, 32020: QGenericArgument val0 = QGenericArgument(nullptr), 32020: QGenericArgument val1 = QGenericArgument(), 32020: QGenericArgument val2 = QGenericArgument(), 32020: QGenericArgument val3 = QGenericArgument(), 32020: QGenericArgument val4 = QGenericArgument(), 32020: QGenericArgument val5 = QGenericArgument(), 32020: QGenericArgument val6 = QGenericArgument(), 32020: QGenericArgument val7 = QGenericArgument(), 32020: QGenericArgument val8 = QGenericArgument(), 32020: QGenericArgument val9 = QGenericArgument()) 32020: { 32020: return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2, 32020: val3, val4, val5, val6, val7, val8, val9); 32020: } 32020: 32020: static inline bool invokeMethod(QObject *obj, const char *member, 32020: QGenericArgument val0 = QGenericArgument(nullptr), 32020: QGenericArgument val1 = QGenericArgument(), 32020: QGenericArgument val2 = QGenericArgument(), 32020: QGenericArgument val3 = QGenericArgument(), 32020: QGenericArgument val4 = QGenericArgument(), 32020: QGenericArgument val5 = QGenericArgument(), 32020: QGenericArgument val6 = QGenericArgument(), 32020: QGenericArgument val7 = QGenericArgument(), 32020: QGenericArgument val8 = QGenericArgument(), 32020: QGenericArgument val9 = QGenericArgument()) 32020: { 32020: return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0, 32020: val1, val2, val3, val4, val5, val6, val7, val8, val9); 32020: } 32020: # 472 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 3 4 32020: template 32020: static typename std::enable_if::IsPointerToMemberFunction 32020: && !std::is_convertible::value 32020: && QtPrivate::FunctionPointer::ArgumentCount == 0, bool>::type 32020: invokeMethod(typename QtPrivate::FunctionPointer::Object *object, 32020: Func function, 32020: Qt::ConnectionType type = Qt::AutoConnection, 32020: typename QtPrivate::FunctionPointer::ReturnType *ret = nullptr) 32020: { 32020: return invokeMethodImpl(object, new QtPrivate::QSlotObjectWithNoArgs(function), type, ret); 32020: } 32020: 32020: template 32020: static typename std::enable_if::IsPointerToMemberFunction 32020: && !std::is_convertible::value 32020: && QtPrivate::FunctionPointer::ArgumentCount == 0, bool>::type 32020: invokeMethod(typename QtPrivate::FunctionPointer::Object *object, 32020: Func function, 32020: typename QtPrivate::FunctionPointer::ReturnType *ret) 32020: { 32020: return invokeMethodImpl(object, new QtPrivate::QSlotObjectWithNoArgs(function), Qt::AutoConnection, ret); 32020: } 32020: 32020: 32020: template 32020: static typename std::enable_if::IsPointerToMemberFunction 32020: && !std::is_convertible::value 32020: && QtPrivate::FunctionPointer::ArgumentCount == 0, bool>::type 32020: invokeMethod(QObject *context, Func function, 32020: Qt::ConnectionType type = Qt::AutoConnection, 32020: typename QtPrivate::FunctionPointer::ReturnType *ret = nullptr) 32020: { 32020: return invokeMethodImpl(context, new QtPrivate::QFunctorSlotObjectWithNoArgsImplicitReturn(function), type, ret); 32020: } 32020: 32020: template 32020: static typename std::enable_if::IsPointerToMemberFunction 32020: && !std::is_convertible::value 32020: && QtPrivate::FunctionPointer::ArgumentCount == 0, bool>::type 32020: invokeMethod(QObject *context, Func function, 32020: typename QtPrivate::FunctionPointer::ReturnType *ret) 32020: { 32020: return invokeMethodImpl(context, new QtPrivate::QFunctorSlotObjectWithNoArgsImplicitReturn(function), Qt::AutoConnection, ret); 32020: } 32020: 32020: 32020: template 32020: static typename std::enable_if::IsPointerToMemberFunction 32020: && QtPrivate::FunctionPointer::ArgumentCount == -1 32020: && !std::is_convertible::value, bool>::type 32020: invokeMethod(QObject *context, Func function, 32020: Qt::ConnectionType type = Qt::AutoConnection, decltype(function()) *ret = nullptr) 32020: { 32020: return invokeMethodImpl(context, 32020: new QtPrivate::QFunctorSlotObjectWithNoArgs(std::move(function)), 32020: type, 32020: ret); 32020: } 32020: 32020: template 32020: static typename std::enable_if::IsPointerToMemberFunction 32020: && QtPrivate::FunctionPointer::ArgumentCount == -1 32020: && !std::is_convertible::value, bool>::type 32020: invokeMethod(QObject *context, Func function, decltype(function()) *ret) 32020: { 32020: return invokeMethodImpl(context, 32020: new QtPrivate::QFunctorSlotObjectWithNoArgs(std::move(function)), 32020: Qt::AutoConnection, 32020: ret); 32020: } 32020: 32020: 32020: 32020: QObject *newInstance(QGenericArgument val0 = QGenericArgument(nullptr), 32020: QGenericArgument val1 = QGenericArgument(), 32020: QGenericArgument val2 = QGenericArgument(), 32020: QGenericArgument val3 = QGenericArgument(), 32020: QGenericArgument val4 = QGenericArgument(), 32020: QGenericArgument val5 = QGenericArgument(), 32020: QGenericArgument val6 = QGenericArgument(), 32020: QGenericArgument val7 = QGenericArgument(), 32020: QGenericArgument val8 = QGenericArgument(), 32020: QGenericArgument val9 = QGenericArgument()) const; 32020: 32020: enum Call { 32020: InvokeMetaMethod, 32020: ReadProperty, 32020: WriteProperty, 32020: ResetProperty, 32020: QueryPropertyDesignable, 32020: QueryPropertyScriptable, 32020: QueryPropertyStored, 32020: QueryPropertyEditable, 32020: QueryPropertyUser, 32020: CreateInstance, 32020: IndexOfMethod, 32020: RegisterPropertyMetaType, 32020: RegisterMethodArgumentMetaType 32020: }; 32020: 32020: int static_metacall(Call, int, void **) const; 32020: static int metacall(QObject *, Call, int, void **); 32020: 32020: template static constexpr const QMetaObject *staticMetaObject() 32020: { 32020: return &MO; 32020: } 32020: 32020: struct SuperData { 32020: const QMetaObject *direct; 32020: SuperData() = default; 32020: constexpr SuperData(std::nullptr_t) : direct(nullptr) {} 32020: constexpr SuperData(const QMetaObject *mo) : direct(mo) {} 32020: 32020: constexpr const QMetaObject *operator->() const { return operator const QMetaObject *(); } 32020: # 597 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs.h" 3 4 32020: constexpr operator const QMetaObject *() const 32020: { return direct; } 32020: template static constexpr SuperData link() 32020: { return SuperData(QMetaObject::staticMetaObject()); } 32020: 32020: }; 32020: 32020: struct { 32020: SuperData superdata; 32020: const QByteArrayData *stringdata; 32020: const uint *data; 32020: typedef void (*StaticMetacallFunction)(QObject *, QMetaObject::Call, int, void **); 32020: StaticMetacallFunction static_metacall; 32020: const SuperData *relatedMetaObjects; 32020: void *extradata; 32020: } d; 32020: 32020: private: 32020: static bool invokeMethodImpl(QObject *object, QtPrivate::QSlotObjectBase *slot, Qt::ConnectionType type, void *ret); 32020: friend class QTimer; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QMetaObject::Connection { 32020: void *d_ptr; 32020: explicit Connection(void *data) : d_ptr(data) { } 32020: friend class QObject; 32020: friend class QObjectPrivate; 32020: friend struct QMetaObject; 32020: bool isConnected_helper() const; 32020: public: 32020: ~Connection(); 32020: Connection(); 32020: Connection(const Connection &other); 32020: Connection &operator=(const Connection &other); 32020: 32020: 32020: 32020: typedef void *Connection::*RestrictedBool; 32020: operator RestrictedBool() const { return d_ptr && isConnected_helper() ? &Connection::d_ptr : nullptr; } 32020: 32020: 32020: Connection(Connection &&o) noexcept : d_ptr(o.d_ptr) { o.d_ptr = nullptr; } 32020: Connection &operator=(Connection &&other) noexcept 32020: { qSwap(d_ptr, other.d_ptr); return *this; } 32020: }; 32020: 32020: inline const QMetaObject *QMetaObject::superClass() const 32020: { return d.superdata; } 32020: 32020: namespace QtPrivate { 32020: 32020: template struct HasQ_OBJECT_Macro { 32020: template 32020: static char test(int (T::*)(QMetaObject::Call, int, void **)); 32020: static int test(int (Object::*)(QMetaObject::Call, int, void **)); 32020: enum { Value = sizeof(test(&Object::qt_metacall)) == sizeof(int) }; 32020: }; 32020: } 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qwindowdefs.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QPaintDevice; 32020: class QWidget; 32020: class QWindow; 32020: class QDialog; 32020: class QColor; 32020: class QPalette; 32020: class QCursor; 32020: class QPoint; 32020: class QSize; 32020: class QRect; 32020: class QPolygon; 32020: class QPainter; 32020: class QRegion; 32020: class QFont; 32020: class QFontMetrics; 32020: class QFontInfo; 32020: class QPen; 32020: class QBrush; 32020: class QMatrix; 32020: class QPixmap; 32020: class QBitmap; 32020: class QMovie; 32020: class QImage; 32020: class QPicture; 32020: class QTimer; 32020: class QTime; 32020: class QClipboard; 32020: class QString; 32020: class QByteArray; 32020: class QApplication; 32020: 32020: template class QList; 32020: typedef QList QWidgetList; 32020: typedef QList QWindowList; 32020: 32020: 32020: # 99 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qwindowdefs.h" 3 4 32020: typedef ::quintptr WId; 32020: 32020: 32020: 32020: 32020: 32020: template class QHash; 32020: typedef QHash QWidgetMapper; 32020: 32020: template class QSet; 32020: typedef QSet QWidgetSet; 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpaintdevice.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QPaintEngine; 32020: class QPaintDevicePrivate; 32020: 32020: class __attribute__((visibility("default"))) QPaintDevice 32020: { 32020: public: 32020: enum PaintDeviceMetric { 32020: PdmWidth = 1, 32020: PdmHeight, 32020: PdmWidthMM, 32020: PdmHeightMM, 32020: PdmNumColors, 32020: PdmDepth, 32020: PdmDpiX, 32020: PdmDpiY, 32020: PdmPhysicalDpiX, 32020: PdmPhysicalDpiY, 32020: PdmDevicePixelRatio, 32020: PdmDevicePixelRatioScaled 32020: }; 32020: 32020: virtual ~QPaintDevice(); 32020: 32020: virtual int devType() const; 32020: bool paintingActive() const; 32020: virtual QPaintEngine *paintEngine() const = 0; 32020: 32020: int width() const { return metric(PdmWidth); } 32020: int height() const { return metric(PdmHeight); } 32020: int widthMM() const { return metric(PdmWidthMM); } 32020: int heightMM() const { return metric(PdmHeightMM); } 32020: int logicalDpiX() const { return metric(PdmDpiX); } 32020: int logicalDpiY() const { return metric(PdmDpiY); } 32020: int physicalDpiX() const { return metric(PdmPhysicalDpiX); } 32020: int physicalDpiY() const { return metric(PdmPhysicalDpiY); } 32020: int devicePixelRatio() const { return metric(PdmDevicePixelRatio); } 32020: qreal devicePixelRatioF() const { return metric(PdmDevicePixelRatioScaled) / devicePixelRatioFScale(); } 32020: int colorCount() const { return metric(PdmNumColors); } 32020: int depth() const { return metric(PdmDepth); } 32020: 32020: static inline qreal devicePixelRatioFScale() { return 0x10000; } 32020: protected: 32020: QPaintDevice() noexcept; 32020: virtual int metric(PaintDeviceMetric metric) const; 32020: virtual void initPainter(QPainter *painter) const; 32020: virtual QPaintDevice *redirected(QPoint *offset) const; 32020: virtual QPainter *sharedPainter() const; 32020: 32020: ushort painters; 32020: private: 32020: QPaintDevice(const QPaintDevice &) = delete; QPaintDevice &operator=(const QPaintDevice &) = delete; 32020: 32020: QPaintDevicePrivate *reserved; 32020: 32020: friend class QPainter; 32020: friend class QPainterPrivate; 32020: friend class QFontEngineMac; 32020: friend class QX11PaintEngine; 32020: friend __attribute__((visibility("default"))) int qt_paint_device_metric(const QPaintDevice *device, PaintDeviceMetric metric); 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: inline int QPaintDevice::devType() const 32020: { return QInternal::UnknownDevice; } 32020: 32020: inline bool QPaintDevice::paintingActive() const 32020: { return painters != 0; } 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcolor.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcolor.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qrgb.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qrgb.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qprocessordetection.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qrgb.h" 2 3 4 32020: 32020: 32020: 32020: 32020: typedef unsigned int QRgb; 32020: 32020: 32020: const __attribute__((__unused__)) QRgb RGB_MASK = 0x00ffffff; 32020: 32020: inline constexpr int qRed(QRgb rgb) 32020: { return ((rgb >> 16) & 0xff); } 32020: 32020: inline constexpr int qGreen(QRgb rgb) 32020: { return ((rgb >> 8) & 0xff); } 32020: 32020: inline constexpr int qBlue(QRgb rgb) 32020: { return (rgb & 0xff); } 32020: 32020: inline constexpr int qAlpha(QRgb rgb) 32020: { return rgb >> 24; } 32020: 32020: inline constexpr QRgb qRgb(int r, int g, int b) 32020: { return (0xffu << 24) | ((r & 0xffu) << 16) | ((g & 0xffu) << 8) | (b & 0xffu); } 32020: 32020: inline constexpr QRgb qRgba(int r, int g, int b, int a) 32020: { return ((a & 0xffu) << 24) | ((r & 0xffu) << 16) | ((g & 0xffu) << 8) | (b & 0xffu); } 32020: 32020: inline constexpr int qGray(int r, int g, int b) 32020: { return (r*11+g*16+b*5)/32; } 32020: 32020: inline constexpr int qGray(QRgb rgb) 32020: { return qGray(qRed(rgb), qGreen(rgb), qBlue(rgb)); } 32020: 32020: inline constexpr bool qIsGray(QRgb rgb) 32020: { return qRed(rgb) == qGreen(rgb) && qRed(rgb) == qBlue(rgb); } 32020: 32020: inline constexpr QRgb qPremultiply(QRgb x) 32020: { 32020: const uint a = qAlpha(x); 32020: uint t = (x & 0xff00ff) * a; 32020: t = (t + ((t >> 8) & 0xff00ff) + 0x800080) >> 8; 32020: t &= 0xff00ff; 32020: 32020: x = ((x >> 8) & 0xff) * a; 32020: x = (x + ((x >> 8) & 0xff) + 0x80); 32020: x &= 0xff00; 32020: return x | t | (a << 24); 32020: } 32020: 32020: __attribute__((visibility("default"))) extern const uint qt_inv_premul_factor[]; 32020: 32020: inline QRgb qUnpremultiply(QRgb p) 32020: { 32020: const uint alpha = qAlpha(p); 32020: 32020: if (alpha == 255) 32020: return p; 32020: if (alpha == 0) 32020: return 0; 32020: 32020: const uint invAlpha = qt_inv_premul_factor[alpha]; 32020: 32020: return qRgba((qRed(p)*invAlpha + 0x8000)>>16, (qGreen(p)*invAlpha + 0x8000)>>16, (qBlue(p)*invAlpha + 0x8000)>>16, alpha); 32020: } 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcolor.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 1 3 4 32020: # 41 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: 32020: 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: 32020: 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace QAlgorithmsPrivate { 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy); 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &); 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 32020: template 32020: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 32020: template 32020: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 32020: 32020: 32020: } 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::copy"))) inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest) 32020: { 32020: while (begin != end) 32020: *dest++ = *begin++; 32020: return dest; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::copy_backward"))) inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest) 32020: { 32020: while (begin != end) 32020: *--dest = *--end; 32020: return dest; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::equal"))) inline bool qEqual(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) 32020: { 32020: for (; first1 != last1; ++first1, ++first2) 32020: if (!(*first1 == *first2)) 32020: return false; 32020: return true; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::fill"))) inline void qFill(ForwardIterator first, ForwardIterator last, const T &val) 32020: { 32020: for (; first != last; ++first) 32020: *first = val; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::fill"))) inline void qFill(Container &container, const T &val) 32020: { 32020: qFill(container.begin(), container.end(), val); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::find"))) inline InputIterator qFind(InputIterator first, InputIterator last, const T &val) 32020: { 32020: while (first != last && !(*first == val)) 32020: ++first; 32020: return first; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::find"))) inline typename Container::const_iterator qFind(const Container &container, const T &val) 32020: { 32020: return qFind(container.constBegin(), container.constEnd(), val); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::count"))) inline void qCount(InputIterator first, InputIterator last, const T &value, Size &n) 32020: { 32020: for (; first != last; ++first) 32020: if (*first == value) 32020: ++n; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::count"))) inline void qCount(const Container &container, const T &value, Size &n) 32020: { 32020: qCount(container.constBegin(), container.constEnd(), value, n); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class __attribute__ ((__deprecated__("Use std::less"))) qLess 32020: { 32020: public: 32020: inline bool operator()(const T &t1, const T &t2) const 32020: { 32020: return (t1 < t2); 32020: } 32020: }; 32020: 32020: template 32020: class __attribute__ ((__deprecated__("Use std::greater"))) qGreater 32020: { 32020: public: 32020: inline bool operator()(const T &t1, const T &t2) const 32020: { 32020: return (t2 < t1); 32020: } 32020: }; 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSort(RandomAccessIterator start, RandomAccessIterator end) 32020: { 32020: if (start != end) 32020: QAlgorithmsPrivate::qSortHelper(start, end, *start); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) 32020: { 32020: if (start != end) 32020: QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSort(Container &c) 32020: { 32020: 32020: 32020: 32020: 32020: if (!c.empty()) 32020: QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin()); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end) 32020: { 32020: if (start != end) 32020: QAlgorithmsPrivate::qStableSortHelper(start, end, *start); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) 32020: { 32020: if (start != end) 32020: QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSort(Container &c) 32020: { 32020: 32020: 32020: 32020: 32020: if (!c.empty()) 32020: QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin()); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 32020: { 32020: 32020: 32020: 32020: RandomAccessIterator middle; 32020: int n = end - begin; 32020: int half; 32020: 32020: while (n > 0) { 32020: half = n >> 1; 32020: middle = begin + half; 32020: if (*middle < value) { 32020: begin = middle + 1; 32020: n -= half + 1; 32020: } else { 32020: n = half; 32020: } 32020: } 32020: return begin; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 32020: { 32020: return QAlgorithmsPrivate::qLowerBoundHelper(begin, end, value, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::lower_bound"))) typename Container::const_iterator qLowerBound(const Container &container, const T &value) 32020: { 32020: return QAlgorithmsPrivate::qLowerBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 32020: { 32020: 32020: RandomAccessIterator middle; 32020: int n = end - begin; 32020: int half; 32020: 32020: while (n > 0) { 32020: half = n >> 1; 32020: middle = begin + half; 32020: if (value < *middle) { 32020: n = half; 32020: } else { 32020: begin = middle + 1; 32020: n -= half + 1; 32020: } 32020: } 32020: return begin; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 32020: { 32020: return QAlgorithmsPrivate::qUpperBoundHelper(begin, end, value, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::upper_bound"))) typename Container::const_iterator qUpperBound(const Container &container, const T &value) 32020: { 32020: return QAlgorithmsPrivate::qUpperBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 32020: { 32020: 32020: RandomAccessIterator it = qLowerBound(begin, end, value); 32020: 32020: if (it == end || value < *it) 32020: return end; 32020: 32020: return it; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 32020: { 32020: return QAlgorithmsPrivate::qBinaryFindHelper(begin, end, value, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::binary_search"))) typename Container::const_iterator qBinaryFind(const Container &container, const T &value) 32020: { 32020: return QAlgorithmsPrivate::qBinaryFindHelper(container.constBegin(), container.constEnd(), value, qLess()); 32020: } 32020: 32020: 32020: template 32020: void qDeleteAll(ForwardIterator begin, ForwardIterator end) 32020: { 32020: while (begin != end) { 32020: delete *begin; 32020: ++begin; 32020: } 32020: } 32020: 32020: template 32020: inline void qDeleteAll(const Container &c) 32020: { 32020: qDeleteAll(c.begin(), c.end()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: namespace QAlgorithmsPrivate { 32020: 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan) 32020: { 32020: top: 32020: int span = int(end - start); 32020: if (span < 2) 32020: return; 32020: 32020: --end; 32020: RandomAccessIterator low = start, high = end - 1; 32020: RandomAccessIterator pivot = start + span / 2; 32020: 32020: if (lessThan(*end, *start)) 32020: qSwap(*end, *start); 32020: if (span == 2) 32020: return; 32020: 32020: if (lessThan(*pivot, *start)) 32020: qSwap(*pivot, *start); 32020: if (lessThan(*end, *pivot)) 32020: qSwap(*end, *pivot); 32020: if (span == 3) 32020: return; 32020: 32020: qSwap(*pivot, *end); 32020: 32020: while (low < high) { 32020: while (low < high && lessThan(*low, *end)) 32020: ++low; 32020: 32020: while (high > low && lessThan(*end, *high)) 32020: --high; 32020: 32020: if (low < high) { 32020: qSwap(*low, *high); 32020: ++low; 32020: --high; 32020: } else { 32020: break; 32020: } 32020: } 32020: 32020: if (lessThan(*low, *end)) 32020: ++low; 32020: 32020: qSwap(*end, *low); 32020: qSortHelper(start, low, t, lessThan); 32020: 32020: start = low + 1; 32020: ++end; 32020: goto top; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) 32020: { 32020: qSortHelper(begin, end, dummy, qLess()); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::reverse"))) void qReverse(RandomAccessIterator begin, RandomAccessIterator end) 32020: { 32020: --end; 32020: while (begin < end) 32020: qSwap(*begin++, *end--); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::rotate"))) void qRotate(RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end) 32020: { 32020: qReverse(begin, middle); 32020: qReverse(middle, end); 32020: qReverse(begin, end); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::merge"))) void qMerge(RandomAccessIterator begin, RandomAccessIterator pivot, RandomAccessIterator end, T &t, LessThan lessThan) 32020: { 32020: const int len1 = pivot - begin; 32020: const int len2 = end - pivot; 32020: 32020: if (len1 == 0 || len2 == 0) 32020: return; 32020: 32020: if (len1 + len2 == 2) { 32020: if (lessThan(*(begin + 1), *(begin))) 32020: qSwap(*begin, *(begin + 1)); 32020: return; 32020: } 32020: 32020: RandomAccessIterator firstCut; 32020: RandomAccessIterator secondCut; 32020: int len2Half; 32020: if (len1 > len2) { 32020: const int len1Half = len1 / 2; 32020: firstCut = begin + len1Half; 32020: secondCut = qLowerBound(pivot, end, *firstCut, lessThan); 32020: len2Half = secondCut - pivot; 32020: } else { 32020: len2Half = len2 / 2; 32020: secondCut = pivot + len2Half; 32020: firstCut = qUpperBound(begin, pivot, *secondCut, lessThan); 32020: } 32020: 32020: qRotate(firstCut, pivot, secondCut); 32020: const RandomAccessIterator newPivot = firstCut + len2Half; 32020: qMerge(begin, firstCut, newPivot, t, lessThan); 32020: qMerge(newPivot, secondCut, end, t, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &t, LessThan lessThan) 32020: { 32020: const int span = end - begin; 32020: if (span < 2) 32020: return; 32020: 32020: const RandomAccessIterator middle = begin + span / 2; 32020: qStableSortHelper(begin, middle, t, lessThan); 32020: qStableSortHelper(middle, end, t, lessThan); 32020: qMerge(begin, middle, end, t, lessThan); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) 32020: { 32020: qStableSortHelper(begin, end, dummy, qLess()); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 32020: { 32020: RandomAccessIterator middle; 32020: int n = int(end - begin); 32020: int half; 32020: 32020: while (n > 0) { 32020: half = n >> 1; 32020: middle = begin + half; 32020: if (lessThan(*middle, value)) { 32020: begin = middle + 1; 32020: n -= half + 1; 32020: } else { 32020: n = half; 32020: } 32020: } 32020: return begin; 32020: } 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 32020: { 32020: RandomAccessIterator middle; 32020: int n = end - begin; 32020: int half; 32020: 32020: while (n > 0) { 32020: half = n >> 1; 32020: middle = begin + half; 32020: if (lessThan(value, *middle)) { 32020: n = half; 32020: } else { 32020: begin = middle + 1; 32020: n -= half + 1; 32020: } 32020: } 32020: return begin; 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 32020: { 32020: RandomAccessIterator it = qLowerBoundHelper(begin, end, value, lessThan); 32020: 32020: if (it == end || lessThan(value, *it)) 32020: return end; 32020: 32020: return it; 32020: } 32020: # 536 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctzs(quint16 v) noexcept 32020: { 32020: 32020: 32020: 32020: return __builtin_ctz(v); 32020: 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_clzs(quint16 v) noexcept 32020: { 32020: 32020: 32020: 32020: return __builtin_clz(v) - 16U; 32020: 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctz(quint32 v) noexcept 32020: { 32020: return __builtin_ctz(v); 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_clz(quint32 v) noexcept 32020: { 32020: return __builtin_clz(v); 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctzll(quint64 v) noexcept 32020: { 32020: return __builtin_ctzll(v); 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_clzll(quint64 v) noexcept 32020: { 32020: return __builtin_clzll(v); 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint32 v) noexcept 32020: { 32020: return __builtin_popcount(v); 32020: } 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint8 v) noexcept 32020: { 32020: return __builtin_popcount(v); 32020: } 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint16 v) noexcept 32020: { 32020: return __builtin_popcount(v); 32020: } 32020: 32020: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcountll(quint64 v) noexcept 32020: { 32020: return __builtin_popcountll(v); 32020: } 32020: # 686 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: __attribute__((const)) constexpr inline uint qPopulationCount(quint32 v) noexcept 32020: { 32020: 32020: return QAlgorithmsPrivate::qt_builtin_popcount(v); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: __attribute__((const)) constexpr inline uint qPopulationCount(quint8 v) noexcept 32020: { 32020: 32020: return QAlgorithmsPrivate::qt_builtin_popcount(v); 32020: 32020: 32020: 32020: 32020: } 32020: 32020: __attribute__((const)) constexpr inline uint qPopulationCount(quint16 v) noexcept 32020: { 32020: 32020: return QAlgorithmsPrivate::qt_builtin_popcount(v); 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: __attribute__((const)) constexpr inline uint qPopulationCount(quint64 v) noexcept 32020: { 32020: 32020: return QAlgorithmsPrivate::qt_builtin_popcountll(v); 32020: # 735 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: __attribute__((const)) constexpr inline uint qPopulationCount(long unsigned int v) noexcept 32020: { 32020: return qPopulationCount(static_cast(v)); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline uint qCountTrailingZeroBits(quint32 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_ctz(v) : 32U; 32020: # 763 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: constexpr inline uint qCountTrailingZeroBits(quint8 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_ctz(v) : 8U; 32020: # 778 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: constexpr inline uint qCountTrailingZeroBits(quint16 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_ctzs(v) : 16U; 32020: # 794 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: constexpr inline uint qCountTrailingZeroBits(quint64 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_ctzll(v) : 64; 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: constexpr inline uint qCountTrailingZeroBits(unsigned long v) noexcept 32020: { 32020: return qCountTrailingZeroBits(QIntegerForSizeof::Unsigned(v)); 32020: } 32020: 32020: constexpr inline uint qCountLeadingZeroBits(quint32 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_clz(v) : 32U; 32020: # 825 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: constexpr inline uint qCountLeadingZeroBits(quint8 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_clz(v)-24U : 8U; 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: constexpr inline uint qCountLeadingZeroBits(quint16 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_clzs(v) : 16U; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: constexpr inline uint qCountLeadingZeroBits(quint64 v) noexcept 32020: { 32020: 32020: return v ? QAlgorithmsPrivate::qt_builtin_clzll(v) : 64U; 32020: # 865 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: } 32020: 32020: constexpr inline uint qCountLeadingZeroBits(unsigned long v) noexcept 32020: { 32020: return qCountLeadingZeroBits(QIntegerForSizeof::Unsigned(v)); 32020: } 32020: 32020: 32020: # 872 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 872 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qalgorithms.h" 3 4 32020: 32020: 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiterator.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiterator.h" 3 4 32020: 32020: # 191 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiterator.h" 3 4 32020: template 32020: class QKeyValueIterator 32020: { 32020: public: 32020: typedef typename Iterator::iterator_category iterator_category; 32020: typedef typename Iterator::difference_type difference_type; 32020: typedef std::pair value_type; 32020: typedef const value_type &reference; 32020: 32020: QKeyValueIterator() = default; 32020: constexpr explicit QKeyValueIterator(Iterator o) noexcept(std::is_nothrow_move_constructible::value) 32020: : i(std::move(o)) {} 32020: 32020: std::pair operator*() const { 32020: return std::pair(i.key(), i.value()); 32020: } 32020: 32020: struct pointer { 32020: pointer(value_type&& r_) 32020: : r(std::move(r_)) 32020: {} 32020: 32020: pointer() = default; 32020: pointer(const pointer &other) = default; 32020: pointer(pointer &&other) = default; 32020: pointer& operator=(const pointer &other) = default; 32020: pointer& operator=(pointer &&other) = default; 32020: 32020: value_type& operator*() const { 32020: return r; 32020: } 32020: 32020: value_type r; 32020: const value_type *operator->() const { 32020: return &r; 32020: } 32020: }; 32020: 32020: pointer operator->() const { 32020: return pointer(std::pair(i.key(), i.value())); 32020: } 32020: 32020: friend bool operator==(QKeyValueIterator lhs, QKeyValueIterator rhs) noexcept { return lhs.i == rhs.i; } 32020: friend bool operator!=(QKeyValueIterator lhs, QKeyValueIterator rhs) noexcept { return lhs.i != rhs.i; } 32020: 32020: inline QKeyValueIterator &operator++() { ++i; return *this; } 32020: inline QKeyValueIterator operator++(int) { return QKeyValueIterator(i++);} 32020: inline QKeyValueIterator &operator--() { --i; return *this; } 32020: inline QKeyValueIterator operator--(int) { return QKeyValueIterator(i--); } 32020: Iterator base() const { return i; } 32020: 32020: private: 32020: Iterator i; 32020: }; 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrefcount.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrefcount.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qrefcount.h" 2 3 4 32020: 32020: 32020: 32020: 32020: namespace QtPrivate 32020: { 32020: 32020: class RefCount 32020: { 32020: public: 32020: inline bool ref() noexcept { 32020: int count = atomic.loadRelaxed(); 32020: 32020: if (count == 0) 32020: return false; 32020: 32020: if (count != -1) 32020: atomic.ref(); 32020: return true; 32020: } 32020: 32020: inline bool deref() noexcept { 32020: int count = atomic.loadRelaxed(); 32020: 32020: if (count == 0) 32020: return false; 32020: 32020: if (count == -1) 32020: return true; 32020: return atomic.deref(); 32020: } 32020: 32020: 32020: bool setSharable(bool sharable) noexcept 32020: { 32020: static_cast(false && (!isShared())); 32020: if (sharable) 32020: return atomic.testAndSetRelaxed(0, 1); 32020: else 32020: return atomic.testAndSetRelaxed(1, 0); 32020: } 32020: 32020: bool isSharable() const noexcept 32020: { 32020: 32020: return atomic.loadRelaxed() != 0; 32020: } 32020: 32020: 32020: bool isStatic() const noexcept 32020: { 32020: 32020: return atomic.loadRelaxed() == -1; 32020: } 32020: 32020: bool isShared() const noexcept 32020: { 32020: int count = atomic.loadRelaxed(); 32020: return (count != 1) && (count != 0); 32020: } 32020: 32020: void initializeOwned() noexcept { atomic.storeRelaxed(1); } 32020: void initializeUnsharable() noexcept { atomic.storeRelaxed(0); } 32020: 32020: QBasicAtomicInt atomic; 32020: }; 32020: 32020: } 32020: 32020: 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qarraydata.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qarraydata.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/string.h" 1 3 4 32020: # 26 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 4 32020: # 27 "/usr/arm-linux-gnueabihf/include/string.h" 2 3 4 32020: 32020: extern "C" { 32020: 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 34 "/usr/arm-linux-gnueabihf/include/string.h" 2 3 4 32020: # 43 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern void *memcpy (void *__restrict __dest, const void *__restrict __src, 32020: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern void *memmove (void *__dest, const void *__src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: 32020: extern void *memccpy (void *__restrict __dest, const void *__restrict __src, 32020: int __c, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern int memcmp (const void *__s1, const void *__s2, size_t __n) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern "C++" 32020: { 32020: extern void *memchr (void *__s, int __c, size_t __n) 32020: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern const void *memchr (const void *__s, int __c, size_t __n) 32020: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void * 32020: memchr (void *__s, int __c, size_t __n) throw () 32020: { 32020: return __builtin_memchr (__s, __c, __n); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void * 32020: memchr (const void *__s, int __c, size_t __n) throw () 32020: { 32020: return __builtin_memchr (__s, __c, __n); 32020: } 32020: 32020: } 32020: # 99 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern "C++" void *rawmemchr (void *__s, int __c) 32020: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern "C++" const void *rawmemchr (const void *__s, int __c) 32020: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" void *memrchr (void *__s, int __c, size_t __n) 32020: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) 32020: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: # 122 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern char *strcpy (char *__restrict __dest, const char *__restrict __src) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern char *strncpy (char *__restrict __dest, 32020: const char *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern char *strcat (char *__restrict __dest, const char *__restrict __src) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern char *strncat (char *__restrict __dest, const char *__restrict __src, 32020: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int strcmp (const char *__s1, const char *__s2) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern int strncmp (const char *__s1, const char *__s2, size_t __n) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int strcoll (const char *__s1, const char *__s2) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: extern size_t strxfrm (char *__restrict __dest, 32020: const char *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 32020: 32020: 32020: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, 32020: locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); 32020: 32020: 32020: 32020: 32020: 32020: extern char *strdup (const char *__s) 32020: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern char *strndup (const char *__string, size_t __n) 32020: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 32020: # 204 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern "C++" 32020: { 32020: extern char *strchr (char *__s, int __c) 32020: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern const char *strchr (const char *__s, int __c) 32020: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 32020: strchr (char *__s, int __c) throw () 32020: { 32020: return __builtin_strchr (__s, __c); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 32020: strchr (const char *__s, int __c) throw () 32020: { 32020: return __builtin_strchr (__s, __c); 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" 32020: { 32020: extern char *strrchr (char *__s, int __c) 32020: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern const char *strrchr (const char *__s, int __c) 32020: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 32020: strrchr (char *__s, int __c) throw () 32020: { 32020: return __builtin_strrchr (__s, __c); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 32020: strrchr (const char *__s, int __c) throw () 32020: { 32020: return __builtin_strrchr (__s, __c); 32020: } 32020: 32020: } 32020: # 261 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern "C++" char *strchrnul (char *__s, int __c) 32020: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern "C++" const char *strchrnul (const char *__s, int __c) 32020: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: # 273 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern size_t strcspn (const char *__s, const char *__reject) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern size_t strspn (const char *__s, const char *__accept) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern "C++" 32020: { 32020: extern char *strpbrk (char *__s, const char *__accept) 32020: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: extern const char *strpbrk (const char *__s, const char *__accept) 32020: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 32020: strpbrk (char *__s, const char *__accept) throw () 32020: { 32020: return __builtin_strpbrk (__s, __accept); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 32020: strpbrk (const char *__s, const char *__accept) throw () 32020: { 32020: return __builtin_strpbrk (__s, __accept); 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" 32020: { 32020: extern char *strstr (char *__haystack, const char *__needle) 32020: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: extern const char *strstr (const char *__haystack, const char *__needle) 32020: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 32020: strstr (char *__haystack, const char *__needle) throw () 32020: { 32020: return __builtin_strstr (__haystack, __needle); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 32020: strstr (const char *__haystack, const char *__needle) throw () 32020: { 32020: return __builtin_strstr (__haystack, __needle); 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern char *strtok (char *__restrict __s, const char *__restrict __delim) 32020: throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern char *__strtok_r (char *__restrict __s, 32020: const char *__restrict __delim, 32020: char **__restrict __save_ptr) 32020: throw () __attribute__ ((__nonnull__ (2, 3))); 32020: 32020: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, 32020: char **__restrict __save_ptr) 32020: throw () __attribute__ ((__nonnull__ (2, 3))); 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" char *strcasestr (char *__haystack, const char *__needle) 32020: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: extern "C++" const char *strcasestr (const char *__haystack, 32020: const char *__needle) 32020: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: # 369 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern void *memmem (const void *__haystack, size_t __haystacklen, 32020: const void *__needle, size_t __needlelen) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); 32020: 32020: 32020: 32020: extern void *__mempcpy (void *__restrict __dest, 32020: const void *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: extern void *mempcpy (void *__restrict __dest, 32020: const void *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern size_t strlen (const char *__s) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: extern size_t strnlen (const char *__string, size_t __maxlen) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: extern char *strerror (int __errnum) throw (); 32020: # 421 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) 32020: throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); 32020: 32020: 32020: 32020: 32020: 32020: extern char *strerror_l (int __errnum, locale_t __l) throw (); 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/strings.h" 1 3 4 32020: # 23 "/usr/arm-linux-gnueabihf/include/strings.h" 3 4 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stddef.h" 1 3 4 32020: # 24 "/usr/arm-linux-gnueabihf/include/strings.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C" { 32020: 32020: 32020: 32020: extern int bcmp (const void *__s1, const void *__s2, size_t __n) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern void bcopy (const void *__src, void *__dest, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern "C++" 32020: { 32020: extern char *index (char *__s, int __c) 32020: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern const char *index (const char *__s, int __c) 32020: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 32020: index (char *__s, int __c) throw () 32020: { 32020: return __builtin_index (__s, __c); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 32020: index (const char *__s, int __c) throw () 32020: { 32020: return __builtin_index (__s, __c); 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" 32020: { 32020: extern char *rindex (char *__s, int __c) 32020: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: extern const char *rindex (const char *__s, int __c) 32020: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 32020: rindex (char *__s, int __c) throw () 32020: { 32020: return __builtin_rindex (__s, __c); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 32020: rindex (const char *__s, int __c) throw () 32020: { 32020: return __builtin_rindex (__s, __c); 32020: } 32020: 32020: } 32020: # 104 "/usr/arm-linux-gnueabihf/include/strings.h" 3 4 32020: extern int ffs (int __i) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: 32020: extern int ffsl (long int __l) throw () __attribute__ ((__const__)); 32020: __extension__ extern int ffsll (long long int __ll) 32020: throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern int strcasecmp (const char *__s1, const char *__s2) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 32020: 32020: 32020: 32020: extern int strncasecmp_l (const char *__s1, const char *__s2, 32020: size_t __n, locale_t __loc) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/strings_fortified.h" 1 3 4 32020: # 22 "/usr/arm-linux-gnueabihf/include/bits/strings_fortified.h" 3 4 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 32020: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) throw () 32020: { 32020: (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 32020: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) throw () 32020: { 32020: (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); 32020: } 32020: # 145 "/usr/arm-linux-gnueabihf/include/strings.h" 2 3 4 32020: # 433 "/usr/arm-linux-gnueabihf/include/string.h" 2 3 4 32020: 32020: 32020: 32020: extern void explicit_bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: extern char *strsep (char **__restrict __stringp, 32020: const char *__restrict __delim) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern char *strsignal (int __sig) throw (); 32020: 32020: 32020: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: extern char *__stpncpy (char *__restrict __dest, 32020: const char *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: extern char *stpncpy (char *__restrict __dest, 32020: const char *__restrict __src, size_t __n) 32020: throw () __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: 32020: 32020: extern int strverscmp (const char *__s1, const char *__s2) 32020: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 32020: 32020: 32020: extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern "C++" char *basename (char *__filename) 32020: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 32020: extern "C++" const char *basename (const char *__filename) 32020: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 32020: # 495 "/usr/arm-linux-gnueabihf/include/string.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/string_fortified.h" 1 3 4 32020: # 30 "/usr/arm-linux-gnueabihf/include/bits/string_fortified.h" 3 4 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 32020: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 32020: 32020: { 32020: return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 32020: } 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 32020: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) throw () 32020: { 32020: return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 32020: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 32020: 32020: { 32020: return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 32020: } 32020: # 58 "/usr/arm-linux-gnueabihf/include/bits/string_fortified.h" 3 4 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 32020: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) throw () 32020: { 32020: # 71 "/usr/arm-linux-gnueabihf/include/bits/string_fortified.h" 3 4 32020: return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); 32020: } 32020: 32020: 32020: 32020: 32020: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) 32020: throw () __attribute__ ((__nonnull__ (1))); 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 32020: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) throw () 32020: { 32020: __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0)); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 32020: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) throw () 32020: { 32020: return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 32020: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) throw () 32020: { 32020: return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 32020: } 32020: 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 32020: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 32020: 32020: { 32020: return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 32020: } 32020: 32020: 32020: extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, 32020: size_t __destlen) throw (); 32020: extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) throw () __asm__ ("" "stpncpy") 32020: ; 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 32020: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) throw () 32020: { 32020: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 32020: && (!__builtin_constant_p (__n) || __n > __builtin_object_size (__dest, 2 > 1))) 32020: return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); 32020: return __stpncpy_alias (__dest, __src, __n); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 32020: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) throw () 32020: { 32020: return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 32020: } 32020: 32020: 32020: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 32020: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 32020: 32020: { 32020: return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 32020: } 32020: # 496 "/usr/arm-linux-gnueabihf/include/string.h" 2 3 4 32020: 32020: 32020: 32020: } 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qarraydata.h" 2 3 4 32020: 32020: 32020: 32020: struct __attribute__((visibility("default"))) QArrayData 32020: { 32020: QtPrivate::RefCount ref; 32020: int size; 32020: uint alloc : 31; 32020: uint capacityReserved : 1; 32020: 32020: qptrdiff offset; 32020: 32020: void *data() 32020: { 32020: static_cast(false && (size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData))) 32020: ; 32020: return reinterpret_cast(this) + offset; 32020: } 32020: 32020: const void *data() const 32020: { 32020: static_cast(false && (size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData))) 32020: ; 32020: return reinterpret_cast(this) + offset; 32020: } 32020: 32020: 32020: 32020: 32020: bool isMutable() const 32020: { 32020: return alloc != 0; 32020: } 32020: 32020: enum AllocationOption { 32020: CapacityReserved = 0x1, 32020: 32020: Unsharable = 0x2, 32020: 32020: RawData = 0x4, 32020: Grow = 0x8, 32020: 32020: Default = 0 32020: }; 32020: 32020: typedef QFlags AllocationOptions; 32020: 32020: size_t detachCapacity(size_t newSize) const 32020: { 32020: if (capacityReserved && newSize < alloc) 32020: return alloc; 32020: return newSize; 32020: } 32020: 32020: AllocationOptions detachFlags() const 32020: { 32020: AllocationOptions result; 32020: if (capacityReserved) 32020: result |= CapacityReserved; 32020: return result; 32020: } 32020: 32020: AllocationOptions cloneFlags() const 32020: { 32020: AllocationOptions result; 32020: if (capacityReserved) 32020: result |= CapacityReserved; 32020: return result; 32020: } 32020: 32020: [[nodiscard]] static QArrayData *allocate(size_t objectSize, size_t alignment, 32020: size_t capacity, AllocationOptions options = Default) noexcept; 32020: [[nodiscard]] static QArrayData *reallocateUnaligned(QArrayData *data, size_t objectSize, 32020: size_t newCapacity, AllocationOptions newOptions = Default) noexcept; 32020: static void deallocate(QArrayData *data, size_t objectSize, 32020: size_t alignment) noexcept; 32020: 32020: static const QArrayData shared_null[2]; 32020: static QArrayData *sharedNull() noexcept { return const_cast(shared_null); } 32020: }; 32020: 32020: 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); } 32020: 32020: template 32020: struct QTypedArrayData 32020: : QArrayData 32020: { 32020: # 204 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qarraydata.h" 3 4 32020: typedef T* iterator; 32020: typedef const T* const_iterator; 32020: 32020: 32020: T *data() { return static_cast(QArrayData::data()); } 32020: const T *data() const { return static_cast(QArrayData::data()); } 32020: 32020: iterator begin(iterator = iterator()) { return data(); } 32020: iterator end(iterator = iterator()) { return data() + size; } 32020: const_iterator begin(const_iterator = const_iterator()) const { return data(); } 32020: const_iterator end(const_iterator = const_iterator()) const { return data() + size; } 32020: const_iterator constBegin(const_iterator = const_iterator()) const { return data(); } 32020: const_iterator constEnd(const_iterator = const_iterator()) const { return data() + size; } 32020: 32020: class AlignmentDummy { QArrayData header; T data; }; 32020: 32020: [[nodiscard]] static QTypedArrayData *allocate(size_t capacity, 32020: AllocationOptions options = Default) 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: return static_cast(QArrayData::allocate(sizeof(T), 32020: alignof(AlignmentDummy), capacity, options)); 32020: } 32020: 32020: static QTypedArrayData *reallocateUnaligned(QTypedArrayData *data, size_t capacity, 32020: AllocationOptions options = Default) 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: return static_cast(QArrayData::reallocateUnaligned(data, sizeof(T), 32020: capacity, options)); 32020: } 32020: 32020: static void deallocate(QArrayData *data) 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: QArrayData::deallocate(data, sizeof(T), alignof(AlignmentDummy)); 32020: } 32020: 32020: static QTypedArrayData *fromRawData(const T *data, size_t n, 32020: AllocationOptions options = Default) 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: QTypedArrayData *result = allocate(0, options | RawData); 32020: if (result) { 32020: static_cast(false && (!result->ref.isShared())); 32020: 32020: result->offset = reinterpret_cast(data) 32020: - reinterpret_cast(result); 32020: result->size = int(n); 32020: } 32020: return result; 32020: } 32020: 32020: static QTypedArrayData *sharedNull() noexcept 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: return static_cast(QArrayData::sharedNull()); 32020: } 32020: 32020: static QTypedArrayData *sharedEmpty() 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: return allocate( 0); 32020: } 32020: 32020: 32020: static QTypedArrayData *unsharableEmpty() 32020: { 32020: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 32020: return allocate( 0, Unsharable); 32020: } 32020: 32020: }; 32020: 32020: template 32020: struct QStaticArrayData 32020: { 32020: QArrayData header; 32020: T data[N]; 32020: }; 32020: 32020: 32020: template 32020: struct QArrayDataPointerRef 32020: { 32020: QTypedArrayData *ptr; 32020: }; 32020: # 347 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qarraydata.h" 3 4 32020: namespace QtPrivate { 32020: struct __attribute__((visibility("default"))) QContainerImplHelper 32020: { 32020: enum CutResult { Null, Empty, Full, Subset }; 32020: static CutResult mid(int originalLength, int *position, int *length); 32020: }; 32020: } 32020: 32020: 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qchar.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qchar.h" 3 4 32020: 32020: 32020: 32020: class QString; 32020: 32020: struct QLatin1Char 32020: { 32020: public: 32020: constexpr inline explicit QLatin1Char(char c) noexcept : ch(c) {} 32020: constexpr inline char toLatin1() const noexcept { return ch; } 32020: constexpr inline ushort unicode() const noexcept { return ushort(uchar(ch)); } 32020: 32020: private: 32020: char ch; 32020: }; 32020: 32020: constexpr inline bool operator==(char lhs, QLatin1Char rhs) noexcept { return lhs == rhs.toLatin1(); } 32020: constexpr inline bool operator!=(char lhs, QLatin1Char rhs) noexcept { return lhs != rhs.toLatin1(); } 32020: constexpr inline bool operator<=(char lhs, QLatin1Char rhs) noexcept { return lhs <= rhs.toLatin1(); } 32020: constexpr inline bool operator>=(char lhs, QLatin1Char rhs) noexcept { return lhs >= rhs.toLatin1(); } 32020: constexpr inline bool operator< (char lhs, QLatin1Char rhs) noexcept { return lhs < rhs.toLatin1(); } 32020: constexpr inline bool operator> (char lhs, QLatin1Char rhs) noexcept { return lhs > rhs.toLatin1(); } 32020: 32020: constexpr inline bool operator==(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() == rhs; } 32020: constexpr inline bool operator!=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() != rhs; } 32020: constexpr inline bool operator<=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() <= rhs; } 32020: constexpr inline bool operator>=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() >= rhs; } 32020: constexpr inline bool operator< (QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() < rhs; } 32020: constexpr inline bool operator> (QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() > rhs; } 32020: 32020: class __attribute__((visibility("default"))) QChar { 32020: public: 32020: enum SpecialCharacter { 32020: Null = 0x0000, 32020: Tabulation = 0x0009, 32020: LineFeed = 0x000a, 32020: FormFeed = 0x000c, 32020: CarriageReturn = 0x000d, 32020: Space = 0x0020, 32020: Nbsp = 0x00a0, 32020: SoftHyphen = 0x00ad, 32020: ReplacementCharacter = 0xfffd, 32020: ObjectReplacementCharacter = 0xfffc, 32020: ByteOrderMark = 0xfeff, 32020: ByteOrderSwapped = 0xfffe, 32020: ParagraphSeparator = 0x2029, 32020: LineSeparator = 0x2028, 32020: LastValidCodePoint = 0x10ffff 32020: }; 32020: 32020: constexpr QChar() noexcept : ucs(0) {} 32020: constexpr QChar(ushort rc) noexcept : ucs(rc) {} 32020: constexpr QChar(uchar c, uchar r) noexcept : ucs(ushort((r << 8) | c)) {} 32020: constexpr QChar(short rc) noexcept : ucs(ushort(rc)) {} 32020: constexpr QChar(uint rc) noexcept : ucs(ushort(rc & 0xffff)) {} 32020: constexpr QChar(int rc) noexcept : ucs(ushort(rc & 0xffff)) {} 32020: constexpr QChar(SpecialCharacter s) noexcept : ucs(ushort(s)) {} 32020: constexpr QChar(QLatin1Char ch) noexcept : ucs(ch.unicode()) {} 32020: 32020: constexpr QChar(char16_t ch) noexcept : ucs(ushort(ch)) {} 32020: # 116 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qchar.h" 3 4 32020: constexpr explicit QChar(char c) noexcept : ucs(uchar(c)) { } 32020: 32020: constexpr explicit QChar(uchar c) noexcept : ucs(c) { } 32020: 32020: 32020: 32020: 32020: enum Category 32020: { 32020: Mark_NonSpacing, 32020: Mark_SpacingCombining, 32020: Mark_Enclosing, 32020: 32020: Number_DecimalDigit, 32020: Number_Letter, 32020: Number_Other, 32020: 32020: Separator_Space, 32020: Separator_Line, 32020: Separator_Paragraph, 32020: 32020: Other_Control, 32020: Other_Format, 32020: Other_Surrogate, 32020: Other_PrivateUse, 32020: Other_NotAssigned, 32020: 32020: Letter_Uppercase, 32020: Letter_Lowercase, 32020: Letter_Titlecase, 32020: Letter_Modifier, 32020: Letter_Other, 32020: 32020: Punctuation_Connector, 32020: Punctuation_Dash, 32020: Punctuation_Open, 32020: Punctuation_Close, 32020: Punctuation_InitialQuote, 32020: Punctuation_FinalQuote, 32020: Punctuation_Other, 32020: 32020: Symbol_Math, 32020: Symbol_Currency, 32020: Symbol_Modifier, 32020: Symbol_Other 32020: }; 32020: 32020: enum Script 32020: { 32020: Script_Unknown, 32020: Script_Inherited, 32020: Script_Common, 32020: 32020: Script_Latin, 32020: Script_Greek, 32020: Script_Cyrillic, 32020: Script_Armenian, 32020: Script_Hebrew, 32020: Script_Arabic, 32020: Script_Syriac, 32020: Script_Thaana, 32020: Script_Devanagari, 32020: Script_Bengali, 32020: Script_Gurmukhi, 32020: Script_Gujarati, 32020: Script_Oriya, 32020: Script_Tamil, 32020: Script_Telugu, 32020: Script_Kannada, 32020: Script_Malayalam, 32020: Script_Sinhala, 32020: Script_Thai, 32020: Script_Lao, 32020: Script_Tibetan, 32020: Script_Myanmar, 32020: Script_Georgian, 32020: Script_Hangul, 32020: Script_Ethiopic, 32020: Script_Cherokee, 32020: Script_CanadianAboriginal, 32020: Script_Ogham, 32020: Script_Runic, 32020: Script_Khmer, 32020: Script_Mongolian, 32020: Script_Hiragana, 32020: Script_Katakana, 32020: Script_Bopomofo, 32020: Script_Han, 32020: Script_Yi, 32020: Script_OldItalic, 32020: Script_Gothic, 32020: Script_Deseret, 32020: Script_Tagalog, 32020: Script_Hanunoo, 32020: Script_Buhid, 32020: Script_Tagbanwa, 32020: Script_Coptic, 32020: 32020: 32020: Script_Limbu, 32020: Script_TaiLe, 32020: Script_LinearB, 32020: Script_Ugaritic, 32020: Script_Shavian, 32020: Script_Osmanya, 32020: Script_Cypriot, 32020: Script_Braille, 32020: 32020: 32020: Script_Buginese, 32020: Script_NewTaiLue, 32020: Script_Glagolitic, 32020: Script_Tifinagh, 32020: Script_SylotiNagri, 32020: Script_OldPersian, 32020: Script_Kharoshthi, 32020: 32020: 32020: Script_Balinese, 32020: Script_Cuneiform, 32020: Script_Phoenician, 32020: Script_PhagsPa, 32020: Script_Nko, 32020: 32020: 32020: Script_Sundanese, 32020: Script_Lepcha, 32020: Script_OlChiki, 32020: Script_Vai, 32020: Script_Saurashtra, 32020: Script_KayahLi, 32020: Script_Rejang, 32020: Script_Lycian, 32020: Script_Carian, 32020: Script_Lydian, 32020: Script_Cham, 32020: 32020: 32020: Script_TaiTham, 32020: Script_TaiViet, 32020: Script_Avestan, 32020: Script_EgyptianHieroglyphs, 32020: Script_Samaritan, 32020: Script_Lisu, 32020: Script_Bamum, 32020: Script_Javanese, 32020: Script_MeeteiMayek, 32020: Script_ImperialAramaic, 32020: Script_OldSouthArabian, 32020: Script_InscriptionalParthian, 32020: Script_InscriptionalPahlavi, 32020: Script_OldTurkic, 32020: Script_Kaithi, 32020: 32020: 32020: Script_Batak, 32020: Script_Brahmi, 32020: Script_Mandaic, 32020: 32020: 32020: Script_Chakma, 32020: Script_MeroiticCursive, 32020: Script_MeroiticHieroglyphs, 32020: Script_Miao, 32020: Script_Sharada, 32020: Script_SoraSompeng, 32020: Script_Takri, 32020: 32020: 32020: Script_CaucasianAlbanian, 32020: Script_BassaVah, 32020: Script_Duployan, 32020: Script_Elbasan, 32020: Script_Grantha, 32020: Script_PahawhHmong, 32020: Script_Khojki, 32020: Script_LinearA, 32020: Script_Mahajani, 32020: Script_Manichaean, 32020: Script_MendeKikakui, 32020: Script_Modi, 32020: Script_Mro, 32020: Script_OldNorthArabian, 32020: Script_Nabataean, 32020: Script_Palmyrene, 32020: Script_PauCinHau, 32020: Script_OldPermic, 32020: Script_PsalterPahlavi, 32020: Script_Siddham, 32020: Script_Khudawadi, 32020: Script_Tirhuta, 32020: Script_WarangCiti, 32020: 32020: 32020: Script_Ahom, 32020: Script_AnatolianHieroglyphs, 32020: Script_Hatran, 32020: Script_Multani, 32020: Script_OldHungarian, 32020: Script_SignWriting, 32020: 32020: 32020: Script_Adlam, 32020: Script_Bhaiksuki, 32020: Script_Marchen, 32020: Script_Newa, 32020: Script_Osage, 32020: Script_Tangut, 32020: 32020: 32020: Script_MasaramGondi, 32020: Script_Nushu, 32020: Script_Soyombo, 32020: Script_ZanabazarSquare, 32020: 32020: 32020: Script_Dogra, 32020: Script_GunjalaGondi, 32020: Script_HanifiRohingya, 32020: Script_Makasar, 32020: Script_Medefaidrin, 32020: Script_OldSogdian, 32020: Script_Sogdian, 32020: Script_Elymaic, 32020: Script_Nandinagari, 32020: Script_NyiakengPuachueHmong, 32020: Script_Wancho, 32020: 32020: 32020: Script_Chorasmian, 32020: Script_DivesAkuru, 32020: Script_KhitanSmallScript, 32020: Script_Yezidi, 32020: 32020: ScriptCount 32020: }; 32020: 32020: enum Direction 32020: { 32020: DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, 32020: DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN, 32020: DirLRI, DirRLI, DirFSI, DirPDI 32020: }; 32020: 32020: enum Decomposition 32020: { 32020: NoDecomposition, 32020: Canonical, 32020: Font, 32020: NoBreak, 32020: Initial, 32020: Medial, 32020: Final, 32020: Isolated, 32020: Circle, 32020: Super, 32020: Sub, 32020: Vertical, 32020: Wide, 32020: Narrow, 32020: Small, 32020: Square, 32020: Compat, 32020: Fraction 32020: }; 32020: 32020: enum JoiningType { 32020: Joining_None, 32020: Joining_Causing, 32020: Joining_Dual, 32020: Joining_Right, 32020: Joining_Left, 32020: Joining_Transparent 32020: }; 32020: 32020: 32020: enum Joining 32020: { 32020: OtherJoining, Dual, Right, Center 32020: }; 32020: 32020: 32020: enum CombiningClass 32020: { 32020: Combining_BelowLeftAttached = 200, 32020: Combining_BelowAttached = 202, 32020: Combining_BelowRightAttached = 204, 32020: Combining_LeftAttached = 208, 32020: Combining_RightAttached = 210, 32020: Combining_AboveLeftAttached = 212, 32020: Combining_AboveAttached = 214, 32020: Combining_AboveRightAttached = 216, 32020: 32020: Combining_BelowLeft = 218, 32020: Combining_Below = 220, 32020: Combining_BelowRight = 222, 32020: Combining_Left = 224, 32020: Combining_Right = 226, 32020: Combining_AboveLeft = 228, 32020: Combining_Above = 230, 32020: Combining_AboveRight = 232, 32020: 32020: Combining_DoubleBelow = 233, 32020: Combining_DoubleAbove = 234, 32020: Combining_IotaSubscript = 240 32020: }; 32020: 32020: enum UnicodeVersion { 32020: Unicode_Unassigned, 32020: Unicode_1_1, 32020: Unicode_2_0, 32020: Unicode_2_1_2, 32020: Unicode_3_0, 32020: Unicode_3_1, 32020: Unicode_3_2, 32020: Unicode_4_0, 32020: Unicode_4_1, 32020: Unicode_5_0, 32020: Unicode_5_1, 32020: Unicode_5_2, 32020: Unicode_6_0, 32020: Unicode_6_1, 32020: Unicode_6_2, 32020: Unicode_6_3, 32020: Unicode_7_0, 32020: Unicode_8_0, 32020: Unicode_9_0, 32020: Unicode_10_0, 32020: Unicode_11_0, 32020: Unicode_12_0, 32020: Unicode_12_1, 32020: Unicode_13_0 32020: }; 32020: 32020: 32020: inline Category category() const noexcept { return QChar::category(ucs); } 32020: inline Direction direction() const noexcept { return QChar::direction(ucs); } 32020: inline JoiningType joiningType() const noexcept { return QChar::joiningType(ucs); } 32020: 32020: __attribute__ ((__deprecated__)) inline Joining joining() const noexcept 32020: { 32020: switch (QChar::joiningType(ucs)) { 32020: case QChar::Joining_Causing: return QChar::Center; 32020: case QChar::Joining_Dual: return QChar::Dual; 32020: case QChar::Joining_Right: return QChar::Right; 32020: case QChar::Joining_None: 32020: case QChar::Joining_Left: 32020: case QChar::Joining_Transparent: 32020: default: return QChar::OtherJoining; 32020: } 32020: } 32020: 32020: inline unsigned char combiningClass() const noexcept { return QChar::combiningClass(ucs); } 32020: 32020: inline QChar mirroredChar() const noexcept { return QChar(QChar::mirroredChar(ucs)); } 32020: inline bool hasMirrored() const noexcept { return QChar::hasMirrored(ucs); } 32020: 32020: QString decomposition() const; 32020: inline Decomposition decompositionTag() const noexcept { return QChar::decompositionTag(ucs); } 32020: 32020: inline int digitValue() const noexcept { return QChar::digitValue(ucs); } 32020: inline QChar toLower() const noexcept { return QChar(QChar::toLower(ucs)); } 32020: inline QChar toUpper() const noexcept { return QChar(QChar::toUpper(ucs)); } 32020: inline QChar toTitleCase() const noexcept { return QChar(QChar::toTitleCase(ucs)); } 32020: inline QChar toCaseFolded() const noexcept { return QChar(QChar::toCaseFolded(ucs)); } 32020: 32020: inline Script script() const noexcept { return QChar::script(ucs); } 32020: 32020: inline UnicodeVersion unicodeVersion() const noexcept { return QChar::unicodeVersion(ucs); } 32020: 32020: 32020: 32020: 32020: constexpr inline char toLatin1() const noexcept { return ucs > 0xff ? '\0' : char(ucs); } 32020: constexpr inline ushort unicode() const noexcept { return ucs; } 32020: constexpr inline ushort &unicode() noexcept { return ucs; } 32020: 32020: 32020: 32020: 32020: 32020: static constexpr inline QChar fromLatin1(char c) noexcept { return QChar(ushort(uchar(c))); } 32020: 32020: constexpr inline bool isNull() const noexcept { return ucs == 0; } 32020: 32020: inline bool isPrint() const noexcept { return QChar::isPrint(ucs); } 32020: constexpr inline bool isSpace() const noexcept { return QChar::isSpace(ucs); } 32020: inline bool isMark() const noexcept { return QChar::isMark(ucs); } 32020: inline bool isPunct() const noexcept { return QChar::isPunct(ucs); } 32020: inline bool isSymbol() const noexcept { return QChar::isSymbol(ucs); } 32020: constexpr inline bool isLetter() const noexcept { return QChar::isLetter(ucs); } 32020: constexpr inline bool isNumber() const noexcept { return QChar::isNumber(ucs); } 32020: constexpr inline bool isLetterOrNumber() const noexcept { return QChar::isLetterOrNumber(ucs); } 32020: constexpr inline bool isDigit() const noexcept { return QChar::isDigit(ucs); } 32020: constexpr inline bool isLower() const noexcept { return QChar::isLower(ucs); } 32020: constexpr inline bool isUpper() const noexcept { return QChar::isUpper(ucs); } 32020: constexpr inline bool isTitleCase() const noexcept { return QChar::isTitleCase(ucs); } 32020: 32020: constexpr inline bool isNonCharacter() const noexcept { return QChar::isNonCharacter(ucs); } 32020: constexpr inline bool isHighSurrogate() const noexcept { return QChar::isHighSurrogate(ucs); } 32020: constexpr inline bool isLowSurrogate() const noexcept { return QChar::isLowSurrogate(ucs); } 32020: constexpr inline bool isSurrogate() const noexcept { return QChar::isSurrogate(ucs); } 32020: 32020: constexpr inline uchar cell() const noexcept { return uchar(ucs & 0xff); } 32020: constexpr inline uchar row() const noexcept { return uchar((ucs>>8)&0xff); } 32020: constexpr inline void setCell(uchar acell) noexcept { ucs = ushort((ucs & 0xff00) + acell); } 32020: constexpr inline void setRow(uchar arow) noexcept { ucs = ushort((ushort(arow)<<8) + (ucs&0xff)); } 32020: 32020: static constexpr inline bool isNonCharacter(uint ucs4) noexcept 32020: { 32020: return ucs4 >= 0xfdd0 && (ucs4 <= 0xfdef || (ucs4 & 0xfffe) == 0xfffe); 32020: } 32020: static constexpr inline bool isHighSurrogate(uint ucs4) noexcept 32020: { 32020: return ((ucs4 & 0xfffffc00) == 0xd800); 32020: } 32020: static constexpr inline bool isLowSurrogate(uint ucs4) noexcept 32020: { 32020: return ((ucs4 & 0xfffffc00) == 0xdc00); 32020: } 32020: static constexpr inline bool isSurrogate(uint ucs4) noexcept 32020: { 32020: return (ucs4 - 0xd800u < 2048u); 32020: } 32020: static constexpr inline bool requiresSurrogates(uint ucs4) noexcept 32020: { 32020: return (ucs4 >= 0x10000); 32020: } 32020: static constexpr inline uint surrogateToUcs4(ushort high, ushort low) noexcept 32020: { 32020: return (uint(high)<<10) + low - 0x35fdc00; 32020: } 32020: static constexpr inline uint surrogateToUcs4(QChar high, QChar low) noexcept 32020: { 32020: return surrogateToUcs4(high.ucs, low.ucs); 32020: } 32020: static constexpr inline ushort highSurrogate(uint ucs4) noexcept 32020: { 32020: return ushort((ucs4>>10) + 0xd7c0); 32020: } 32020: static constexpr inline ushort lowSurrogate(uint ucs4) noexcept 32020: { 32020: return ushort(ucs4%0x400 + 0xdc00); 32020: } 32020: 32020: static Category category(uint ucs4) noexcept __attribute__((const)); 32020: static Direction direction(uint ucs4) noexcept __attribute__((const)); 32020: static JoiningType joiningType(uint ucs4) noexcept __attribute__((const)); 32020: 32020: __attribute__ ((__deprecated__)) static Joining joining(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static unsigned char combiningClass(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static uint mirroredChar(uint ucs4) noexcept __attribute__((const)); 32020: static bool hasMirrored(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static QString decomposition(uint ucs4); 32020: static Decomposition decompositionTag(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static int digitValue(uint ucs4) noexcept __attribute__((const)); 32020: static uint toLower(uint ucs4) noexcept __attribute__((const)); 32020: static uint toUpper(uint ucs4) noexcept __attribute__((const)); 32020: static uint toTitleCase(uint ucs4) noexcept __attribute__((const)); 32020: static uint toCaseFolded(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static Script script(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static UnicodeVersion unicodeVersion(uint ucs4) noexcept __attribute__((const)); 32020: 32020: static UnicodeVersion currentUnicodeVersion() noexcept __attribute__((const)); 32020: 32020: static bool isPrint(uint ucs4) noexcept __attribute__((const)); 32020: static constexpr inline bool isSpace(uint ucs4) noexcept __attribute__((const)) 32020: { 32020: 32020: return ucs4 == 0x20 || (ucs4 <= 0x0d && ucs4 >= 0x09) 32020: || (ucs4 > 127 && (ucs4 == 0x85 || ucs4 == 0xa0 || QChar::isSpace_helper(ucs4))); 32020: } 32020: static bool isMark(uint ucs4) noexcept __attribute__((const)); 32020: static bool isPunct(uint ucs4) noexcept __attribute__((const)); 32020: static bool isSymbol(uint ucs4) noexcept __attribute__((const)); 32020: static constexpr inline bool isLetter(uint ucs4) noexcept __attribute__((const)) 32020: { 32020: return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z')) 32020: || (ucs4 > 127 && QChar::isLetter_helper(ucs4)); 32020: } 32020: static constexpr inline bool isNumber(uint ucs4) noexcept __attribute__((const)) 32020: { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::isNumber_helper(ucs4)); } 32020: static constexpr inline bool isLetterOrNumber(uint ucs4) noexcept __attribute__((const)) 32020: { 32020: return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z')) 32020: || (ucs4 >= '0' && ucs4 <= '9') 32020: || (ucs4 > 127 && QChar::isLetterOrNumber_helper(ucs4)); 32020: } 32020: static constexpr inline bool isDigit(uint ucs4) noexcept __attribute__((const)) 32020: { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::category(ucs4) == Number_DecimalDigit); } 32020: static constexpr inline bool isLower(uint ucs4) noexcept __attribute__((const)) 32020: { return (ucs4 <= 'z' && ucs4 >= 'a') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Lowercase); } 32020: static constexpr inline bool isUpper(uint ucs4) noexcept __attribute__((const)) 32020: { return (ucs4 <= 'Z' && ucs4 >= 'A') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Uppercase); } 32020: static constexpr inline bool isTitleCase(uint ucs4) noexcept __attribute__((const)) 32020: { return ucs4 > 127 && QChar::category(ucs4) == Letter_Titlecase; } 32020: 32020: private: 32020: static bool isSpace_helper(uint ucs4) noexcept __attribute__((const)); 32020: static bool isLetter_helper(uint ucs4) noexcept __attribute__((const)); 32020: static bool isNumber_helper(uint ucs4) noexcept __attribute__((const)); 32020: static bool isLetterOrNumber_helper(uint ucs4) noexcept __attribute__((const)); 32020: 32020: 32020: 32020: 32020: 32020: 32020: friend constexpr bool operator==(QChar, QChar) noexcept; 32020: friend constexpr bool operator< (QChar, QChar) noexcept; 32020: ushort ucs; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: constexpr inline bool operator==(QChar c1, QChar c2) noexcept { return c1.ucs == c2.ucs; } 32020: constexpr inline bool operator< (QChar c1, QChar c2) noexcept { return c1.ucs < c2.ucs; } 32020: 32020: constexpr inline bool operator!=(QChar c1, QChar c2) noexcept { return !operator==(c1, c2); } 32020: constexpr inline bool operator>=(QChar c1, QChar c2) noexcept { return !operator< (c1, c2); } 32020: constexpr inline bool operator> (QChar c1, QChar c2) noexcept { return operator< (c2, c1); } 32020: constexpr inline bool operator<=(QChar c1, QChar c2) noexcept { return !operator< (c2, c1); } 32020: 32020: 32020: constexpr inline bool operator==(QChar lhs, std::nullptr_t) noexcept { return lhs.isNull(); } 32020: constexpr inline bool operator< (QChar, std::nullptr_t) noexcept { return false; } 32020: constexpr inline bool operator==(std::nullptr_t, QChar rhs) noexcept { return rhs.isNull(); } 32020: constexpr inline bool operator< (std::nullptr_t, QChar rhs) noexcept { return !rhs.isNull(); } 32020: 32020: constexpr inline bool operator!=(QChar lhs, std::nullptr_t) noexcept { return !operator==(lhs, nullptr); } 32020: constexpr inline bool operator>=(QChar lhs, std::nullptr_t) noexcept { return !operator< (lhs, nullptr); } 32020: constexpr inline bool operator> (QChar lhs, std::nullptr_t) noexcept { return operator< (nullptr, lhs); } 32020: constexpr inline bool operator<=(QChar lhs, std::nullptr_t) noexcept { return !operator< (nullptr, lhs); } 32020: 32020: constexpr inline bool operator!=(std::nullptr_t, QChar rhs) noexcept { return !operator==(nullptr, rhs); } 32020: constexpr inline bool operator>=(std::nullptr_t, QChar rhs) noexcept { return !operator< (nullptr, rhs); } 32020: constexpr inline bool operator> (std::nullptr_t, QChar rhs) noexcept { return operator< (rhs, nullptr); } 32020: constexpr inline bool operator<=(std::nullptr_t, QChar rhs) noexcept { return !operator< (rhs, nullptr); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, QChar); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QChar &); 32020: 32020: 32020: 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 1 3 4 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 2 3 4 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/stdarg.h" 1 3 4 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/iterator" 1 3 4 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/iterator" 3 4 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/iterator" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stream_iterator.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stream_iterator.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stream_iterator.h" 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template, typename _Dist = ptrdiff_t> 32020: class istream_iterator 32020: : public iterator 32020: { 32020: public: 32020: typedef _CharT char_type; 32020: typedef _Traits traits_type; 32020: typedef basic_istream<_CharT, _Traits> istream_type; 32020: 32020: private: 32020: istream_type* _M_stream; 32020: _Tp _M_value; 32020: 32020: 32020: 32020: bool _M_ok; 32020: 32020: public: 32020: 32020: constexpr istream_iterator() 32020: : _M_stream(0), _M_value(), _M_ok(false) {} 32020: 32020: 32020: istream_iterator(istream_type& __s) 32020: : _M_stream(std::__addressof(__s)), _M_ok(true) 32020: { _M_read(); } 32020: 32020: istream_iterator(const istream_iterator& __obj) 32020: : _M_stream(__obj._M_stream), _M_value(__obj._M_value), 32020: _M_ok(__obj._M_ok) 32020: { } 32020: # 88 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stream_iterator.h" 3 32020: istream_iterator& operator=(const istream_iterator&) = default; 32020: ~istream_iterator() = default; 32020: 32020: 32020: const _Tp& 32020: operator*() const 32020: { 32020: 32020: 32020: ; 32020: return _M_value; 32020: } 32020: 32020: const _Tp* 32020: operator->() const { return std::__addressof((operator*())); } 32020: 32020: istream_iterator& 32020: operator++() 32020: { 32020: 32020: 32020: ; 32020: _M_read(); 32020: return *this; 32020: } 32020: 32020: istream_iterator 32020: operator++(int) 32020: { 32020: 32020: 32020: ; 32020: istream_iterator __tmp = *this; 32020: _M_read(); 32020: return __tmp; 32020: } 32020: 32020: private: 32020: bool 32020: _M_equal(const istream_iterator& __x) const 32020: { 32020: 32020: 32020: return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); 32020: } 32020: 32020: void 32020: _M_read() 32020: { 32020: if (_M_stream && !(*_M_stream >> _M_value)) 32020: { 32020: _M_stream = 0; 32020: _M_ok = false; 32020: } 32020: } 32020: 32020: 32020: 32020: friend bool 32020: operator==(const istream_iterator& __x, const istream_iterator& __y) 32020: { return __x._M_equal(__y); } 32020: 32020: 32020: 32020: friend bool 32020: operator!=(const istream_iterator& __x, const istream_iterator& __y) 32020: { return !__x._M_equal(__y); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: }; 32020: # 174 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stream_iterator.h" 3 32020: template > 32020: class ostream_iterator 32020: : public iterator 32020: { 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: typedef _CharT char_type; 32020: typedef _Traits traits_type; 32020: typedef basic_ostream<_CharT, _Traits> ostream_type; 32020: 32020: 32020: private: 32020: ostream_type* _M_stream; 32020: const _CharT* _M_string; 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ostream_iterator(ostream_type& __s) 32020: : _M_stream(std::__addressof(__s)), _M_string(0) {} 32020: # 214 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stream_iterator.h" 3 32020: ostream_iterator(ostream_type& __s, const _CharT* __c) 32020: : _M_stream(std::__addressof(__s)), _M_string(__c) { } 32020: 32020: 32020: ostream_iterator(const ostream_iterator& __obj) 32020: : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } 32020: 32020: 32020: ostream_iterator& operator=(const ostream_iterator&) = default; 32020: 32020: 32020: 32020: 32020: ostream_iterator& 32020: operator=(const _Tp& __value) 32020: { 32020: 32020: 32020: ; 32020: *_M_stream << __value; 32020: if (_M_string) 32020: *_M_stream << _M_string; 32020: return *this; 32020: } 32020: 32020: ostream_iterator& 32020: operator*() 32020: { return *this; } 32020: 32020: ostream_iterator& 32020: operator++() 32020: { return *this; } 32020: 32020: ostream_iterator& 32020: operator++(int) 32020: { return *this; } 32020: }; 32020: 32020: 32020: 32020: 32020: } 32020: # 66 "/usr/arm-linux-gnueabihf/include/c++/10/iterator" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: class locale 32020: { 32020: public: 32020: 32020: 32020: typedef int category; 32020: 32020: 32020: class facet; 32020: class id; 32020: class _Impl; 32020: 32020: friend class facet; 32020: friend class _Impl; 32020: 32020: template 32020: friend bool 32020: has_facet(const locale&) throw(); 32020: 32020: template 32020: friend const _Facet& 32020: use_facet(const locale&); 32020: 32020: template 32020: friend struct __use_cache; 32020: # 98 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: static const category none = 0; 32020: static const category ctype = 1L << 0; 32020: static const category numeric = 1L << 1; 32020: static const category collate = 1L << 2; 32020: static const category time = 1L << 3; 32020: static const category monetary = 1L << 4; 32020: static const category messages = 1L << 5; 32020: static const category all = (ctype | numeric | collate | 32020: time | monetary | messages); 32020: # 117 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: locale() throw(); 32020: # 126 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: locale(const locale& __other) throw(); 32020: # 136 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: explicit 32020: locale(const char* __s); 32020: # 151 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: locale(const locale& __base, const char* __s, category __cat); 32020: # 162 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: explicit 32020: locale(const std::string& __s) : locale(__s.c_str()) { } 32020: # 177 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: locale(const locale& __base, const std::string& __s, category __cat) 32020: : locale(__base, __s.c_str(), __cat) { } 32020: # 192 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: locale(const locale& __base, const locale& __add, category __cat); 32020: # 205 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: template 32020: locale(const locale& __other, _Facet* __f); 32020: 32020: 32020: ~locale() throw(); 32020: # 219 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: const locale& 32020: operator=(const locale& __other) throw(); 32020: # 234 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: template 32020: locale 32020: combine(const locale& __other) const; 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: string 32020: name() const; 32020: # 254 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: bool 32020: operator==(const locale& __other) const throw(); 32020: # 264 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: bool 32020: operator!=(const locale& __other) const throw() 32020: { return !(this->operator==(__other)); } 32020: # 284 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: template 32020: bool 32020: operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, 32020: const basic_string<_Char, _Traits, _Alloc>& __s2) const; 32020: # 300 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: static locale 32020: global(const locale& __loc); 32020: 32020: 32020: 32020: 32020: static const locale& 32020: classic(); 32020: 32020: private: 32020: 32020: _Impl* _M_impl; 32020: 32020: 32020: static _Impl* _S_classic; 32020: 32020: 32020: static _Impl* _S_global; 32020: 32020: 32020: 32020: 32020: 32020: static const char* const* const _S_categories; 32020: # 335 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: enum { _S_categories_size = 6 + 6 }; 32020: 32020: 32020: static __gthread_once_t _S_once; 32020: 32020: 32020: explicit 32020: locale(_Impl*) throw(); 32020: 32020: static void 32020: _S_initialize(); 32020: 32020: static void 32020: _S_initialize_once() throw(); 32020: 32020: static category 32020: _S_normalize_category(category); 32020: 32020: void 32020: _M_coalesce(const locale& __base, const locale& __add, category __cat); 32020: 32020: 32020: static const id* const _S_twinned_facets[]; 32020: 32020: }; 32020: # 373 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: class locale::facet 32020: { 32020: private: 32020: friend class locale; 32020: friend class locale::_Impl; 32020: 32020: mutable _Atomic_word _M_refcount; 32020: 32020: 32020: static __c_locale _S_c_locale; 32020: 32020: 32020: static const char _S_c_name[2]; 32020: 32020: 32020: static __gthread_once_t _S_once; 32020: 32020: 32020: static void 32020: _S_initialize_once(); 32020: 32020: protected: 32020: # 404 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: explicit 32020: facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) 32020: { } 32020: 32020: 32020: virtual 32020: ~facet(); 32020: 32020: static void 32020: _S_create_c_locale(__c_locale& __cloc, const char* __s, 32020: __c_locale __old = 0); 32020: 32020: static __c_locale 32020: _S_clone_c_locale(__c_locale& __cloc) throw(); 32020: 32020: static void 32020: _S_destroy_c_locale(__c_locale& __cloc); 32020: 32020: static __c_locale 32020: _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); 32020: 32020: 32020: 32020: static __c_locale 32020: _S_get_c_locale(); 32020: 32020: __attribute__ ((__const__)) static const char* 32020: _S_get_c_name() throw(); 32020: # 440 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: facet(const facet&) = delete; 32020: 32020: facet& 32020: operator=(const facet&) = delete; 32020: 32020: 32020: private: 32020: void 32020: _M_add_reference() const throw() 32020: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 32020: 32020: void 32020: _M_remove_reference() const throw() 32020: { 32020: 32020: ; 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 32020: { 32020: ; 32020: try 32020: { delete this; } 32020: catch(...) 32020: { } 32020: } 32020: } 32020: 32020: const facet* _M_sso_shim(const id*) const; 32020: const facet* _M_cow_shim(const id*) const; 32020: 32020: protected: 32020: class __shim; 32020: }; 32020: # 485 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: class locale::id 32020: { 32020: private: 32020: friend class locale; 32020: friend class locale::_Impl; 32020: 32020: template 32020: friend const _Facet& 32020: use_facet(const locale&); 32020: 32020: template 32020: friend bool 32020: has_facet(const locale&) throw(); 32020: 32020: 32020: 32020: 32020: mutable size_t _M_index; 32020: 32020: 32020: static _Atomic_word _S_refcount; 32020: 32020: void 32020: operator=(const id&); 32020: 32020: id(const id&); 32020: 32020: public: 32020: 32020: 32020: 32020: id() { } 32020: 32020: size_t 32020: _M_id() const throw(); 32020: }; 32020: 32020: 32020: 32020: class locale::_Impl 32020: { 32020: public: 32020: 32020: friend class locale; 32020: friend class locale::facet; 32020: 32020: template 32020: friend bool 32020: has_facet(const locale&) throw(); 32020: 32020: template 32020: friend const _Facet& 32020: use_facet(const locale&); 32020: 32020: template 32020: friend struct __use_cache; 32020: 32020: private: 32020: 32020: _Atomic_word _M_refcount; 32020: const facet** _M_facets; 32020: size_t _M_facets_size; 32020: const facet** _M_caches; 32020: char** _M_names; 32020: static const locale::id* const _S_id_ctype[]; 32020: static const locale::id* const _S_id_numeric[]; 32020: static const locale::id* const _S_id_collate[]; 32020: static const locale::id* const _S_id_time[]; 32020: static const locale::id* const _S_id_monetary[]; 32020: static const locale::id* const _S_id_messages[]; 32020: static const locale::id* const* const _S_facet_categories[]; 32020: 32020: void 32020: _M_add_reference() throw() 32020: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 32020: 32020: void 32020: _M_remove_reference() throw() 32020: { 32020: 32020: ; 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 32020: { 32020: ; 32020: try 32020: { delete this; } 32020: catch(...) 32020: { } 32020: } 32020: } 32020: 32020: _Impl(const _Impl&, size_t); 32020: _Impl(const char*, size_t); 32020: _Impl(size_t) throw(); 32020: 32020: ~_Impl() throw(); 32020: 32020: _Impl(const _Impl&); 32020: 32020: void 32020: operator=(const _Impl&); 32020: 32020: bool 32020: _M_check_same_name() 32020: { 32020: bool __ret = true; 32020: if (_M_names[1]) 32020: 32020: for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) 32020: __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; 32020: return __ret; 32020: } 32020: 32020: void 32020: _M_replace_categories(const _Impl*, category); 32020: 32020: void 32020: _M_replace_category(const _Impl*, const locale::id* const*); 32020: 32020: void 32020: _M_replace_facet(const _Impl*, const locale::id*); 32020: 32020: void 32020: _M_install_facet(const locale::id*, const facet*); 32020: 32020: template 32020: void 32020: _M_init_facet(_Facet* __facet) 32020: { _M_install_facet(&_Facet::id, __facet); } 32020: 32020: template 32020: void 32020: _M_init_facet_unchecked(_Facet* __facet) 32020: { 32020: __facet->_M_add_reference(); 32020: _M_facets[_Facet::id._M_id()] = __facet; 32020: } 32020: 32020: void 32020: _M_install_cache(const facet*, size_t); 32020: 32020: void _M_init_extra(facet**); 32020: void _M_init_extra(void*, void*, const char*, const char*); 32020: }; 32020: # 643 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: template 32020: class __cxx11:: collate : public locale::facet 32020: { 32020: public: 32020: 32020: 32020: 32020: typedef _CharT char_type; 32020: typedef basic_string<_CharT> string_type; 32020: 32020: 32020: protected: 32020: 32020: 32020: __c_locale _M_c_locale_collate; 32020: 32020: public: 32020: 32020: static locale::id id; 32020: # 670 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: explicit 32020: collate(size_t __refs = 0) 32020: : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) 32020: { } 32020: # 684 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: explicit 32020: collate(__c_locale __cloc, size_t __refs = 0) 32020: : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) 32020: { } 32020: # 701 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: int 32020: compare(const _CharT* __lo1, const _CharT* __hi1, 32020: const _CharT* __lo2, const _CharT* __hi2) const 32020: { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } 32020: # 720 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: string_type 32020: transform(const _CharT* __lo, const _CharT* __hi) const 32020: { return this->do_transform(__lo, __hi); } 32020: # 734 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: long 32020: hash(const _CharT* __lo, const _CharT* __hi) const 32020: { return this->do_hash(__lo, __hi); } 32020: 32020: 32020: int 32020: _M_compare(const _CharT*, const _CharT*) const throw(); 32020: 32020: size_t 32020: _M_transform(_CharT*, const _CharT*, size_t) const throw(); 32020: 32020: protected: 32020: 32020: virtual 32020: ~collate() 32020: { _S_destroy_c_locale(_M_c_locale_collate); } 32020: # 763 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: virtual int 32020: do_compare(const _CharT* __lo1, const _CharT* __hi1, 32020: const _CharT* __lo2, const _CharT* __hi2) const; 32020: # 777 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: virtual string_type 32020: do_transform(const _CharT* __lo, const _CharT* __hi) const; 32020: # 790 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 3 32020: virtual long 32020: do_hash(const _CharT* __lo, const _CharT* __hi) const; 32020: }; 32020: 32020: template 32020: locale::id collate<_CharT>::id; 32020: 32020: 32020: template<> 32020: int 32020: collate::_M_compare(const char*, const char*) const throw(); 32020: 32020: template<> 32020: size_t 32020: collate::_M_transform(char*, const char*, size_t) const throw(); 32020: 32020: 32020: template<> 32020: int 32020: collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); 32020: 32020: template<> 32020: size_t 32020: collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); 32020: 32020: 32020: 32020: template 32020: class __cxx11:: collate_byname : public collate<_CharT> 32020: { 32020: public: 32020: 32020: 32020: typedef _CharT char_type; 32020: typedef basic_string<_CharT> string_type; 32020: 32020: 32020: explicit 32020: collate_byname(const char* __s, size_t __refs = 0) 32020: : collate<_CharT>(__refs) 32020: { 32020: if (__builtin_strcmp(__s, "C") != 0 32020: && __builtin_strcmp(__s, "POSIX") != 0) 32020: { 32020: this->_S_destroy_c_locale(this->_M_c_locale_collate); 32020: this->_S_create_c_locale(this->_M_c_locale_collate, __s); 32020: } 32020: } 32020: 32020: 32020: explicit 32020: collate_byname(const string& __s, size_t __refs = 0) 32020: : collate_byname(__s.c_str(), __refs) { } 32020: 32020: 32020: protected: 32020: virtual 32020: ~collate_byname() { } 32020: }; 32020: 32020: 32020: } 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.tcc" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.tcc" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.tcc" 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: locale:: 32020: locale(const locale& __other, _Facet* __f) 32020: { 32020: _M_impl = new _Impl(*__other._M_impl, 1); 32020: 32020: try 32020: { _M_impl->_M_install_facet(&_Facet::id, __f); } 32020: catch(...) 32020: { 32020: _M_impl->_M_remove_reference(); 32020: throw; 32020: } 32020: delete [] _M_impl->_M_names[0]; 32020: _M_impl->_M_names[0] = 0; 32020: } 32020: 32020: template 32020: locale 32020: locale:: 32020: combine(const locale& __other) const 32020: { 32020: _Impl* __tmp = new _Impl(*_M_impl, 1); 32020: try 32020: { 32020: __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); 32020: } 32020: catch(...) 32020: { 32020: __tmp->_M_remove_reference(); 32020: throw; 32020: } 32020: return locale(__tmp); 32020: } 32020: 32020: template 32020: bool 32020: locale:: 32020: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, 32020: const basic_string<_CharT, _Traits, _Alloc>& __s2) const 32020: { 32020: typedef std::collate<_CharT> __collate_type; 32020: const __collate_type& __collate = use_facet<__collate_type>(*this); 32020: return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), 32020: __s2.data(), __s2.data() + __s2.length()) < 0); 32020: } 32020: # 102 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.tcc" 3 32020: template 32020: bool 32020: has_facet(const locale& __loc) throw() 32020: { 32020: const size_t __i = _Facet::id._M_id(); 32020: const locale::facet** __facets = __loc._M_impl->_M_facets; 32020: return (__i < __loc._M_impl->_M_facets_size 32020: 32020: && dynamic_cast(__facets[__i])); 32020: 32020: 32020: 32020: } 32020: # 130 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.tcc" 3 32020: template 32020: const _Facet& 32020: use_facet(const locale& __loc) 32020: { 32020: const size_t __i = _Facet::id._M_id(); 32020: const locale::facet** __facets = __loc._M_impl->_M_facets; 32020: if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) 32020: __throw_bad_cast(); 32020: 32020: return dynamic_cast(*__facets[__i]); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: template 32020: int 32020: collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () 32020: { return 0; } 32020: 32020: 32020: template 32020: size_t 32020: collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () 32020: { return 0; } 32020: 32020: template 32020: int 32020: collate<_CharT>:: 32020: do_compare(const _CharT* __lo1, const _CharT* __hi1, 32020: const _CharT* __lo2, const _CharT* __hi2) const 32020: { 32020: 32020: 32020: const string_type __one(__lo1, __hi1); 32020: const string_type __two(__lo2, __hi2); 32020: 32020: const _CharT* __p = __one.c_str(); 32020: const _CharT* __pend = __one.data() + __one.length(); 32020: const _CharT* __q = __two.c_str(); 32020: const _CharT* __qend = __two.data() + __two.length(); 32020: 32020: 32020: 32020: 32020: for (;;) 32020: { 32020: const int __res = _M_compare(__p, __q); 32020: if (__res) 32020: return __res; 32020: 32020: __p += char_traits<_CharT>::length(__p); 32020: __q += char_traits<_CharT>::length(__q); 32020: if (__p == __pend && __q == __qend) 32020: return 0; 32020: else if (__p == __pend) 32020: return -1; 32020: else if (__q == __qend) 32020: return 1; 32020: 32020: __p++; 32020: __q++; 32020: } 32020: } 32020: 32020: template 32020: typename collate<_CharT>::string_type 32020: collate<_CharT>:: 32020: do_transform(const _CharT* __lo, const _CharT* __hi) const 32020: { 32020: string_type __ret; 32020: 32020: 32020: const string_type __str(__lo, __hi); 32020: 32020: const _CharT* __p = __str.c_str(); 32020: const _CharT* __pend = __str.data() + __str.length(); 32020: 32020: size_t __len = (__hi - __lo) * 2; 32020: 32020: _CharT* __c = new _CharT[__len]; 32020: 32020: try 32020: { 32020: 32020: 32020: 32020: for (;;) 32020: { 32020: 32020: size_t __res = _M_transform(__c, __p, __len); 32020: 32020: 32020: if (__res >= __len) 32020: { 32020: __len = __res + 1; 32020: delete [] __c, __c = 0; 32020: __c = new _CharT[__len]; 32020: __res = _M_transform(__c, __p, __len); 32020: } 32020: 32020: __ret.append(__c, __res); 32020: __p += char_traits<_CharT>::length(__p); 32020: if (__p == __pend) 32020: break; 32020: 32020: __p++; 32020: __ret.push_back(_CharT()); 32020: } 32020: } 32020: catch(...) 32020: { 32020: delete [] __c; 32020: throw; 32020: } 32020: 32020: delete [] __c; 32020: 32020: return __ret; 32020: } 32020: 32020: template 32020: long 32020: collate<_CharT>:: 32020: do_hash(const _CharT* __lo, const _CharT* __hi) const 32020: { 32020: unsigned long __val = 0; 32020: for (; __lo < __hi; ++__lo) 32020: __val = 32020: *__lo + ((__val << 7) 32020: | (__val >> (__gnu_cxx::__numeric_traits:: 32020: __digits - 7))); 32020: return static_cast(__val); 32020: } 32020: 32020: 32020: 32020: 32020: extern template class collate; 32020: extern template class collate_byname; 32020: 32020: extern template 32020: const collate& 32020: use_facet >(const locale&); 32020: 32020: extern template 32020: bool 32020: has_facet >(const locale&); 32020: 32020: 32020: extern template class collate; 32020: extern template class collate_byname; 32020: 32020: extern template 32020: const collate& 32020: use_facet >(const locale&); 32020: 32020: extern template 32020: bool 32020: has_facet >(const locale&); 32020: 32020: 32020: 32020: 32020: } 32020: # 854 "/usr/arm-linux-gnueabihf/include/c++/10/bits/locale_classes.h" 2 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 2 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/error_constants.h" 1 3 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/error_constants.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cerrno" 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/arm-linux-gnueabihf/bits/error_constants.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: enum class errc 32020: { 32020: address_family_not_supported = 97, 32020: address_in_use = 98, 32020: address_not_available = 99, 32020: already_connected = 106, 32020: argument_list_too_long = 7, 32020: argument_out_of_domain = 33, 32020: bad_address = 14, 32020: bad_file_descriptor = 9, 32020: 32020: 32020: bad_message = 74, 32020: 32020: 32020: broken_pipe = 32, 32020: connection_aborted = 103, 32020: connection_already_in_progress = 114, 32020: connection_refused = 111, 32020: connection_reset = 104, 32020: cross_device_link = 18, 32020: destination_address_required = 89, 32020: device_or_resource_busy = 16, 32020: directory_not_empty = 39, 32020: executable_format_error = 8, 32020: file_exists = 17, 32020: file_too_large = 27, 32020: filename_too_long = 36, 32020: function_not_supported = 38, 32020: host_unreachable = 113, 32020: 32020: 32020: identifier_removed = 43, 32020: 32020: 32020: illegal_byte_sequence = 84, 32020: inappropriate_io_control_operation = 25, 32020: interrupted = 4, 32020: invalid_argument = 22, 32020: invalid_seek = 29, 32020: io_error = 5, 32020: is_a_directory = 21, 32020: message_size = 90, 32020: network_down = 100, 32020: network_reset = 102, 32020: network_unreachable = 101, 32020: no_buffer_space = 105, 32020: no_child_process = 10, 32020: 32020: 32020: no_link = 67, 32020: 32020: 32020: no_lock_available = 37, 32020: 32020: 32020: no_message_available = 61, 32020: 32020: 32020: no_message = 42, 32020: no_protocol_option = 92, 32020: no_space_on_device = 28, 32020: 32020: 32020: no_stream_resources = 63, 32020: 32020: 32020: no_such_device_or_address = 6, 32020: no_such_device = 19, 32020: no_such_file_or_directory = 2, 32020: no_such_process = 3, 32020: not_a_directory = 20, 32020: not_a_socket = 88, 32020: 32020: 32020: not_a_stream = 60, 32020: 32020: 32020: not_connected = 107, 32020: not_enough_memory = 12, 32020: 32020: 32020: not_supported = 95, 32020: 32020: 32020: 32020: operation_canceled = 125, 32020: 32020: 32020: operation_in_progress = 115, 32020: operation_not_permitted = 1, 32020: operation_not_supported = 95, 32020: operation_would_block = 11, 32020: 32020: 32020: owner_dead = 130, 32020: 32020: 32020: permission_denied = 13, 32020: 32020: 32020: protocol_error = 71, 32020: 32020: 32020: protocol_not_supported = 93, 32020: read_only_file_system = 30, 32020: resource_deadlock_would_occur = 35, 32020: resource_unavailable_try_again = 11, 32020: result_out_of_range = 34, 32020: 32020: 32020: state_not_recoverable = 131, 32020: 32020: 32020: 32020: stream_timeout = 62, 32020: 32020: 32020: 32020: text_file_busy = 26, 32020: 32020: 32020: timed_out = 110, 32020: too_many_files_open_in_system = 23, 32020: too_many_files_open = 24, 32020: too_many_links = 31, 32020: too_many_symbolic_link_levels = 40, 32020: 32020: 32020: value_too_large = 75, 32020: 32020: 32020: wrong_protocol_type = 91 32020: }; 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/stdexcept" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/stdexcept" 3 32020: 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/stdexcept" 3 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: struct __cow_string 32020: { 32020: union { 32020: const char* _M_p; 32020: char _M_bytes[sizeof(const char*)]; 32020: }; 32020: 32020: __cow_string(); 32020: __cow_string(const std::string&); 32020: __cow_string(const char*, size_t); 32020: __cow_string(const __cow_string&) noexcept; 32020: __cow_string& operator=(const __cow_string&) noexcept; 32020: ~__cow_string(); 32020: 32020: __cow_string(__cow_string&&) noexcept; 32020: __cow_string& operator=(__cow_string&&) noexcept; 32020: 32020: }; 32020: 32020: typedef basic_string __sso_string; 32020: # 113 "/usr/arm-linux-gnueabihf/include/c++/10/stdexcept" 3 32020: class logic_error : public exception 32020: { 32020: __cow_string _M_msg; 32020: 32020: public: 32020: 32020: explicit 32020: logic_error(const string& __arg) ; 32020: 32020: 32020: explicit 32020: logic_error(const char*) ; 32020: 32020: logic_error(logic_error&&) noexcept; 32020: logic_error& operator=(logic_error&&) noexcept; 32020: 32020: 32020: 32020: logic_error(const logic_error&) noexcept; 32020: logic_error& operator=(const logic_error&) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: virtual ~logic_error() noexcept; 32020: 32020: 32020: 32020: virtual const char* 32020: what() const noexcept; 32020: 32020: 32020: 32020: 32020: 32020: }; 32020: 32020: 32020: 32020: class domain_error : public logic_error 32020: { 32020: public: 32020: explicit domain_error(const string& __arg) ; 32020: 32020: explicit domain_error(const char*) ; 32020: domain_error(const domain_error&) = default; 32020: domain_error& operator=(const domain_error&) = default; 32020: domain_error(domain_error&&) = default; 32020: domain_error& operator=(domain_error&&) = default; 32020: 32020: virtual ~domain_error() noexcept; 32020: }; 32020: 32020: 32020: class invalid_argument : public logic_error 32020: { 32020: public: 32020: explicit invalid_argument(const string& __arg) ; 32020: 32020: explicit invalid_argument(const char*) ; 32020: invalid_argument(const invalid_argument&) = default; 32020: invalid_argument& operator=(const invalid_argument&) = default; 32020: invalid_argument(invalid_argument&&) = default; 32020: invalid_argument& operator=(invalid_argument&&) = default; 32020: 32020: virtual ~invalid_argument() noexcept; 32020: }; 32020: 32020: 32020: 32020: class length_error : public logic_error 32020: { 32020: public: 32020: explicit length_error(const string& __arg) ; 32020: 32020: explicit length_error(const char*) ; 32020: length_error(const length_error&) = default; 32020: length_error& operator=(const length_error&) = default; 32020: length_error(length_error&&) = default; 32020: length_error& operator=(length_error&&) = default; 32020: 32020: virtual ~length_error() noexcept; 32020: }; 32020: 32020: 32020: 32020: class out_of_range : public logic_error 32020: { 32020: public: 32020: explicit out_of_range(const string& __arg) ; 32020: 32020: explicit out_of_range(const char*) ; 32020: out_of_range(const out_of_range&) = default; 32020: out_of_range& operator=(const out_of_range&) = default; 32020: out_of_range(out_of_range&&) = default; 32020: out_of_range& operator=(out_of_range&&) = default; 32020: 32020: virtual ~out_of_range() noexcept; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: class runtime_error : public exception 32020: { 32020: __cow_string _M_msg; 32020: 32020: public: 32020: 32020: explicit 32020: runtime_error(const string& __arg) ; 32020: 32020: 32020: explicit 32020: runtime_error(const char*) ; 32020: 32020: runtime_error(runtime_error&&) noexcept; 32020: runtime_error& operator=(runtime_error&&) noexcept; 32020: 32020: 32020: 32020: runtime_error(const runtime_error&) noexcept; 32020: runtime_error& operator=(const runtime_error&) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: virtual ~runtime_error() noexcept; 32020: 32020: 32020: 32020: virtual const char* 32020: what() const noexcept; 32020: 32020: 32020: 32020: 32020: 32020: }; 32020: 32020: 32020: class range_error : public runtime_error 32020: { 32020: public: 32020: explicit range_error(const string& __arg) ; 32020: 32020: explicit range_error(const char*) ; 32020: range_error(const range_error&) = default; 32020: range_error& operator=(const range_error&) = default; 32020: range_error(range_error&&) = default; 32020: range_error& operator=(range_error&&) = default; 32020: 32020: virtual ~range_error() noexcept; 32020: }; 32020: 32020: 32020: class overflow_error : public runtime_error 32020: { 32020: public: 32020: explicit overflow_error(const string& __arg) ; 32020: 32020: explicit overflow_error(const char*) ; 32020: overflow_error(const overflow_error&) = default; 32020: overflow_error& operator=(const overflow_error&) = default; 32020: overflow_error(overflow_error&&) = default; 32020: overflow_error& operator=(overflow_error&&) = default; 32020: 32020: virtual ~overflow_error() noexcept; 32020: }; 32020: 32020: 32020: class underflow_error : public runtime_error 32020: { 32020: public: 32020: explicit underflow_error(const string& __arg) ; 32020: 32020: explicit underflow_error(const char*) ; 32020: underflow_error(const underflow_error&) = default; 32020: underflow_error& operator=(const underflow_error&) = default; 32020: underflow_error(underflow_error&&) = default; 32020: underflow_error& operator=(underflow_error&&) = default; 32020: 32020: virtual ~underflow_error() noexcept; 32020: }; 32020: 32020: 32020: 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 2 3 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: class error_code; 32020: class error_condition; 32020: class system_error; 32020: 32020: 32020: template 32020: struct is_error_code_enum : public false_type { }; 32020: 32020: 32020: template 32020: struct is_error_condition_enum : public false_type { }; 32020: 32020: template<> 32020: struct is_error_condition_enum 32020: : public true_type { }; 32020: 32020: 32020: template 32020: inline constexpr bool is_error_code_enum_v = 32020: is_error_code_enum<_Tp>::value; 32020: template 32020: inline constexpr bool is_error_condition_enum_v = 32020: is_error_condition_enum<_Tp>::value; 32020: 32020: inline namespace _V2 { 32020: # 89 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: class error_category 32020: { 32020: public: 32020: constexpr error_category() noexcept = default; 32020: 32020: virtual ~error_category(); 32020: 32020: error_category(const error_category&) = delete; 32020: error_category& operator=(const error_category&) = delete; 32020: 32020: virtual const char* 32020: name() const noexcept = 0; 32020: 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: virtual __cow_string 32020: _M_message(int) const; 32020: 32020: public: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: virtual string 32020: message(int) const = 0; 32020: # 125 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: public: 32020: virtual error_condition 32020: default_error_condition(int __i) const noexcept; 32020: 32020: virtual bool 32020: equivalent(int __i, const error_condition& __cond) const noexcept; 32020: 32020: virtual bool 32020: equivalent(const error_code& __code, int __i) const noexcept; 32020: 32020: bool 32020: operator==(const error_category& __other) const noexcept 32020: { return this == &__other; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: bool 32020: operator!=(const error_category& __other) const noexcept 32020: { return this != &__other; } 32020: 32020: bool 32020: operator<(const error_category& __other) const noexcept 32020: { return less()(this, &__other); } 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: __attribute__ ((__const__)) const error_category& generic_category() noexcept; 32020: 32020: 32020: __attribute__ ((__const__)) const error_category& system_category() noexcept; 32020: 32020: } 32020: 32020: error_code make_error_code(errc) noexcept; 32020: # 180 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: struct error_code 32020: { 32020: error_code() noexcept 32020: : _M_value(0), _M_cat(&system_category()) { } 32020: 32020: error_code(int __v, const error_category& __cat) noexcept 32020: : _M_value(__v), _M_cat(&__cat) { } 32020: 32020: template::value>::type> 32020: error_code(_ErrorCodeEnum __e) noexcept 32020: { *this = make_error_code(__e); } 32020: 32020: void 32020: assign(int __v, const error_category& __cat) noexcept 32020: { 32020: _M_value = __v; 32020: _M_cat = &__cat; 32020: } 32020: 32020: void 32020: clear() noexcept 32020: { assign(0, system_category()); } 32020: 32020: 32020: template 32020: typename enable_if::value, 32020: error_code&>::type 32020: operator=(_ErrorCodeEnum __e) noexcept 32020: { return *this = make_error_code(__e); } 32020: 32020: int 32020: value() const noexcept { return _M_value; } 32020: 32020: const error_category& 32020: category() const noexcept { return *_M_cat; } 32020: 32020: error_condition 32020: default_error_condition() const noexcept; 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: string 32020: message() const 32020: { return category().message(value()); } 32020: 32020: explicit operator bool() const noexcept 32020: { return _M_value != 0; } 32020: 32020: 32020: private: 32020: int _M_value; 32020: const error_category* _M_cat; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: inline error_code 32020: make_error_code(errc __e) noexcept 32020: { return error_code(static_cast(__e), generic_category()); } 32020: # 251 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: inline bool 32020: operator<(const error_code& __lhs, const error_code& __rhs) noexcept 32020: { 32020: return (__lhs.category() < __rhs.category() 32020: || (__lhs.category() == __rhs.category() 32020: && __lhs.value() < __rhs.value())); 32020: } 32020: 32020: 32020: template 32020: basic_ostream<_CharT, _Traits>& 32020: operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) 32020: { return (__os << __e.category().name() << ':' << __e.value()); } 32020: 32020: 32020: 32020: error_condition make_error_condition(errc) noexcept; 32020: # 278 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: struct error_condition 32020: { 32020: error_condition() noexcept 32020: : _M_value(0), _M_cat(&generic_category()) { } 32020: 32020: error_condition(int __v, const error_category& __cat) noexcept 32020: : _M_value(__v), _M_cat(&__cat) { } 32020: 32020: template::value>::type> 32020: error_condition(_ErrorConditionEnum __e) noexcept 32020: { *this = make_error_condition(__e); } 32020: 32020: void 32020: assign(int __v, const error_category& __cat) noexcept 32020: { 32020: _M_value = __v; 32020: _M_cat = &__cat; 32020: } 32020: 32020: 32020: template 32020: typename enable_if::value, error_condition&>::type 32020: operator=(_ErrorConditionEnum __e) noexcept 32020: { return *this = make_error_condition(__e); } 32020: 32020: void 32020: clear() noexcept 32020: { assign(0, generic_category()); } 32020: 32020: 32020: int 32020: value() const noexcept { return _M_value; } 32020: 32020: const error_category& 32020: category() const noexcept { return *_M_cat; } 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: string 32020: message() const 32020: { return category().message(value()); } 32020: 32020: explicit operator bool() const noexcept 32020: { return _M_value != 0; } 32020: 32020: 32020: private: 32020: int _M_value; 32020: const error_category* _M_cat; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: inline error_condition 32020: make_error_condition(errc __e) noexcept 32020: { return error_condition(static_cast(__e), generic_category()); } 32020: 32020: 32020: 32020: 32020: inline bool 32020: operator==(const error_code& __lhs, const error_code& __rhs) noexcept 32020: { return (__lhs.category() == __rhs.category() 32020: && __lhs.value() == __rhs.value()); } 32020: 32020: 32020: 32020: inline bool 32020: operator==(const error_code& __lhs, const error_condition& __rhs) noexcept 32020: { 32020: return (__lhs.category().equivalent(__lhs.value(), __rhs) 32020: || __rhs.category().equivalent(__lhs, __rhs.value())); 32020: } 32020: 32020: 32020: inline bool 32020: operator==(const error_condition& __lhs, 32020: const error_condition& __rhs) noexcept 32020: { 32020: return (__lhs.category() == __rhs.category() 32020: && __lhs.value() == __rhs.value()); 32020: } 32020: # 378 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: inline bool 32020: operator<(const error_condition& __lhs, 32020: const error_condition& __rhs) noexcept 32020: { 32020: return (__lhs.category() < __rhs.category() 32020: || (__lhs.category() == __rhs.category() 32020: && __lhs.value() < __rhs.value())); 32020: } 32020: 32020: 32020: 32020: inline bool 32020: operator==(const error_condition& __lhs, const error_code& __rhs) noexcept 32020: { 32020: return (__rhs.category().equivalent(__rhs.value(), __lhs) 32020: || __lhs.category().equivalent(__rhs, __lhs.value())); 32020: } 32020: 32020: 32020: inline bool 32020: operator!=(const error_code& __lhs, const error_code& __rhs) noexcept 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: 32020: inline bool 32020: operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: 32020: inline bool 32020: operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: inline bool 32020: operator!=(const error_condition& __lhs, 32020: const error_condition& __rhs) noexcept 32020: { return !(__lhs == __rhs); } 32020: # 428 "/usr/arm-linux-gnueabihf/include/c++/10/system_error" 3 32020: class system_error : public std::runtime_error 32020: { 32020: private: 32020: error_code _M_code; 32020: 32020: public: 32020: system_error(error_code __ec = error_code()) 32020: : runtime_error(__ec.message()), _M_code(__ec) { } 32020: 32020: system_error(error_code __ec, const string& __what) 32020: : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } 32020: 32020: system_error(error_code __ec, const char* __what) 32020: : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } 32020: 32020: system_error(int __v, const error_category& __ecat, const char* __what) 32020: : system_error(error_code(__v, __ecat), __what) { } 32020: 32020: system_error(int __v, const error_category& __ecat) 32020: : runtime_error(error_code(__v, __ecat).message()), 32020: _M_code(__v, __ecat) { } 32020: 32020: system_error(int __v, const error_category& __ecat, const string& __what) 32020: : runtime_error(__what + ": " + error_code(__v, __ecat).message()), 32020: _M_code(__v, __ecat) { } 32020: 32020: 32020: system_error (const system_error &) = default; 32020: system_error &operator= (const system_error &) = default; 32020: 32020: 32020: virtual ~system_error() noexcept; 32020: 32020: const error_code& 32020: code() const noexcept { return _M_code; } 32020: }; 32020: 32020: 32020: } 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const error_code& __e) const noexcept 32020: { 32020: const size_t __tmp = std::_Hash_impl::hash(__e.value()); 32020: return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template<> 32020: struct hash 32020: : public __hash_base 32020: { 32020: size_t 32020: operator()(const error_condition& __e) const noexcept 32020: { 32020: const size_t __tmp = std::_Hash_impl::hash(__e.value()); 32020: return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); 32020: } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 2 3 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum _Ios_Fmtflags 32020: { 32020: _S_boolalpha = 1L << 0, 32020: _S_dec = 1L << 1, 32020: _S_fixed = 1L << 2, 32020: _S_hex = 1L << 3, 32020: _S_internal = 1L << 4, 32020: _S_left = 1L << 5, 32020: _S_oct = 1L << 6, 32020: _S_right = 1L << 7, 32020: _S_scientific = 1L << 8, 32020: _S_showbase = 1L << 9, 32020: _S_showpoint = 1L << 10, 32020: _S_showpos = 1L << 11, 32020: _S_skipws = 1L << 12, 32020: _S_unitbuf = 1L << 13, 32020: _S_uppercase = 1L << 14, 32020: _S_adjustfield = _S_left | _S_right | _S_internal, 32020: _S_basefield = _S_dec | _S_oct | _S_hex, 32020: _S_floatfield = _S_scientific | _S_fixed, 32020: _S_ios_fmtflags_end = 1L << 16, 32020: _S_ios_fmtflags_max = 0x7fffffff, 32020: _S_ios_fmtflags_min = ~0x7fffffff 32020: }; 32020: 32020: inline constexpr _Ios_Fmtflags 32020: operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 32020: { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Fmtflags 32020: operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 32020: { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Fmtflags 32020: operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 32020: { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Fmtflags 32020: operator~(_Ios_Fmtflags __a) 32020: { return _Ios_Fmtflags(~static_cast(__a)); } 32020: 32020: inline const _Ios_Fmtflags& 32020: operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 32020: { return __a = __a | __b; } 32020: 32020: inline const _Ios_Fmtflags& 32020: operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 32020: { return __a = __a & __b; } 32020: 32020: inline const _Ios_Fmtflags& 32020: operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 32020: { return __a = __a ^ __b; } 32020: 32020: 32020: enum _Ios_Openmode 32020: { 32020: _S_app = 1L << 0, 32020: _S_ate = 1L << 1, 32020: _S_bin = 1L << 2, 32020: _S_in = 1L << 3, 32020: _S_out = 1L << 4, 32020: _S_trunc = 1L << 5, 32020: _S_ios_openmode_end = 1L << 16, 32020: _S_ios_openmode_max = 0x7fffffff, 32020: _S_ios_openmode_min = ~0x7fffffff 32020: }; 32020: 32020: inline constexpr _Ios_Openmode 32020: operator&(_Ios_Openmode __a, _Ios_Openmode __b) 32020: { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Openmode 32020: operator|(_Ios_Openmode __a, _Ios_Openmode __b) 32020: { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Openmode 32020: operator^(_Ios_Openmode __a, _Ios_Openmode __b) 32020: { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Openmode 32020: operator~(_Ios_Openmode __a) 32020: { return _Ios_Openmode(~static_cast(__a)); } 32020: 32020: inline const _Ios_Openmode& 32020: operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) 32020: { return __a = __a | __b; } 32020: 32020: inline const _Ios_Openmode& 32020: operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) 32020: { return __a = __a & __b; } 32020: 32020: inline const _Ios_Openmode& 32020: operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) 32020: { return __a = __a ^ __b; } 32020: 32020: 32020: enum _Ios_Iostate 32020: { 32020: _S_goodbit = 0, 32020: _S_badbit = 1L << 0, 32020: _S_eofbit = 1L << 1, 32020: _S_failbit = 1L << 2, 32020: _S_ios_iostate_end = 1L << 16, 32020: _S_ios_iostate_max = 0x7fffffff, 32020: _S_ios_iostate_min = ~0x7fffffff 32020: }; 32020: 32020: inline constexpr _Ios_Iostate 32020: operator&(_Ios_Iostate __a, _Ios_Iostate __b) 32020: { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Iostate 32020: operator|(_Ios_Iostate __a, _Ios_Iostate __b) 32020: { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Iostate 32020: operator^(_Ios_Iostate __a, _Ios_Iostate __b) 32020: { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } 32020: 32020: inline constexpr _Ios_Iostate 32020: operator~(_Ios_Iostate __a) 32020: { return _Ios_Iostate(~static_cast(__a)); } 32020: 32020: inline const _Ios_Iostate& 32020: operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) 32020: { return __a = __a | __b; } 32020: 32020: inline const _Ios_Iostate& 32020: operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) 32020: { return __a = __a & __b; } 32020: 32020: inline const _Ios_Iostate& 32020: operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) 32020: { return __a = __a ^ __b; } 32020: 32020: 32020: enum _Ios_Seekdir 32020: { 32020: _S_beg = 0, 32020: _S_cur = 1, 32020: _S_end = 2, 32020: _S_ios_seekdir_end = 1L << 16 32020: }; 32020: 32020: 32020: 32020: enum class io_errc { stream = 1 }; 32020: 32020: template <> struct is_error_code_enum : public true_type { }; 32020: 32020: const error_category& iostream_category() noexcept; 32020: 32020: inline error_code 32020: make_error_code(io_errc __e) noexcept 32020: { return error_code(static_cast(__e), iostream_category()); } 32020: 32020: inline error_condition 32020: make_error_condition(io_errc __e) noexcept 32020: { return error_condition(static_cast(__e), iostream_category()); } 32020: # 228 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: class ios_base 32020: { 32020: # 246 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: public: 32020: # 255 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error 32020: { 32020: public: 32020: explicit 32020: failure(const string& __str); 32020: 32020: 32020: explicit 32020: failure(const string&, const error_code&); 32020: 32020: explicit 32020: failure(const char*, const error_code& = io_errc::stream); 32020: 32020: 32020: virtual 32020: ~failure() throw(); 32020: 32020: virtual const char* 32020: what() const throw(); 32020: }; 32020: # 341 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: typedef _Ios_Fmtflags fmtflags; 32020: 32020: 32020: static const fmtflags boolalpha = _S_boolalpha; 32020: 32020: 32020: static const fmtflags dec = _S_dec; 32020: 32020: 32020: static const fmtflags fixed = _S_fixed; 32020: 32020: 32020: static const fmtflags hex = _S_hex; 32020: 32020: 32020: 32020: 32020: static const fmtflags internal = _S_internal; 32020: 32020: 32020: 32020: static const fmtflags left = _S_left; 32020: 32020: 32020: static const fmtflags oct = _S_oct; 32020: 32020: 32020: 32020: static const fmtflags right = _S_right; 32020: 32020: 32020: static const fmtflags scientific = _S_scientific; 32020: 32020: 32020: 32020: static const fmtflags showbase = _S_showbase; 32020: 32020: 32020: 32020: static const fmtflags showpoint = _S_showpoint; 32020: 32020: 32020: static const fmtflags showpos = _S_showpos; 32020: 32020: 32020: static const fmtflags skipws = _S_skipws; 32020: 32020: 32020: static const fmtflags unitbuf = _S_unitbuf; 32020: 32020: 32020: 32020: static const fmtflags uppercase = _S_uppercase; 32020: 32020: 32020: static const fmtflags adjustfield = _S_adjustfield; 32020: 32020: 32020: static const fmtflags basefield = _S_basefield; 32020: 32020: 32020: static const fmtflags floatfield = _S_floatfield; 32020: # 416 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: typedef _Ios_Iostate iostate; 32020: 32020: 32020: 32020: static const iostate badbit = _S_badbit; 32020: 32020: 32020: static const iostate eofbit = _S_eofbit; 32020: 32020: 32020: 32020: 32020: static const iostate failbit = _S_failbit; 32020: 32020: 32020: static const iostate goodbit = _S_goodbit; 32020: # 447 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: typedef _Ios_Openmode openmode; 32020: 32020: 32020: static const openmode app = _S_app; 32020: 32020: 32020: static const openmode ate = _S_ate; 32020: 32020: 32020: 32020: 32020: static const openmode binary = _S_bin; 32020: 32020: 32020: static const openmode in = _S_in; 32020: 32020: 32020: static const openmode out = _S_out; 32020: 32020: 32020: static const openmode trunc = _S_trunc; 32020: # 479 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: typedef _Ios_Seekdir seekdir; 32020: 32020: 32020: static const seekdir beg = _S_beg; 32020: 32020: 32020: static const seekdir cur = _S_cur; 32020: 32020: 32020: static const seekdir end = _S_end; 32020: # 512 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: enum event 32020: { 32020: erase_event, 32020: imbue_event, 32020: copyfmt_event 32020: }; 32020: # 529 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: typedef void (*event_callback) (event __e, ios_base& __b, int __i); 32020: # 541 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: void 32020: register_callback(event_callback __fn, int __index); 32020: 32020: protected: 32020: streamsize _M_precision; 32020: streamsize _M_width; 32020: fmtflags _M_flags; 32020: iostate _M_exception; 32020: iostate _M_streambuf_state; 32020: 32020: 32020: 32020: struct _Callback_list 32020: { 32020: 32020: _Callback_list* _M_next; 32020: ios_base::event_callback _M_fn; 32020: int _M_index; 32020: _Atomic_word _M_refcount; 32020: 32020: _Callback_list(ios_base::event_callback __fn, int __index, 32020: _Callback_list* __cb) 32020: : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } 32020: 32020: void 32020: _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 32020: 32020: 32020: int 32020: _M_remove_reference() 32020: { 32020: 32020: ; 32020: int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); 32020: if (__res == 0) 32020: { 32020: ; 32020: } 32020: return __res; 32020: } 32020: }; 32020: 32020: _Callback_list* _M_callbacks; 32020: 32020: void 32020: _M_call_callbacks(event __ev) throw(); 32020: 32020: void 32020: _M_dispose_callbacks(void) throw(); 32020: 32020: 32020: struct _Words 32020: { 32020: void* _M_pword; 32020: long _M_iword; 32020: _Words() : _M_pword(0), _M_iword(0) { } 32020: }; 32020: 32020: 32020: _Words _M_word_zero; 32020: 32020: 32020: 32020: enum { _S_local_word_size = 8 }; 32020: _Words _M_local_word[_S_local_word_size]; 32020: 32020: 32020: int _M_word_size; 32020: _Words* _M_word; 32020: 32020: _Words& 32020: _M_grow_words(int __index, bool __iword); 32020: 32020: 32020: locale _M_ios_locale; 32020: 32020: void 32020: _M_init() throw(); 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: class Init 32020: { 32020: friend class ios_base; 32020: public: 32020: Init(); 32020: ~Init(); 32020: 32020: 32020: Init(const Init&) = default; 32020: Init& operator=(const Init&) = default; 32020: 32020: 32020: private: 32020: static _Atomic_word _S_refcount; 32020: static bool _S_synced_with_stdio; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: fmtflags 32020: flags() const 32020: { return _M_flags; } 32020: # 659 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: fmtflags 32020: flags(fmtflags __fmtfl) 32020: { 32020: fmtflags __old = _M_flags; 32020: _M_flags = __fmtfl; 32020: return __old; 32020: } 32020: # 675 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: fmtflags 32020: setf(fmtflags __fmtfl) 32020: { 32020: fmtflags __old = _M_flags; 32020: _M_flags |= __fmtfl; 32020: return __old; 32020: } 32020: # 692 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: fmtflags 32020: setf(fmtflags __fmtfl, fmtflags __mask) 32020: { 32020: fmtflags __old = _M_flags; 32020: _M_flags &= ~__mask; 32020: _M_flags |= (__fmtfl & __mask); 32020: return __old; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: unsetf(fmtflags __mask) 32020: { _M_flags &= ~__mask; } 32020: # 718 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: streamsize 32020: precision() const 32020: { return _M_precision; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: streamsize 32020: precision(streamsize __prec) 32020: { 32020: streamsize __old = _M_precision; 32020: _M_precision = __prec; 32020: return __old; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: streamsize 32020: width() const 32020: { return _M_width; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: streamsize 32020: width(streamsize __wide) 32020: { 32020: streamsize __old = _M_width; 32020: _M_width = __wide; 32020: return __old; 32020: } 32020: # 769 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: static bool 32020: sync_with_stdio(bool __sync = true); 32020: # 781 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: locale 32020: imbue(const locale& __loc) throw(); 32020: # 792 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: locale 32020: getloc() const 32020: { return _M_ios_locale; } 32020: # 803 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: const locale& 32020: _M_getloc() const 32020: { return _M_ios_locale; } 32020: # 822 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: static int 32020: xalloc() throw(); 32020: # 838 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: long& 32020: iword(int __ix) 32020: { 32020: _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) 32020: ? _M_word[__ix] : _M_grow_words(__ix, true); 32020: return __word._M_iword; 32020: } 32020: # 859 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: void*& 32020: pword(int __ix) 32020: { 32020: _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) 32020: ? _M_word[__ix] : _M_grow_words(__ix, false); 32020: return __word._M_pword; 32020: } 32020: # 876 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: virtual ~ios_base(); 32020: 32020: protected: 32020: ios_base() throw (); 32020: # 890 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ios_base.h" 3 32020: public: 32020: ios_base(const ios_base&) = delete; 32020: 32020: ios_base& 32020: operator=(const ios_base&) = delete; 32020: 32020: protected: 32020: void 32020: _M_move(ios_base&) noexcept; 32020: 32020: void 32020: _M_swap(ios_base& __rhs) noexcept; 32020: 32020: }; 32020: 32020: 32020: 32020: inline ios_base& 32020: boolalpha(ios_base& __base) 32020: { 32020: __base.setf(ios_base::boolalpha); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: noboolalpha(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::boolalpha); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: showbase(ios_base& __base) 32020: { 32020: __base.setf(ios_base::showbase); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: noshowbase(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::showbase); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: showpoint(ios_base& __base) 32020: { 32020: __base.setf(ios_base::showpoint); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: noshowpoint(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::showpoint); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: showpos(ios_base& __base) 32020: { 32020: __base.setf(ios_base::showpos); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: noshowpos(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::showpos); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: skipws(ios_base& __base) 32020: { 32020: __base.setf(ios_base::skipws); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: noskipws(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::skipws); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: uppercase(ios_base& __base) 32020: { 32020: __base.setf(ios_base::uppercase); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: nouppercase(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::uppercase); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: unitbuf(ios_base& __base) 32020: { 32020: __base.setf(ios_base::unitbuf); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: nounitbuf(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::unitbuf); 32020: return __base; 32020: } 32020: 32020: 32020: 32020: inline ios_base& 32020: internal(ios_base& __base) 32020: { 32020: __base.setf(ios_base::internal, ios_base::adjustfield); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: left(ios_base& __base) 32020: { 32020: __base.setf(ios_base::left, ios_base::adjustfield); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: right(ios_base& __base) 32020: { 32020: __base.setf(ios_base::right, ios_base::adjustfield); 32020: return __base; 32020: } 32020: 32020: 32020: 32020: inline ios_base& 32020: dec(ios_base& __base) 32020: { 32020: __base.setf(ios_base::dec, ios_base::basefield); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: hex(ios_base& __base) 32020: { 32020: __base.setf(ios_base::hex, ios_base::basefield); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: oct(ios_base& __base) 32020: { 32020: __base.setf(ios_base::oct, ios_base::basefield); 32020: return __base; 32020: } 32020: 32020: 32020: 32020: inline ios_base& 32020: fixed(ios_base& __base) 32020: { 32020: __base.setf(ios_base::fixed, ios_base::floatfield); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: scientific(ios_base& __base) 32020: { 32020: __base.setf(ios_base::scientific, ios_base::floatfield); 32020: return __base; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline ios_base& 32020: hexfloat(ios_base& __base) 32020: { 32020: __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); 32020: return __base; 32020: } 32020: 32020: 32020: inline ios_base& 32020: defaultfloat(ios_base& __base) 32020: { 32020: __base.unsetf(ios_base::floatfield); 32020: return __base; 32020: } 32020: 32020: 32020: 32020: } 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 2 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: streamsize 32020: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, 32020: basic_streambuf<_CharT, _Traits>*, bool&); 32020: # 121 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: template 32020: class basic_streambuf 32020: { 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef _CharT char_type; 32020: typedef _Traits traits_type; 32020: typedef typename traits_type::int_type int_type; 32020: typedef typename traits_type::pos_type pos_type; 32020: typedef typename traits_type::off_type off_type; 32020: 32020: 32020: 32020: 32020: typedef basic_streambuf __streambuf_type; 32020: 32020: 32020: friend class basic_ios; 32020: friend class basic_istream; 32020: friend class basic_ostream; 32020: friend class istreambuf_iterator; 32020: friend class ostreambuf_iterator; 32020: 32020: friend streamsize 32020: __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: _CharT2*>::__type 32020: __copy_move_a2(istreambuf_iterator<_CharT2>, 32020: istreambuf_iterator<_CharT2>, _CharT2*); 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: istreambuf_iterator<_CharT2> >::__type 32020: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 32020: const _CharT2&); 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: void>::__type 32020: advance(istreambuf_iterator<_CharT2>&, _Distance); 32020: 32020: template 32020: friend basic_istream<_CharT2, _Traits2>& 32020: operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); 32020: 32020: template 32020: friend basic_istream<_CharT2, _Traits2>& 32020: operator>>(basic_istream<_CharT2, _Traits2>&, 32020: basic_string<_CharT2, _Traits2, _Alloc>&); 32020: 32020: template 32020: friend basic_istream<_CharT2, _Traits2>& 32020: getline(basic_istream<_CharT2, _Traits2>&, 32020: basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); 32020: 32020: protected: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: char_type* _M_in_beg; 32020: char_type* _M_in_cur; 32020: char_type* _M_in_end; 32020: char_type* _M_out_beg; 32020: char_type* _M_out_cur; 32020: char_type* _M_out_end; 32020: 32020: 32020: locale _M_buf_locale; 32020: 32020: public: 32020: 32020: virtual 32020: ~basic_streambuf() 32020: { } 32020: # 215 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: locale 32020: pubimbue(const locale& __loc) 32020: { 32020: locale __tmp(this->getloc()); 32020: this->imbue(__loc); 32020: _M_buf_locale = __loc; 32020: return __tmp; 32020: } 32020: # 232 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: locale 32020: getloc() const 32020: { return _M_buf_locale; } 32020: # 245 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: basic_streambuf* 32020: pubsetbuf(char_type* __s, streamsize __n) 32020: { return this->setbuf(__s, __n); } 32020: # 257 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: pos_type 32020: pubseekoff(off_type __off, ios_base::seekdir __way, 32020: ios_base::openmode __mode = ios_base::in | ios_base::out) 32020: { return this->seekoff(__off, __way, __mode); } 32020: # 269 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: pos_type 32020: pubseekpos(pos_type __sp, 32020: ios_base::openmode __mode = ios_base::in | ios_base::out) 32020: { return this->seekpos(__sp, __mode); } 32020: 32020: 32020: 32020: 32020: int 32020: pubsync() { return this->sync(); } 32020: # 290 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: streamsize 32020: in_avail() 32020: { 32020: const streamsize __ret = this->egptr() - this->gptr(); 32020: return __ret ? __ret : this->showmanyc(); 32020: } 32020: # 304 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: int_type 32020: snextc() 32020: { 32020: int_type __ret = traits_type::eof(); 32020: if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), 32020: __ret), true)) 32020: __ret = this->sgetc(); 32020: return __ret; 32020: } 32020: # 322 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: int_type 32020: sbumpc() 32020: { 32020: int_type __ret; 32020: if (__builtin_expect(this->gptr() < this->egptr(), true)) 32020: { 32020: __ret = traits_type::to_int_type(*this->gptr()); 32020: this->gbump(1); 32020: } 32020: else 32020: __ret = this->uflow(); 32020: return __ret; 32020: } 32020: # 344 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: int_type 32020: sgetc() 32020: { 32020: int_type __ret; 32020: if (__builtin_expect(this->gptr() < this->egptr(), true)) 32020: __ret = traits_type::to_int_type(*this->gptr()); 32020: else 32020: __ret = this->underflow(); 32020: return __ret; 32020: } 32020: # 363 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: streamsize 32020: sgetn(char_type* __s, streamsize __n) 32020: { return this->xsgetn(__s, __n); } 32020: # 378 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: int_type 32020: sputbackc(char_type __c) 32020: { 32020: int_type __ret; 32020: const bool __testpos = this->eback() < this->gptr(); 32020: if (__builtin_expect(!__testpos || 32020: !traits_type::eq(__c, this->gptr()[-1]), false)) 32020: __ret = this->pbackfail(traits_type::to_int_type(__c)); 32020: else 32020: { 32020: this->gbump(-1); 32020: __ret = traits_type::to_int_type(*this->gptr()); 32020: } 32020: return __ret; 32020: } 32020: # 403 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: int_type 32020: sungetc() 32020: { 32020: int_type __ret; 32020: if (__builtin_expect(this->eback() < this->gptr(), true)) 32020: { 32020: this->gbump(-1); 32020: __ret = traits_type::to_int_type(*this->gptr()); 32020: } 32020: else 32020: __ret = this->pbackfail(); 32020: return __ret; 32020: } 32020: # 430 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: int_type 32020: sputc(char_type __c) 32020: { 32020: int_type __ret; 32020: if (__builtin_expect(this->pptr() < this->epptr(), true)) 32020: { 32020: *this->pptr() = __c; 32020: this->pbump(1); 32020: __ret = traits_type::to_int_type(__c); 32020: } 32020: else 32020: __ret = this->overflow(traits_type::to_int_type(__c)); 32020: return __ret; 32020: } 32020: # 456 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: streamsize 32020: sputn(const char_type* __s, streamsize __n) 32020: { return this->xsputn(__s, __n); } 32020: 32020: protected: 32020: # 470 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: basic_streambuf() 32020: : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), 32020: _M_out_beg(0), _M_out_cur(0), _M_out_end(0), 32020: _M_buf_locale(locale()) 32020: { } 32020: # 488 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: char_type* 32020: eback() const { return _M_in_beg; } 32020: 32020: char_type* 32020: gptr() const { return _M_in_cur; } 32020: 32020: char_type* 32020: egptr() const { return _M_in_end; } 32020: # 504 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: void 32020: gbump(int __n) { _M_in_cur += __n; } 32020: # 515 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: void 32020: setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) 32020: { 32020: _M_in_beg = __gbeg; 32020: _M_in_cur = __gnext; 32020: _M_in_end = __gend; 32020: } 32020: # 535 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: char_type* 32020: pbase() const { return _M_out_beg; } 32020: 32020: char_type* 32020: pptr() const { return _M_out_cur; } 32020: 32020: char_type* 32020: epptr() const { return _M_out_end; } 32020: # 551 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: void 32020: pbump(int __n) { _M_out_cur += __n; } 32020: # 561 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: void 32020: setp(char_type* __pbeg, char_type* __pend) 32020: { 32020: _M_out_beg = _M_out_cur = __pbeg; 32020: _M_out_end = __pend; 32020: } 32020: # 582 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual void 32020: imbue(const locale& __loc __attribute__ ((__unused__))) 32020: { } 32020: # 597 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual basic_streambuf* 32020: setbuf(char_type*, streamsize) 32020: { return this; } 32020: # 608 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual pos_type 32020: seekoff(off_type, ios_base::seekdir, 32020: ios_base::openmode = ios_base::in | ios_base::out) 32020: { return pos_type(off_type(-1)); } 32020: # 620 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual pos_type 32020: seekpos(pos_type, 32020: ios_base::openmode = ios_base::in | ios_base::out) 32020: { return pos_type(off_type(-1)); } 32020: # 633 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual int 32020: sync() { return 0; } 32020: # 655 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual streamsize 32020: showmanyc() { return 0; } 32020: # 671 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual streamsize 32020: xsgetn(char_type* __s, streamsize __n); 32020: # 693 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual int_type 32020: underflow() 32020: { return traits_type::eof(); } 32020: # 706 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual int_type 32020: uflow() 32020: { 32020: int_type __ret = traits_type::eof(); 32020: const bool __testeof = traits_type::eq_int_type(this->underflow(), 32020: __ret); 32020: if (!__testeof) 32020: { 32020: __ret = traits_type::to_int_type(*this->gptr()); 32020: this->gbump(1); 32020: } 32020: return __ret; 32020: } 32020: # 730 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual int_type 32020: pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 32020: { return traits_type::eof(); } 32020: # 748 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual streamsize 32020: xsputn(const char_type* __s, streamsize __n); 32020: # 774 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: virtual int_type 32020: overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 32020: { return traits_type::eof(); } 32020: # 801 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 3 32020: void 32020: __safe_gbump(streamsize __n) { _M_in_cur += __n; } 32020: 32020: void 32020: __safe_pbump(streamsize __n) { _M_out_cur += __n; } 32020: 32020: 32020: 32020: 32020: protected: 32020: 32020: basic_streambuf(const basic_streambuf&); 32020: 32020: basic_streambuf& 32020: operator=(const basic_streambuf&); 32020: 32020: 32020: void 32020: swap(basic_streambuf& __sb) 32020: { 32020: std::swap(_M_in_beg, __sb._M_in_beg); 32020: std::swap(_M_in_cur, __sb._M_in_cur); 32020: std::swap(_M_in_end, __sb._M_in_end); 32020: std::swap(_M_out_beg, __sb._M_out_beg); 32020: std::swap(_M_out_cur, __sb._M_out_cur); 32020: std::swap(_M_out_end, __sb._M_out_end); 32020: std::swap(_M_buf_locale, __sb._M_buf_locale); 32020: } 32020: 32020: }; 32020: 32020: 32020: template 32020: std::basic_streambuf<_CharT, _Traits>:: 32020: basic_streambuf(const basic_streambuf&) = default; 32020: 32020: template 32020: std::basic_streambuf<_CharT, _Traits>& 32020: std::basic_streambuf<_CharT, _Traits>:: 32020: operator=(const basic_streambuf&) = default; 32020: 32020: 32020: 32020: template<> 32020: streamsize 32020: __copy_streambufs_eof(basic_streambuf* __sbin, 32020: basic_streambuf* __sbout, bool& __ineof); 32020: 32020: template<> 32020: streamsize 32020: __copy_streambufs_eof(basic_streambuf* __sbin, 32020: basic_streambuf* __sbout, bool& __ineof); 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf.tcc" 1 3 32020: # 37 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf.tcc" 3 32020: 32020: # 38 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf.tcc" 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: template 32020: streamsize 32020: basic_streambuf<_CharT, _Traits>:: 32020: xsgetn(char_type* __s, streamsize __n) 32020: { 32020: streamsize __ret = 0; 32020: while (__ret < __n) 32020: { 32020: const streamsize __buf_len = this->egptr() - this->gptr(); 32020: if (__buf_len) 32020: { 32020: const streamsize __remaining = __n - __ret; 32020: const streamsize __len = std::min(__buf_len, __remaining); 32020: traits_type::copy(__s, this->gptr(), __len); 32020: __ret += __len; 32020: __s += __len; 32020: this->__safe_gbump(__len); 32020: } 32020: 32020: if (__ret < __n) 32020: { 32020: const int_type __c = this->uflow(); 32020: if (!traits_type::eq_int_type(__c, traits_type::eof())) 32020: { 32020: traits_type::assign(*__s++, traits_type::to_char_type(__c)); 32020: ++__ret; 32020: } 32020: else 32020: break; 32020: } 32020: } 32020: return __ret; 32020: } 32020: 32020: template 32020: streamsize 32020: basic_streambuf<_CharT, _Traits>:: 32020: xsputn(const char_type* __s, streamsize __n) 32020: { 32020: streamsize __ret = 0; 32020: while (__ret < __n) 32020: { 32020: const streamsize __buf_len = this->epptr() - this->pptr(); 32020: if (__buf_len) 32020: { 32020: const streamsize __remaining = __n - __ret; 32020: const streamsize __len = std::min(__buf_len, __remaining); 32020: traits_type::copy(this->pptr(), __s, __len); 32020: __ret += __len; 32020: __s += __len; 32020: this->__safe_pbump(__len); 32020: } 32020: 32020: if (__ret < __n) 32020: { 32020: int_type __c = this->overflow(traits_type::to_int_type(*__s)); 32020: if (!traits_type::eq_int_type(__c, traits_type::eof())) 32020: { 32020: ++__ret; 32020: ++__s; 32020: } 32020: else 32020: break; 32020: } 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: streamsize 32020: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, 32020: basic_streambuf<_CharT, _Traits>* __sbout, 32020: bool& __ineof) 32020: { 32020: streamsize __ret = 0; 32020: __ineof = true; 32020: typename _Traits::int_type __c = __sbin->sgetc(); 32020: while (!_Traits::eq_int_type(__c, _Traits::eof())) 32020: { 32020: __c = __sbout->sputc(_Traits::to_char_type(__c)); 32020: if (_Traits::eq_int_type(__c, _Traits::eof())) 32020: { 32020: __ineof = false; 32020: break; 32020: } 32020: ++__ret; 32020: __c = __sbin->snextc(); 32020: } 32020: return __ret; 32020: } 32020: 32020: template 32020: inline streamsize 32020: __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, 32020: basic_streambuf<_CharT, _Traits>* __sbout) 32020: { 32020: bool __ineof; 32020: return __copy_streambufs_eof(__sbin, __sbout, __ineof); 32020: } 32020: 32020: 32020: 32020: 32020: extern template class basic_streambuf; 32020: extern template 32020: streamsize 32020: __copy_streambufs(basic_streambuf*, 32020: basic_streambuf*); 32020: extern template 32020: streamsize 32020: __copy_streambufs_eof(basic_streambuf*, 32020: basic_streambuf*, bool&); 32020: 32020: 32020: extern template class basic_streambuf; 32020: extern template 32020: streamsize 32020: __copy_streambufs(basic_streambuf*, 32020: basic_streambuf*); 32020: extern template 32020: streamsize 32020: __copy_streambufs_eof(basic_streambuf*, 32020: basic_streambuf*, bool&); 32020: 32020: 32020: 32020: 32020: } 32020: # 861 "/usr/arm-linux-gnueabihf/include/c++/10/streambuf" 2 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 2 3 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 3 32020: template 32020: class istreambuf_iterator 32020: : public iterator 32020: { 32020: public: 32020: # 66 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 3 32020: typedef _CharT char_type; 32020: typedef _Traits traits_type; 32020: typedef typename _Traits::int_type int_type; 32020: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 32020: typedef basic_istream<_CharT, _Traits> istream_type; 32020: 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: ostreambuf_iterator<_CharT2> >::__type 32020: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 32020: ostreambuf_iterator<_CharT2>); 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: _CharT2*>::__type 32020: __copy_move_a2(istreambuf_iterator<_CharT2>, 32020: istreambuf_iterator<_CharT2>, _CharT2*); 32020: 32020: 32020: template 32020: friend __enable_if_t<__is_char<_CharT2>::__value, _CharT2*> 32020: __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*); 32020: 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: istreambuf_iterator<_CharT2> >::__type 32020: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 32020: const _CharT2&); 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: void>::__type 32020: advance(istreambuf_iterator<_CharT2>&, _Distance); 32020: 32020: private: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: mutable streambuf_type* _M_sbuf; 32020: int_type _M_c; 32020: 32020: public: 32020: 32020: constexpr istreambuf_iterator() noexcept 32020: : _M_sbuf(0), _M_c(traits_type::eof()) { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: istreambuf_iterator(const istreambuf_iterator&) noexcept = default; 32020: 32020: ~istreambuf_iterator() = default; 32020: 32020: 32020: 32020: istreambuf_iterator(istream_type& __s) noexcept 32020: : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } 32020: 32020: 32020: istreambuf_iterator(streambuf_type* __s) noexcept 32020: : _M_sbuf(__s), _M_c(traits_type::eof()) { } 32020: 32020: 32020: istreambuf_iterator& 32020: operator=(const istreambuf_iterator&) noexcept = default; 32020: 32020: 32020: 32020: 32020: 32020: char_type 32020: operator*() const 32020: { 32020: int_type __c = _M_get(); 32020: # 157 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 3 32020: return traits_type::to_char_type(__c); 32020: } 32020: 32020: 32020: istreambuf_iterator& 32020: operator++() 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: _M_sbuf->sbumpc(); 32020: _M_c = traits_type::eof(); 32020: return *this; 32020: } 32020: 32020: 32020: istreambuf_iterator 32020: operator++(int) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: istreambuf_iterator __old = *this; 32020: __old._M_c = _M_sbuf->sbumpc(); 32020: _M_c = traits_type::eof(); 32020: return __old; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: bool 32020: equal(const istreambuf_iterator& __b) const 32020: { return _M_at_eof() == __b._M_at_eof(); } 32020: 32020: private: 32020: int_type 32020: _M_get() const 32020: { 32020: int_type __ret = _M_c; 32020: if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) 32020: _M_sbuf = 0; 32020: return __ret; 32020: } 32020: 32020: bool 32020: _M_at_eof() const 32020: { return _S_is_eof(_M_get()); } 32020: 32020: static bool 32020: _S_is_eof(int_type __c) 32020: { 32020: const int_type __eof = traits_type::eof(); 32020: return traits_type::eq_int_type(__c, __eof); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: }; 32020: 32020: template 32020: inline bool 32020: operator==(const istreambuf_iterator<_CharT, _Traits>& __a, 32020: const istreambuf_iterator<_CharT, _Traits>& __b) 32020: { return __a.equal(__b); } 32020: 32020: template 32020: inline bool 32020: operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, 32020: const istreambuf_iterator<_CharT, _Traits>& __b) 32020: { return !__a.equal(__b); } 32020: 32020: 32020: template 32020: class ostreambuf_iterator 32020: : public iterator 32020: { 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef _CharT char_type; 32020: typedef _Traits traits_type; 32020: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 32020: typedef basic_ostream<_CharT, _Traits> ostream_type; 32020: 32020: 32020: template 32020: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 32020: ostreambuf_iterator<_CharT2> >::__type 32020: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 32020: ostreambuf_iterator<_CharT2>); 32020: 32020: private: 32020: streambuf_type* _M_sbuf; 32020: bool _M_failed; 32020: 32020: public: 32020: # 274 "/usr/arm-linux-gnueabihf/include/c++/10/bits/streambuf_iterator.h" 3 32020: ostreambuf_iterator(ostream_type& __s) noexcept 32020: : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } 32020: 32020: 32020: ostreambuf_iterator(streambuf_type* __s) noexcept 32020: : _M_sbuf(__s), _M_failed(!_M_sbuf) { } 32020: 32020: 32020: ostreambuf_iterator& 32020: operator=(_CharT __c) 32020: { 32020: if (!_M_failed && 32020: _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) 32020: _M_failed = true; 32020: return *this; 32020: } 32020: 32020: 32020: ostreambuf_iterator& 32020: operator*() 32020: { return *this; } 32020: 32020: 32020: ostreambuf_iterator& 32020: operator++(int) 32020: { return *this; } 32020: 32020: 32020: ostreambuf_iterator& 32020: operator++() 32020: { return *this; } 32020: 32020: 32020: bool 32020: failed() const noexcept 32020: { return _M_failed; } 32020: 32020: ostreambuf_iterator& 32020: _M_put(const _CharT* __ws, streamsize __len) 32020: { 32020: if (__builtin_expect(!_M_failed, true) 32020: && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, 32020: false)) 32020: _M_failed = true; 32020: return *this; 32020: } 32020: }; 32020: 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: ostreambuf_iterator<_CharT> >::__type 32020: copy(istreambuf_iterator<_CharT> __first, 32020: istreambuf_iterator<_CharT> __last, 32020: ostreambuf_iterator<_CharT> __result) 32020: { 32020: if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) 32020: { 32020: bool __ineof; 32020: __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); 32020: if (!__ineof) 32020: __result._M_failed = true; 32020: } 32020: return __result; 32020: } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: ostreambuf_iterator<_CharT> >::__type 32020: __copy_move_a2(_CharT* __first, _CharT* __last, 32020: ostreambuf_iterator<_CharT> __result) 32020: { 32020: const streamsize __num = __last - __first; 32020: if (__num > 0) 32020: __result._M_put(__first, __num); 32020: return __result; 32020: } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: ostreambuf_iterator<_CharT> >::__type 32020: __copy_move_a2(const _CharT* __first, const _CharT* __last, 32020: ostreambuf_iterator<_CharT> __result) 32020: { 32020: const streamsize __num = __last - __first; 32020: if (__num > 0) 32020: __result._M_put(__first, __num); 32020: return __result; 32020: } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: _CharT*>::__type 32020: __copy_move_a2(istreambuf_iterator<_CharT> __first, 32020: istreambuf_iterator<_CharT> __last, _CharT* __result) 32020: { 32020: typedef istreambuf_iterator<_CharT> __is_iterator_type; 32020: typedef typename __is_iterator_type::traits_type traits_type; 32020: typedef typename __is_iterator_type::streambuf_type streambuf_type; 32020: typedef typename traits_type::int_type int_type; 32020: 32020: if (__first._M_sbuf && !__last._M_sbuf) 32020: { 32020: streambuf_type* __sb = __first._M_sbuf; 32020: int_type __c = __sb->sgetc(); 32020: while (!traits_type::eq_int_type(__c, traits_type::eof())) 32020: { 32020: const streamsize __n = __sb->egptr() - __sb->gptr(); 32020: if (__n > 1) 32020: { 32020: traits_type::copy(__result, __sb->gptr(), __n); 32020: __sb->__safe_gbump(__n); 32020: __result += __n; 32020: __c = __sb->underflow(); 32020: } 32020: else 32020: { 32020: *__result++ = traits_type::to_char_type(__c); 32020: __c = __sb->snextc(); 32020: } 32020: } 32020: } 32020: return __result; 32020: } 32020: 32020: 32020: template 32020: __enable_if_t<__is_char<_CharT>::__value, _CharT*> 32020: __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result) 32020: { 32020: if (__n == 0) 32020: return __result; 32020: 32020: 32020: 32020: ; 32020: _CharT* __beg = __result; 32020: __result += __it._M_sbuf->sgetn(__beg, __n); 32020: 32020: 32020: ; 32020: return __result; 32020: } 32020: 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: istreambuf_iterator<_CharT> >::__type 32020: find(istreambuf_iterator<_CharT> __first, 32020: istreambuf_iterator<_CharT> __last, const _CharT& __val) 32020: { 32020: typedef istreambuf_iterator<_CharT> __is_iterator_type; 32020: typedef typename __is_iterator_type::traits_type traits_type; 32020: typedef typename __is_iterator_type::streambuf_type streambuf_type; 32020: typedef typename traits_type::int_type int_type; 32020: const int_type __eof = traits_type::eof(); 32020: 32020: if (__first._M_sbuf && !__last._M_sbuf) 32020: { 32020: const int_type __ival = traits_type::to_int_type(__val); 32020: streambuf_type* __sb = __first._M_sbuf; 32020: int_type __c = __sb->sgetc(); 32020: while (!traits_type::eq_int_type(__c, __eof) 32020: && !traits_type::eq_int_type(__c, __ival)) 32020: { 32020: streamsize __n = __sb->egptr() - __sb->gptr(); 32020: if (__n > 1) 32020: { 32020: const _CharT* __p = traits_type::find(__sb->gptr(), 32020: __n, __val); 32020: if (__p) 32020: __n = __p - __sb->gptr(); 32020: __sb->__safe_gbump(__n); 32020: __c = __sb->sgetc(); 32020: } 32020: else 32020: __c = __sb->snextc(); 32020: } 32020: 32020: __first._M_c = __eof; 32020: } 32020: 32020: return __first; 32020: } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 32020: void>::__type 32020: advance(istreambuf_iterator<_CharT>& __i, _Distance __n) 32020: { 32020: if (__n == 0) 32020: return; 32020: 32020: ; 32020: 32020: 32020: ; 32020: 32020: typedef istreambuf_iterator<_CharT> __is_iterator_type; 32020: typedef typename __is_iterator_type::traits_type traits_type; 32020: typedef typename __is_iterator_type::streambuf_type streambuf_type; 32020: typedef typename traits_type::int_type int_type; 32020: const int_type __eof = traits_type::eof(); 32020: 32020: streambuf_type* __sb = __i._M_sbuf; 32020: while (__n > 0) 32020: { 32020: streamsize __size = __sb->egptr() - __sb->gptr(); 32020: if (__size > __n) 32020: { 32020: __sb->__safe_gbump(__n); 32020: break; 32020: } 32020: 32020: __sb->__safe_gbump(__size); 32020: __n -= __size; 32020: if (traits_type::eq_int_type(__sb->underflow(), __eof)) 32020: { 32020: 32020: 32020: ; 32020: break; 32020: } 32020: } 32020: 32020: __i._M_c = __eof; 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/iterator" 2 3 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 2 3 4 32020: # 64 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) char *qstrdup(const char *); 32020: 32020: inline uint qstrlen(const char *str) 32020: { return str ? uint(strlen(str)) : 0; } 32020: 32020: inline uint qstrnlen(const char *str, uint maxlen) 32020: { 32020: uint length = 0; 32020: if (str) { 32020: while (length < maxlen && *str++) 32020: length++; 32020: } 32020: return length; 32020: } 32020: 32020: __attribute__((visibility("default"))) char *qstrcpy(char *dst, const char *src); 32020: __attribute__((visibility("default"))) char *qstrncpy(char *dst, const char *src, uint len); 32020: 32020: __attribute__((visibility("default"))) int qstrcmp(const char *str1, const char *str2); 32020: __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const QByteArray &str2); 32020: __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const char *str2); 32020: static inline int qstrcmp(const char *str1, const QByteArray &str2) 32020: { return -qstrcmp(str2, str1); } 32020: 32020: inline int qstrncmp(const char *str1, const char *str2, uint len) 32020: { 32020: return (str1 && str2) ? strncmp(str1, str2, len) 32020: : (str1 ? 1 : (str2 ? -1 : 0)); 32020: } 32020: __attribute__((visibility("default"))) int qstricmp(const char *, const char *); 32020: __attribute__((visibility("default"))) int qstrnicmp(const char *, const char *, uint len); 32020: __attribute__((visibility("default"))) int qstrnicmp(const char *, qsizetype, const char *, qsizetype = -1); 32020: 32020: 32020: __attribute__((visibility("default"))) int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); 32020: __attribute__((visibility("default"))) int qsnprintf(char *str, size_t n, const char *fmt, ...); 32020: 32020: 32020: __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len); 32020: __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len, Qt::ChecksumType standard); 32020: 32020: class QByteRef; 32020: class QString; 32020: class QDataStream; 32020: template class QList; 32020: 32020: typedef QArrayData QByteArrayData; 32020: 32020: template struct QStaticByteArrayData 32020: { 32020: QByteArrayData ba; 32020: char data[N + 1]; 32020: 32020: QByteArrayData *data_ptr() const 32020: { 32020: static_cast(false && (ba.ref.isStatic())); 32020: return const_cast(&ba); 32020: } 32020: }; 32020: 32020: struct QByteArrayDataPtr 32020: { 32020: QByteArrayData *ptr; 32020: }; 32020: # 155 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 3 4 32020: class __attribute__((visibility("default"))) QByteArray 32020: { 32020: private: 32020: typedef QTypedArrayData Data; 32020: 32020: public: 32020: enum Base64Option { 32020: Base64Encoding = 0, 32020: Base64UrlEncoding = 1, 32020: 32020: KeepTrailingEquals = 0, 32020: OmitTrailingEquals = 2, 32020: 32020: IgnoreBase64DecodingErrors = 0, 32020: AbortOnBase64DecodingErrors = 4, 32020: }; 32020: typedef QFlags Base64Options; 32020: 32020: enum class Base64DecodingStatus { 32020: Ok, 32020: IllegalInputLength, 32020: IllegalCharacter, 32020: IllegalPadding, 32020: }; 32020: 32020: inline QByteArray() noexcept; 32020: QByteArray(const char *, int size = -1); 32020: QByteArray(int size, char c); 32020: QByteArray(int size, Qt::Initialization); 32020: inline QByteArray(const QByteArray &) noexcept; 32020: inline ~QByteArray(); 32020: 32020: QByteArray &operator=(const QByteArray &) noexcept; 32020: QByteArray &operator=(const char *str); 32020: inline QByteArray(QByteArray && other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 32020: inline QByteArray &operator=(QByteArray &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: 32020: inline void swap(QByteArray &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: inline int size() const; 32020: inline bool isEmpty() const; 32020: void resize(int size); 32020: 32020: QByteArray &fill(char c, int size = -1); 32020: 32020: inline int capacity() const; 32020: inline void reserve(int size); 32020: inline void squeeze(); 32020: 32020: 32020: inline operator const char *() const; 32020: inline operator const void *() const; 32020: 32020: inline char *data(); 32020: inline const char *data() const; 32020: inline const char *constData() const; 32020: inline void detach(); 32020: inline bool isDetached() const; 32020: inline bool isSharedWith(const QByteArray &other) const { return d == other.d; } 32020: void clear(); 32020: 32020: inline char at(int i) const; 32020: inline char operator[](int i) const; 32020: inline char operator[](uint i) const; 32020: [[nodiscard]] inline QByteRef operator[](int i); 32020: [[nodiscard]] inline QByteRef operator[](uint i); 32020: [[nodiscard]] char front() const { return at(0); } 32020: [[nodiscard]] inline QByteRef front(); 32020: [[nodiscard]] char back() const { return at(size() - 1); } 32020: [[nodiscard]] inline QByteRef back(); 32020: 32020: int indexOf(char c, int from = 0) const; 32020: int indexOf(const char *c, int from = 0) const; 32020: int indexOf(const QByteArray &a, int from = 0) const; 32020: int lastIndexOf(char c, int from = -1) const; 32020: int lastIndexOf(const char *c, int from = -1) const; 32020: int lastIndexOf(const QByteArray &a, int from = -1) const; 32020: 32020: inline bool contains(char c) const; 32020: inline bool contains(const char *a) const; 32020: inline bool contains(const QByteArray &a) const; 32020: int count(char c) const; 32020: int count(const char *a) const; 32020: int count(const QByteArray &a) const; 32020: 32020: inline int compare(const char *c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: inline int compare(const QByteArray &a, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: [[nodiscard]] QByteArray left(int len) const; 32020: [[nodiscard]] QByteArray right(int len) const; 32020: [[nodiscard]] QByteArray mid(int index, int len = -1) const; 32020: [[nodiscard]] QByteArray chopped(int len) const 32020: { static_cast(false && (len >= 0)); static_cast(false && (len <= size())); return left(size() - len); } 32020: 32020: bool startsWith(const QByteArray &a) const; 32020: bool startsWith(char c) const; 32020: bool startsWith(const char *c) const; 32020: 32020: bool endsWith(const QByteArray &a) const; 32020: bool endsWith(char c) const; 32020: bool endsWith(const char *c) const; 32020: 32020: bool isUpper() const; 32020: bool isLower() const; 32020: 32020: void truncate(int pos); 32020: void chop(int n); 32020: # 273 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 3 4 32020: [[nodiscard]] QByteArray toLower() const & 32020: { return toLower_helper(*this); } 32020: [[nodiscard]] QByteArray toLower() && 32020: { return toLower_helper(*this); } 32020: [[nodiscard]] QByteArray toUpper() const & 32020: { return toUpper_helper(*this); } 32020: [[nodiscard]] QByteArray toUpper() && 32020: { return toUpper_helper(*this); } 32020: [[nodiscard]] QByteArray trimmed() const & 32020: { return trimmed_helper(*this); } 32020: [[nodiscard]] QByteArray trimmed() && 32020: { return trimmed_helper(*this); } 32020: [[nodiscard]] QByteArray simplified() const & 32020: { return simplified_helper(*this); } 32020: [[nodiscard]] QByteArray simplified() && 32020: { return simplified_helper(*this); } 32020: # 299 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 3 4 32020: [[nodiscard]] QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; 32020: [[nodiscard]] QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; 32020: 32020: QByteArray &prepend(char c); 32020: inline QByteArray &prepend(int count, char c); 32020: QByteArray &prepend(const char *s); 32020: QByteArray &prepend(const char *s, int len); 32020: QByteArray &prepend(const QByteArray &a); 32020: QByteArray &append(char c); 32020: inline QByteArray &append(int count, char c); 32020: QByteArray &append(const char *s); 32020: QByteArray &append(const char *s, int len); 32020: QByteArray &append(const QByteArray &a); 32020: QByteArray &insert(int i, char c); 32020: QByteArray &insert(int i, int count, char c); 32020: QByteArray &insert(int i, const char *s); 32020: QByteArray &insert(int i, const char *s, int len); 32020: QByteArray &insert(int i, const QByteArray &a); 32020: QByteArray &remove(int index, int len); 32020: QByteArray &replace(int index, int len, const char *s); 32020: QByteArray &replace(int index, int len, const char *s, int alen); 32020: QByteArray &replace(int index, int len, const QByteArray &s); 32020: inline QByteArray &replace(char before, const char *after); 32020: QByteArray &replace(char before, const QByteArray &after); 32020: inline QByteArray &replace(const char *before, const char *after); 32020: QByteArray &replace(const char *before, int bsize, const char *after, int asize); 32020: QByteArray &replace(const QByteArray &before, const QByteArray &after); 32020: inline QByteArray &replace(const QByteArray &before, const char *after); 32020: QByteArray &replace(const char *before, const QByteArray &after); 32020: QByteArray &replace(char before, char after); 32020: inline QByteArray &operator+=(char c); 32020: inline QByteArray &operator+=(const char *s); 32020: inline QByteArray &operator+=(const QByteArray &a); 32020: 32020: QList split(char sep) const; 32020: 32020: [[nodiscard]] QByteArray repeated(int times) const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: QByteArray &append(const QString &s); 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: QByteArray &insert(int i, const QString &s); 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: QByteArray &replace(const QString &before, const char *after); 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: QByteArray &replace(char c, const QString &after); 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: QByteArray &replace(const QString &before, const QByteArray &after); 32020: 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: QByteArray &operator+=(const QString &s); 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: int indexOf(const QString &s, int from = 0) const; 32020: __attribute__ ((__deprecated__("Use QString's toUtf8(), toLatin1() or toLocal8Bit()"))) 32020: int lastIndexOf(const QString &s, int from = -1) const; 32020: 32020: 32020: inline bool operator==(const QString &s2) const; 32020: inline bool operator!=(const QString &s2) const; 32020: inline bool operator<(const QString &s2) const; 32020: inline bool operator>(const QString &s2) const; 32020: inline bool operator<=(const QString &s2) const; 32020: inline bool operator>=(const QString &s2) const; 32020: 32020: 32020: short toShort(bool *ok = nullptr, int base = 10) const; 32020: ushort toUShort(bool *ok = nullptr, int base = 10) const; 32020: int toInt(bool *ok = nullptr, int base = 10) const; 32020: uint toUInt(bool *ok = nullptr, int base = 10) const; 32020: long toLong(bool *ok = nullptr, int base = 10) const; 32020: ulong toULong(bool *ok = nullptr, int base = 10) const; 32020: qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 32020: qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 32020: float toFloat(bool *ok = nullptr) const; 32020: double toDouble(bool *ok = nullptr) const; 32020: QByteArray toBase64(Base64Options options) const; 32020: QByteArray toBase64() const; 32020: QByteArray toHex() const; 32020: QByteArray toHex(char separator) const; 32020: QByteArray toPercentEncoding(const QByteArray &exclude = QByteArray(), 32020: const QByteArray &include = QByteArray(), 32020: char percent = '%') const; 32020: 32020: inline QByteArray &setNum(short, int base = 10); 32020: inline QByteArray &setNum(ushort, int base = 10); 32020: inline QByteArray &setNum(int, int base = 10); 32020: inline QByteArray &setNum(uint, int base = 10); 32020: QByteArray &setNum(qlonglong, int base = 10); 32020: QByteArray &setNum(qulonglong, int base = 10); 32020: inline QByteArray &setNum(float, char f = 'g', int prec = 6); 32020: QByteArray &setNum(double, char f = 'g', int prec = 6); 32020: QByteArray &setRawData(const char *a, uint n); 32020: 32020: [[nodiscard]] static QByteArray number(int, int base = 10); 32020: [[nodiscard]] static QByteArray number(uint, int base = 10); 32020: [[nodiscard]] static QByteArray number(qlonglong, int base = 10); 32020: [[nodiscard]] static QByteArray number(qulonglong, int base = 10); 32020: [[nodiscard]] static QByteArray number(double, char f = 'g', int prec = 6); 32020: [[nodiscard]] static QByteArray fromRawData(const char *, int size); 32020: 32020: class FromBase64Result; 32020: [[nodiscard]] static FromBase64Result fromBase64Encoding(QByteArray &&base64, Base64Options options = Base64Encoding); 32020: [[nodiscard]] static FromBase64Result fromBase64Encoding(const QByteArray &base64, Base64Options options = Base64Encoding); 32020: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64, Base64Options options); 32020: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64); 32020: [[nodiscard]] static QByteArray fromHex(const QByteArray &hexEncoded); 32020: [[nodiscard]] static QByteArray fromPercentEncoding(const QByteArray &pctEncoded, char percent = '%'); 32020: # 419 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h" 3 4 32020: typedef char *iterator; 32020: typedef const char *const_iterator; 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: inline iterator begin(); 32020: inline const_iterator begin() const; 32020: inline const_iterator cbegin() const; 32020: inline const_iterator constBegin() const; 32020: inline iterator end(); 32020: inline const_iterator end() const; 32020: inline const_iterator cend() const; 32020: inline const_iterator constEnd() const; 32020: reverse_iterator rbegin() { return reverse_iterator(end()); } 32020: reverse_iterator rend() { return reverse_iterator(begin()); } 32020: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 32020: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 32020: 32020: 32020: typedef int size_type; 32020: typedef qptrdiff difference_type; 32020: typedef const char & const_reference; 32020: typedef char & reference; 32020: typedef char *pointer; 32020: typedef const char *const_pointer; 32020: typedef char value_type; 32020: inline void push_back(char c); 32020: inline void push_back(const char *c); 32020: inline void push_back(const QByteArray &a); 32020: inline void push_front(char c); 32020: inline void push_front(const char *c); 32020: inline void push_front(const QByteArray &a); 32020: void shrink_to_fit() { squeeze(); } 32020: 32020: static inline QByteArray fromStdString(const std::string &s); 32020: inline std::string toStdString() const; 32020: 32020: inline int count() const { return d->size; } 32020: int length() const { return d->size; } 32020: bool isNull() const; 32020: 32020: inline QByteArray(QByteArrayDataPtr dd) 32020: : d(static_cast(dd.ptr)) 32020: { 32020: } 32020: 32020: private: 32020: operator QNoImplicitBoolCast() const; 32020: Data *d; 32020: void reallocData(uint alloc, Data::AllocationOptions options); 32020: void expand(int i); 32020: QByteArray nulTerminated() const; 32020: 32020: static QByteArray toLower_helper(const QByteArray &a); 32020: static QByteArray toLower_helper(QByteArray &a); 32020: static QByteArray toUpper_helper(const QByteArray &a); 32020: static QByteArray toUpper_helper(QByteArray &a); 32020: static QByteArray trimmed_helper(const QByteArray &a); 32020: static QByteArray trimmed_helper(QByteArray &a); 32020: static QByteArray simplified_helper(const QByteArray &a); 32020: static QByteArray simplified_helper(QByteArray &a); 32020: 32020: friend class QByteRef; 32020: friend class QString; 32020: friend __attribute__((visibility("default"))) QByteArray qUncompress(const uchar *data, int nbytes); 32020: public: 32020: typedef Data * DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: 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); } 32020: 32020: inline QByteArray::QByteArray() noexcept : d(Data::sharedNull()) { } 32020: inline QByteArray::~QByteArray() { if (!d->ref.deref()) Data::deallocate(d); } 32020: inline int QByteArray::size() const 32020: { return d->size; } 32020: 32020: inline char QByteArray::at(int i) const 32020: { static_cast(false && (uint(i) < uint(size()))); return d->data()[i]; } 32020: inline char QByteArray::operator[](int i) const 32020: { static_cast(false && (uint(i) < uint(size()))); return d->data()[i]; } 32020: inline char QByteArray::operator[](uint i) const 32020: { static_cast(false && (i < uint(size()))); return d->data()[i]; } 32020: 32020: inline bool QByteArray::isEmpty() const 32020: { return d->size == 0; } 32020: 32020: inline QByteArray::operator const char *() const 32020: { return d->data(); } 32020: inline QByteArray::operator const void *() const 32020: { return d->data(); } 32020: 32020: inline char *QByteArray::data() 32020: { detach(); return d->data(); } 32020: inline const char *QByteArray::data() const 32020: { return d->data(); } 32020: inline const char *QByteArray::constData() const 32020: { return d->data(); } 32020: inline void QByteArray::detach() 32020: { if (d->ref.isShared() || (d->offset != sizeof(QByteArrayData))) reallocData(uint(d->size) + 1u, d->detachFlags()); } 32020: inline bool QByteArray::isDetached() const 32020: { return !d->ref.isShared(); } 32020: inline QByteArray::QByteArray(const QByteArray &a) noexcept : d(a.d) 32020: { d->ref.ref(); } 32020: 32020: inline int QByteArray::capacity() const 32020: { return d->alloc ? d->alloc - 1 : 0; } 32020: 32020: inline void QByteArray::reserve(int asize) 32020: { 32020: if (d->ref.isShared() || uint(asize) + 1u > d->alloc) { 32020: reallocData(qMax(uint(size()), uint(asize)) + 1u, d->detachFlags() | Data::CapacityReserved); 32020: } else { 32020: 32020: 32020: d->capacityReserved = true; 32020: } 32020: } 32020: 32020: inline void QByteArray::squeeze() 32020: { 32020: if (d->ref.isShared() || uint(d->size) + 1u < d->alloc) { 32020: reallocData(uint(d->size) + 1u, d->detachFlags() & ~Data::CapacityReserved); 32020: } else { 32020: 32020: 32020: d->capacityReserved = false; 32020: } 32020: } 32020: 32020: namespace QtPrivate { 32020: namespace DeprecatedRefClassBehavior { 32020: enum class EmittingClass { 32020: QByteRef, 32020: QCharRef, 32020: }; 32020: 32020: enum class WarningType { 32020: OutOfRange, 32020: DelayedDetach, 32020: }; 32020: 32020: __attribute__((visibility("default"))) __attribute__((cold)) void warn(WarningType w, EmittingClass c); 32020: } 32020: } 32020: 32020: class 32020: 32020: __attribute__((visibility("default"))) 32020: 32020: QByteRef { 32020: QByteArray &a; 32020: int i; 32020: inline QByteRef(QByteArray &array, int idx) 32020: : a(array),i(idx) {} 32020: friend class QByteArray; 32020: public: 32020: QByteRef(const QByteRef &) = default; 32020: inline operator char() const 32020: { 32020: using namespace QtPrivate::DeprecatedRefClassBehavior; 32020: if (__builtin_expect(!!(i < a.d->size), true)) 32020: return a.d->data()[i]; 32020: 32020: 32020: 32020: return char(0); 32020: } 32020: inline QByteRef &operator=(char c) 32020: { 32020: using namespace QtPrivate::DeprecatedRefClassBehavior; 32020: if (__builtin_expect(!!(i >= a.d->size), false)) { 32020: 32020: 32020: 32020: a.expand(i); 32020: } else { 32020: 32020: 32020: 32020: 32020: a.detach(); 32020: } 32020: a.d->data()[i] = c; 32020: return *this; 32020: } 32020: inline QByteRef &operator=(const QByteRef &c) 32020: { 32020: return operator=(char(c)); 32020: } 32020: inline bool operator==(char c) const 32020: { return a.d->data()[i] == c; } 32020: inline bool operator!=(char c) const 32020: { return a.d->data()[i] != c; } 32020: inline bool operator>(char c) const 32020: { return a.d->data()[i] > c; } 32020: inline bool operator>=(char c) const 32020: { return a.d->data()[i] >= c; } 32020: inline bool operator<(char c) const 32020: { return a.d->data()[i] < c; } 32020: inline bool operator<=(char c) const 32020: { return a.d->data()[i] <= c; } 32020: }; 32020: 32020: inline QByteRef QByteArray::operator[](int i) 32020: { static_cast(false && (i >= 0)); detach(); return QByteRef(*this, i); } 32020: inline QByteRef QByteArray::operator[](uint i) 32020: { detach(); return QByteRef(*this, i); } 32020: inline QByteRef QByteArray::front() { return operator[](0); } 32020: inline QByteRef QByteArray::back() { return operator[](size() - 1); } 32020: inline QByteArray::iterator QByteArray::begin() 32020: { detach(); return d->data(); } 32020: inline QByteArray::const_iterator QByteArray::begin() const 32020: { return d->data(); } 32020: inline QByteArray::const_iterator QByteArray::cbegin() const 32020: { return d->data(); } 32020: inline QByteArray::const_iterator QByteArray::constBegin() const 32020: { return d->data(); } 32020: inline QByteArray::iterator QByteArray::end() 32020: { detach(); return d->data() + d->size; } 32020: inline QByteArray::const_iterator QByteArray::end() const 32020: { return d->data() + d->size; } 32020: inline QByteArray::const_iterator QByteArray::cend() const 32020: { return d->data() + d->size; } 32020: inline QByteArray::const_iterator QByteArray::constEnd() const 32020: { return d->data() + d->size; } 32020: inline QByteArray &QByteArray::append(int n, char ch) 32020: { return insert(d->size, n, ch); } 32020: inline QByteArray &QByteArray::prepend(int n, char ch) 32020: { return insert(0, n, ch); } 32020: inline QByteArray &QByteArray::operator+=(char c) 32020: { return append(c); } 32020: inline QByteArray &QByteArray::operator+=(const char *s) 32020: { return append(s); } 32020: inline QByteArray &QByteArray::operator+=(const QByteArray &a) 32020: { return append(a); } 32020: inline void QByteArray::push_back(char c) 32020: { append(c); } 32020: inline void QByteArray::push_back(const char *c) 32020: { append(c); } 32020: inline void QByteArray::push_back(const QByteArray &a) 32020: { append(a); } 32020: inline void QByteArray::push_front(char c) 32020: { prepend(c); } 32020: inline void QByteArray::push_front(const char *c) 32020: { prepend(c); } 32020: inline void QByteArray::push_front(const QByteArray &a) 32020: { prepend(a); } 32020: inline bool QByteArray::contains(const QByteArray &a) const 32020: { return indexOf(a) != -1; } 32020: inline bool QByteArray::contains(char c) const 32020: { return indexOf(c) != -1; } 32020: inline int QByteArray::compare(const char *c, Qt::CaseSensitivity cs) const noexcept 32020: { 32020: return cs == Qt::CaseSensitive ? qstrcmp(*this, c) : 32020: qstrnicmp(data(), size(), c, -1); 32020: } 32020: inline int QByteArray::compare(const QByteArray &a, Qt::CaseSensitivity cs) const noexcept 32020: { 32020: return cs == Qt::CaseSensitive ? qstrcmp(*this, a) : 32020: qstrnicmp(data(), size(), a.data(), a.size()); 32020: } 32020: inline bool operator==(const QByteArray &a1, const QByteArray &a2) noexcept 32020: { return (a1.size() == a2.size()) && (memcmp(a1.constData(), a2.constData(), a1.size())==0); } 32020: inline bool operator==(const QByteArray &a1, const char *a2) noexcept 32020: { return a2 ? qstrcmp(a1,a2) == 0 : a1.isEmpty(); } 32020: inline bool operator==(const char *a1, const QByteArray &a2) noexcept 32020: { return a1 ? qstrcmp(a1,a2) == 0 : a2.isEmpty(); } 32020: inline bool operator!=(const QByteArray &a1, const QByteArray &a2) noexcept 32020: { return !(a1==a2); } 32020: inline bool operator!=(const QByteArray &a1, const char *a2) noexcept 32020: { return a2 ? qstrcmp(a1,a2) != 0 : !a1.isEmpty(); } 32020: inline bool operator!=(const char *a1, const QByteArray &a2) noexcept 32020: { return a1 ? qstrcmp(a1,a2) != 0 : !a2.isEmpty(); } 32020: inline bool operator<(const QByteArray &a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) < 0; } 32020: inline bool operator<(const QByteArray &a1, const char *a2) noexcept 32020: { return qstrcmp(a1, a2) < 0; } 32020: inline bool operator<(const char *a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) < 0; } 32020: inline bool operator<=(const QByteArray &a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) <= 0; } 32020: inline bool operator<=(const QByteArray &a1, const char *a2) noexcept 32020: { return qstrcmp(a1, a2) <= 0; } 32020: inline bool operator<=(const char *a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) <= 0; } 32020: inline bool operator>(const QByteArray &a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) > 0; } 32020: inline bool operator>(const QByteArray &a1, const char *a2) noexcept 32020: { return qstrcmp(a1, a2) > 0; } 32020: inline bool operator>(const char *a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) > 0; } 32020: inline bool operator>=(const QByteArray &a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) >= 0; } 32020: inline bool operator>=(const QByteArray &a1, const char *a2) noexcept 32020: { return qstrcmp(a1, a2) >= 0; } 32020: inline bool operator>=(const char *a1, const QByteArray &a2) noexcept 32020: { return qstrcmp(a1, a2) >= 0; } 32020: 32020: inline const QByteArray operator+(const QByteArray &a1, const QByteArray &a2) 32020: { return QByteArray(a1) += a2; } 32020: inline const QByteArray operator+(const QByteArray &a1, const char *a2) 32020: { return QByteArray(a1) += a2; } 32020: inline const QByteArray operator+(const QByteArray &a1, char a2) 32020: { return QByteArray(a1) += a2; } 32020: inline const QByteArray operator+(const char *a1, const QByteArray &a2) 32020: { return QByteArray(a1) += a2; } 32020: inline const QByteArray operator+(char a1, const QByteArray &a2) 32020: { return QByteArray(&a1, 1) += a2; } 32020: 32020: inline bool QByteArray::contains(const char *c) const 32020: { return indexOf(c) != -1; } 32020: inline QByteArray &QByteArray::replace(char before, const char *c) 32020: { return replace(&before, 1, c, qstrlen(c)); } 32020: inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c) 32020: { return replace(before.constData(), before.size(), c, qstrlen(c)); } 32020: inline QByteArray &QByteArray::replace(const char *before, const char *after) 32020: { return replace(before, qstrlen(before), after, qstrlen(after)); } 32020: 32020: inline QByteArray &QByteArray::setNum(short n, int base) 32020: { return base == 10 ? setNum(qlonglong(n), base) : setNum(qulonglong(ushort(n)), base); } 32020: inline QByteArray &QByteArray::setNum(ushort n, int base) 32020: { return setNum(qulonglong(n), base); } 32020: inline QByteArray &QByteArray::setNum(int n, int base) 32020: { return base == 10 ? setNum(qlonglong(n), base) : setNum(qulonglong(uint(n)), base); } 32020: inline QByteArray &QByteArray::setNum(uint n, int base) 32020: { return setNum(qulonglong(n), base); } 32020: inline QByteArray &QByteArray::setNum(float n, char f, int prec) 32020: { return setNum(double(n),f,prec); } 32020: 32020: inline std::string QByteArray::toStdString() const 32020: { return std::string(constData(), length()); } 32020: 32020: inline QByteArray QByteArray::fromStdString(const std::string &s) 32020: { return QByteArray(s.data(), int(s.size())); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QByteArray &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QByteArray &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QByteArray qCompress(const uchar* data, int nbytes, int compressionLevel = -1); 32020: __attribute__((visibility("default"))) QByteArray qUncompress(const uchar* data, int nbytes); 32020: inline QByteArray qCompress(const QByteArray& data, int compressionLevel = -1) 32020: { return qCompress(reinterpret_cast(data.constData()), data.size(), compressionLevel); } 32020: inline QByteArray qUncompress(const QByteArray& data) 32020: { return qUncompress(reinterpret_cast(data.constData()), data.size()); } 32020: 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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); } 32020: 32020: class QByteArray::FromBase64Result 32020: { 32020: public: 32020: QByteArray decoded; 32020: QByteArray::Base64DecodingStatus decodingStatus; 32020: 32020: void swap(QByteArray::FromBase64Result &other) noexcept 32020: { 32020: qSwap(decoded, other.decoded); 32020: qSwap(decodingStatus, other.decodingStatus); 32020: } 32020: 32020: explicit operator bool() const noexcept { return decodingStatus == QByteArray::Base64DecodingStatus::Ok; } 32020: 32020: 32020: QByteArray &operator*() & noexcept { return decoded; } 32020: const QByteArray &operator*() const & noexcept { return decoded; } 32020: QByteArray &&operator*() && noexcept { return std::move(decoded); } 32020: 32020: 32020: 32020: 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QByteArray::FromBase64Result)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QByteArray::FromBase64Result >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QByteArray::FromBase64Result) }; static inline const char *name() { return "QByteArray::FromBase64Result"; } }; inline void swap(QByteArray::FromBase64Result &value1, QByteArray::FromBase64Result &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: inline bool operator==(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept 32020: { 32020: if (lhs.decodingStatus != rhs.decodingStatus) 32020: return false; 32020: 32020: if (lhs.decodingStatus == QByteArray::Base64DecodingStatus::Ok && lhs.decoded != rhs.decoded) 32020: return false; 32020: 32020: return true; 32020: } 32020: 32020: inline bool operator!=(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept 32020: { 32020: return !operator==(lhs, rhs); 32020: } 32020: 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QByteArray::FromBase64Result &key, uint seed = 0) noexcept; 32020: 32020: 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringliteral.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringliteral.h" 3 4 32020: 32020: 32020: typedef QTypedArrayData QStringData; 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef char16_t qunicodechar; 32020: 32020: static_assert(bool(sizeof(qunicodechar) == 2), "qunicodechar must typedef an integral type of size 2") 32020: ; 32020: # 88 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringliteral.h" 3 4 32020: template 32020: struct QStaticStringData 32020: { 32020: QArrayData str; 32020: qunicodechar data[N + 1]; 32020: 32020: QStringData *data_ptr() const 32020: { 32020: static_cast(false && (str.ref.isStatic())); 32020: return const_cast(static_cast(&str)); 32020: } 32020: }; 32020: 32020: struct QStringDataPtr 32020: { 32020: QStringData *ptr; 32020: }; 32020: 32020: 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringalgorithms.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringalgorithms.h" 3 4 32020: 32020: 32020: class QByteArray; 32020: class QLatin1String; 32020: class QStringView; 32020: class QChar; 32020: template class QVector; 32020: 32020: namespace QtPrivate { 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype qustrlen(const ushort *str) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) const ushort *qustrchr(QStringView str, ushort ch) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) int compareStrings(QStringView lhs, QStringView rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) int compareStrings(QStringView lhs, QLatin1String rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) int compareStrings(QLatin1String lhs, QStringView rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) int compareStrings(QLatin1String lhs, QLatin1String rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool startsWith(QStringView haystack, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool startsWith(QStringView haystack, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool startsWith(QLatin1String haystack, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool startsWith(QLatin1String haystack, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool endsWith(QStringView haystack, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool endsWith(QStringView haystack, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool endsWith(QLatin1String haystack, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool endsWith(QLatin1String haystack, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype findString(QStringView haystack, qsizetype from, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype findString(QStringView haystack, qsizetype from, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype findString(QLatin1String haystack, qsizetype from, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype findString(QLatin1String haystack, qsizetype from, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype lastIndexOf(QStringView haystack, qsizetype from, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype lastIndexOf(QStringView haystack, qsizetype from, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype lastIndexOf(QLatin1String haystack, qsizetype from, QStringView needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) qsizetype lastIndexOf(QLatin1String haystack, qsizetype from, QLatin1String needle, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) QStringView trimmed(QStringView s) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) QLatin1String trimmed(QLatin1String s) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) QByteArray convertToLatin1(QStringView str); 32020: [[nodiscard]] __attribute__((visibility("default"))) QByteArray convertToUtf8(QStringView str); 32020: [[nodiscard]] __attribute__((visibility("default"))) QByteArray convertToLocal8Bit(QStringView str); 32020: [[nodiscard]] __attribute__((visibility("default"))) QVector convertToUcs4(QStringView str); 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool isRightToLeft(QStringView string) noexcept; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool isAscii(QLatin1String s) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool isAscii(QStringView s) noexcept; 32020: [[nodiscard]] constexpr inline bool isLatin1(QLatin1String s) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool isLatin1(QStringView s) noexcept; 32020: [[nodiscard]] __attribute__((visibility("default"))) __attribute__((pure)) bool isValidUtf16(QStringView s) noexcept; 32020: 32020: } 32020: 32020: 32020: # 55 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringview.h" 1 3 4 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringview.h" 3 4 32020: 32020: 32020: class QString; 32020: class QStringRef; 32020: class QRegularExpression; 32020: 32020: namespace QtPrivate { 32020: template 32020: struct IsCompatibleCharTypeHelper 32020: : std::integral_constant::value || 32020: std::is_same::value || 32020: std::is_same::value || 32020: (std::is_same::value && sizeof(wchar_t) == sizeof(QChar))> {}; 32020: template 32020: struct IsCompatibleCharType 32020: : IsCompatibleCharTypeHelper::type>::type> {}; 32020: 32020: template 32020: struct IsCompatibleArrayHelper : std::false_type {}; 32020: template 32020: struct IsCompatibleArrayHelper 32020: : IsCompatibleCharType {}; 32020: template 32020: struct IsCompatibleArray 32020: : IsCompatibleArrayHelper::type>::type> {}; 32020: 32020: template 32020: struct IsCompatiblePointerHelper : std::false_type {}; 32020: template 32020: struct IsCompatiblePointerHelper 32020: : IsCompatibleCharType {}; 32020: template 32020: struct IsCompatiblePointer 32020: : IsCompatiblePointerHelper::type>::type> {}; 32020: 32020: template 32020: struct IsCompatibleStdBasicStringHelper : std::false_type {}; 32020: template 32020: struct IsCompatibleStdBasicStringHelper > 32020: : IsCompatibleCharType {}; 32020: 32020: template 32020: struct IsCompatibleStdBasicString 32020: : IsCompatibleStdBasicStringHelper< 32020: typename std::remove_cv::type>::type 32020: > {}; 32020: 32020: } 32020: 32020: class QStringView 32020: { 32020: public: 32020: typedef char16_t storage_type; 32020: typedef const QChar value_type; 32020: typedef std::ptrdiff_t difference_type; 32020: typedef qsizetype size_type; 32020: typedef value_type &reference; 32020: typedef value_type &const_reference; 32020: typedef value_type *pointer; 32020: typedef value_type *const_pointer; 32020: 32020: typedef pointer iterator; 32020: typedef const_pointer const_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: private: 32020: template 32020: using if_compatible_char = typename std::enable_if::value, bool>::type; 32020: 32020: template 32020: using if_compatible_array = typename std::enable_if::value, bool>::type; 32020: 32020: template 32020: using if_compatible_pointer = typename std::enable_if::value, bool>::type; 32020: 32020: template 32020: using if_compatible_string = typename std::enable_if::value, bool>::type; 32020: 32020: template 32020: using if_compatible_qstring_like = typename std::enable_if::value || std::is_same::value, bool>::type; 32020: 32020: template 32020: static constexpr qsizetype lengthHelperArray(const Char (&)[N]) noexcept 32020: { 32020: return qsizetype(N - 1); 32020: } 32020: 32020: template 32020: static qsizetype lengthHelperPointer(const Char *str) noexcept 32020: { 32020: 32020: if (__builtin_constant_p(*str)) { 32020: qsizetype result = 0; 32020: while (*str++) 32020: ++result; 32020: return result; 32020: } 32020: 32020: return QtPrivate::qustrlen(reinterpret_cast(str)); 32020: } 32020: static qsizetype lengthHelperPointer(const QChar *str) noexcept 32020: { 32020: return QtPrivate::qustrlen(reinterpret_cast(str)); 32020: } 32020: 32020: template 32020: static const storage_type *castHelper(const Char *str) noexcept 32020: { return reinterpret_cast(str); } 32020: static constexpr const storage_type *castHelper(const storage_type *str) noexcept 32020: { return str; } 32020: 32020: public: 32020: constexpr QStringView() noexcept 32020: : m_size(0), m_data(nullptr) {} 32020: constexpr QStringView(std::nullptr_t) noexcept 32020: : QStringView() {} 32020: 32020: template = true> 32020: constexpr QStringView(const Char *str, qsizetype len) 32020: : m_size((static_cast(false && (len >= 0)), static_cast(false && (str || !len)), len)), 32020: m_data(castHelper(str)) {} 32020: 32020: template = true> 32020: constexpr QStringView(const Char *f, const Char *l) 32020: : QStringView(f, l - f) {} 32020: # 190 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringview.h" 3 4 32020: template = true> 32020: __attribute__ ((__deprecated__(R"(Use u"~~~" or QStringView(u"~~~") instead of QStringViewLiteral("~~~"))"))) 32020: constexpr QStringView(const Array &str, QtPrivate::Deprecated_t) noexcept 32020: : QStringView(str, lengthHelperArray(str)) {} 32020: 32020: 32020: template = true> 32020: constexpr QStringView(const Array &str) noexcept 32020: : QStringView(str, lengthHelperArray(str)) {} 32020: 32020: template = true> 32020: constexpr QStringView(const Pointer &str) noexcept 32020: : QStringView(str, str ? lengthHelperPointer(str) : 0) {} 32020: 32020: 32020: 32020: 32020: 32020: 32020: template = true> 32020: QStringView(const String &str) noexcept 32020: : QStringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {} 32020: 32020: 32020: template = true> 32020: constexpr QStringView(const StdBasicString &str) noexcept 32020: : QStringView(str.data(), qsizetype(str.size())) {} 32020: 32020: [[nodiscard]] inline QString toString() const; 32020: 32020: [[nodiscard]] constexpr qsizetype size() const noexcept { return m_size; } 32020: [[nodiscard]] const_pointer data() const noexcept { return reinterpret_cast(m_data); } 32020: [[nodiscard]] constexpr const storage_type *utf16() const noexcept { return m_data; } 32020: 32020: [[nodiscard]] constexpr QChar operator[](qsizetype n) const 32020: { return static_cast(false && (n >= 0)), static_cast(false && (n < size())), QChar(m_data[n]); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: [[nodiscard]] inline QString arg(Args &&...args) const; 32020: 32020: [[nodiscard]] QByteArray toLatin1() const { return QtPrivate::convertToLatin1(*this); } 32020: [[nodiscard]] QByteArray toUtf8() const { return QtPrivate::convertToUtf8(*this); } 32020: [[nodiscard]] QByteArray toLocal8Bit() const { return QtPrivate::convertToLocal8Bit(*this); } 32020: [[nodiscard]] inline QVector toUcs4() const; 32020: 32020: [[nodiscard]] constexpr QChar at(qsizetype n) const { return (*this)[n]; } 32020: 32020: [[nodiscard]] constexpr QStringView mid(qsizetype pos) const 32020: { 32020: return QStringView(m_data + qBound(qsizetype(0), pos, m_size), m_size - qBound(qsizetype(0), pos, m_size)); 32020: } 32020: [[nodiscard]] constexpr QStringView mid(qsizetype pos, qsizetype n) const 32020: { 32020: return QStringView(m_data + qBound(qsizetype(0), pos, m_size), qBound(qsizetype(0), pos + n, m_size) - qBound(qsizetype(0), pos, m_size)); 32020: } 32020: [[nodiscard]] constexpr QStringView left(qsizetype n) const 32020: { 32020: return QStringView(m_data, (size_t(n) > size_t(m_size) ? m_size : n)); 32020: } 32020: [[nodiscard]] constexpr QStringView right(qsizetype n) const 32020: { 32020: return QStringView(m_data + m_size - (size_t(n) > size_t(m_size) ? m_size : n), (size_t(n) > size_t(m_size) ? m_size : n)); 32020: } 32020: [[nodiscard]] constexpr QStringView chopped(qsizetype n) const 32020: { return static_cast(false && (n >= 0)), static_cast(false && (n <= size())), QStringView(m_data, m_size - n); } 32020: 32020: constexpr void truncate(qsizetype n) 32020: { static_cast(false && (n >= 0)); static_cast(false && (n <= size())); m_size = n; } 32020: constexpr void chop(qsizetype n) 32020: { static_cast(false && (n >= 0)); static_cast(false && (n <= size())); m_size -= n; } 32020: 32020: [[nodiscard]] QStringView trimmed() const noexcept { return QtPrivate::trimmed(*this); } 32020: 32020: [[nodiscard]] int compare(QStringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::compareStrings(*this, other, cs); } 32020: [[nodiscard]] inline int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: [[nodiscard]] constexpr int compare(QChar c) const noexcept 32020: { return size() >= 1 ? compare_single_char_helper(*utf16() - c.unicode()) : -1; } 32020: [[nodiscard]] int compare(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::compareStrings(*this, QStringView(&c, 1), cs); } 32020: 32020: [[nodiscard]] bool startsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::startsWith(*this, s, cs); } 32020: [[nodiscard]] inline bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: [[nodiscard]] bool startsWith(QChar c) const noexcept 32020: { return !empty() && front() == c; } 32020: [[nodiscard]] bool startsWith(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::startsWith(*this, QStringView(&c, 1), cs); } 32020: 32020: [[nodiscard]] bool endsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::endsWith(*this, s, cs); } 32020: [[nodiscard]] inline bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: [[nodiscard]] bool endsWith(QChar c) const noexcept 32020: { return !empty() && back() == c; } 32020: [[nodiscard]] bool endsWith(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::endsWith(*this, QStringView(&c, 1), cs); } 32020: 32020: [[nodiscard]] qsizetype indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::findString(*this, from, QStringView(&c, 1), cs); } 32020: [[nodiscard]] qsizetype indexOf(QStringView s, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::findString(*this, from, s, cs); } 32020: [[nodiscard]] inline qsizetype indexOf(QLatin1String s, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: [[nodiscard]] bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return indexOf(QStringView(&c, 1), 0, cs) != qsizetype(-1); } 32020: [[nodiscard]] bool contains(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return indexOf(s, 0, cs) != qsizetype(-1); } 32020: [[nodiscard]] inline bool contains(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: [[nodiscard]] inline qsizetype count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: [[nodiscard]] inline qsizetype count(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: [[nodiscard]] qsizetype lastIndexOf(QChar c, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::lastIndexOf(*this, from, QStringView(&c, 1), cs); } 32020: [[nodiscard]] qsizetype lastIndexOf(QStringView s, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::lastIndexOf(*this, from, s, cs); } 32020: [[nodiscard]] inline qsizetype lastIndexOf(QLatin1String s, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: [[nodiscard]] bool isRightToLeft() const noexcept 32020: { return QtPrivate::isRightToLeft(*this); } 32020: [[nodiscard]] bool isValidUtf16() const noexcept 32020: { return QtPrivate::isValidUtf16(*this); } 32020: 32020: [[nodiscard]] inline short toShort(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline ushort toUShort(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline int toInt(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline uint toUInt(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline long toLong(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline ulong toULong(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 32020: [[nodiscard]] inline float toFloat(bool *ok = nullptr) const; 32020: [[nodiscard]] inline double toDouble(bool *ok = nullptr) const; 32020: 32020: [[nodiscard]] inline int toWCharArray(wchar_t *array) const; 32020: 32020: [[nodiscard]] inline 32020: QList split(QStringView sep, 32020: Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] inline 32020: QList split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: [[nodiscard]] inline 32020: QList split(const QRegularExpression &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; 32020: 32020: 32020: 32020: 32020: 32020: [[nodiscard]] const_iterator begin() const noexcept { return data(); } 32020: [[nodiscard]] const_iterator end() const noexcept { return data() + size(); } 32020: [[nodiscard]] const_iterator cbegin() const noexcept { return begin(); } 32020: [[nodiscard]] const_iterator cend() const noexcept { return end(); } 32020: [[nodiscard]] const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 32020: [[nodiscard]] const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 32020: [[nodiscard]] const_reverse_iterator crbegin() const noexcept { return rbegin(); } 32020: [[nodiscard]] const_reverse_iterator crend() const noexcept { return rend(); } 32020: 32020: [[nodiscard]] constexpr bool empty() const noexcept { return size() == 0; } 32020: [[nodiscard]] constexpr QChar front() const { return static_cast(false && (!empty())), QChar(m_data[0]); } 32020: [[nodiscard]] constexpr QChar back() const { return static_cast(false && (!empty())), QChar(m_data[m_size - 1]); } 32020: 32020: 32020: 32020: 32020: [[nodiscard]] constexpr bool isNull() const noexcept { return !m_data; } 32020: [[nodiscard]] constexpr bool isEmpty() const noexcept { return empty(); } 32020: [[nodiscard]] constexpr int length() const 32020: { return static_cast(false && (int(size()) == size())), int(size()); } 32020: [[nodiscard]] constexpr QChar first() const { return front(); } 32020: [[nodiscard]] constexpr QChar last() const { return back(); } 32020: private: 32020: qsizetype m_size; 32020: const storage_type *m_data; 32020: 32020: constexpr int compare_single_char_helper(int diff) const noexcept 32020: { return diff ? diff : size() > 1 ? 1 : 0; } 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QStringView)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QStringView >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QStringView) }; static inline const char *name() { return "QStringView"; } }; 32020: 32020: template ::value || std::is_same::value, 32020: bool>::type = true> 32020: inline QStringView qToStringViewIgnoringNull(const QStringLike &s) noexcept 32020: { return QStringView(s.data(), s.size()); } 32020: 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 2 3 4 32020: # 71 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: 32020: 32020: class QCharRef; 32020: class QRegExp; 32020: class QRegularExpression; 32020: class QRegularExpressionMatch; 32020: class QString; 32020: class QStringList; 32020: class QTextCodec; 32020: class QStringRef; 32020: template class QVector; 32020: 32020: namespace QtPrivate { 32020: template class BoolList; 32020: } 32020: 32020: class QLatin1String 32020: { 32020: public: 32020: constexpr inline QLatin1String() noexcept : m_size(0), m_data(nullptr) {} 32020: constexpr inline explicit QLatin1String(const char *s) noexcept : m_size(s ? int(strlen(s)) : 0), m_data(s) {} 32020: constexpr explicit QLatin1String(const char *f, const char *l) 32020: : QLatin1String(f, int(l - f)) {} 32020: constexpr inline explicit QLatin1String(const char *s, int sz) noexcept : m_size(sz), m_data(s) {} 32020: inline explicit QLatin1String(const QByteArray &s) noexcept : m_size(int(qstrnlen(s.constData(), s.size()))), m_data(s.constData()) {} 32020: 32020: constexpr const char *latin1() const noexcept { return m_data; } 32020: constexpr int size() const noexcept { return m_size; } 32020: constexpr const char *data() const noexcept { return m_data; } 32020: 32020: constexpr bool isNull() const noexcept { return !data(); } 32020: constexpr bool isEmpty() const noexcept { return !size(); } 32020: 32020: template 32020: [[nodiscard]] inline QString arg(Args &&...args) const; 32020: 32020: constexpr QLatin1Char at(int i) const 32020: { return static_cast(false && (i >= 0)), static_cast(false && (i < size())), QLatin1Char(m_data[i]); } 32020: constexpr QLatin1Char operator[](int i) const { return at(i); } 32020: 32020: [[nodiscard]] constexpr QLatin1Char front() const { return at(0); } 32020: [[nodiscard]] constexpr QLatin1Char back() const { return at(size() - 1); } 32020: 32020: [[nodiscard]] int compare(QStringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::compareStrings(*this, other, cs); } 32020: [[nodiscard]] int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::compareStrings(*this, other, cs); } 32020: [[nodiscard]] constexpr int compare(QChar c) const noexcept 32020: { return isEmpty() || front() == c ? size() - 1 : uchar(m_data[0]) - c.unicode() ; } 32020: [[nodiscard]] int compare(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::compareStrings(*this, QStringView(&c, 1), cs); } 32020: 32020: [[nodiscard]] bool startsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::startsWith(*this, s, cs); } 32020: [[nodiscard]] bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::startsWith(*this, s, cs); } 32020: [[nodiscard]] constexpr bool startsWith(QChar c) const noexcept 32020: { return !isEmpty() && front() == c; } 32020: [[nodiscard]] inline bool startsWith(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::startsWith(*this, QStringView(&c, 1), cs); } 32020: 32020: [[nodiscard]] bool endsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::endsWith(*this, s, cs); } 32020: [[nodiscard]] bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::endsWith(*this, s, cs); } 32020: [[nodiscard]] constexpr bool endsWith(QChar c) const noexcept 32020: { return !isEmpty() && back() == c; } 32020: [[nodiscard]] inline bool endsWith(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::endsWith(*this, QStringView(&c, 1), cs); } 32020: 32020: [[nodiscard]] int indexOf(QStringView s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::findString(*this, from, s, cs)); } 32020: [[nodiscard]] int indexOf(QLatin1String s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::findString(*this, from, s, cs)); } 32020: [[nodiscard]] inline int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::findString(*this, from, QStringView(&c, 1), cs)); } 32020: 32020: [[nodiscard]] bool contains(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return indexOf(s, 0, cs) != -1; } 32020: [[nodiscard]] bool contains(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return indexOf(s, 0, cs) != -1; } 32020: [[nodiscard]] inline bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return indexOf(QStringView(&c, 1), 0, cs) != -1; } 32020: 32020: [[nodiscard]] int lastIndexOf(QStringView s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::lastIndexOf(*this, from, s, cs)); } 32020: [[nodiscard]] int lastIndexOf(QLatin1String s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::lastIndexOf(*this, from, s, cs)); } 32020: [[nodiscard]] inline int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::lastIndexOf(*this, from, QStringView(&c, 1), cs)); } 32020: 32020: using value_type = const char; 32020: using reference = value_type&; 32020: using const_reference = reference; 32020: using iterator = value_type*; 32020: using const_iterator = iterator; 32020: using difference_type = int; 32020: using size_type = int; 32020: 32020: constexpr const_iterator begin() const noexcept { return data(); } 32020: constexpr const_iterator cbegin() const noexcept { return data(); } 32020: constexpr const_iterator end() const noexcept { return data() + size(); } 32020: constexpr const_iterator cend() const noexcept { return data() + size(); } 32020: 32020: using reverse_iterator = std::reverse_iterator; 32020: using const_reverse_iterator = reverse_iterator; 32020: 32020: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 32020: 32020: constexpr QLatin1String mid(int pos) const 32020: { return static_cast(false && (pos >= 0)), static_cast(false && (pos <= size())), QLatin1String(m_data + pos, m_size - pos); } 32020: constexpr QLatin1String mid(int pos, int n) const 32020: { return static_cast(false && (pos >= 0)), static_cast(false && (n >= 0)), static_cast(false && (pos + n <= size())), QLatin1String(m_data + pos, n); } 32020: constexpr QLatin1String left(int n) const 32020: { return static_cast(false && (n >= 0)), static_cast(false && (n <= size())), QLatin1String(m_data, n); } 32020: constexpr QLatin1String right(int n) const 32020: { return static_cast(false && (n >= 0)), static_cast(false && (n <= size())), QLatin1String(m_data + m_size - n, n); } 32020: [[nodiscard]] constexpr QLatin1String chopped(int n) const 32020: { return static_cast(false && (n >= 0)), static_cast(false && (n <= size())), QLatin1String(m_data, m_size - n); } 32020: 32020: constexpr void chop(int n) 32020: { static_cast(false && (n >= 0)); static_cast(false && (n <= size())); m_size -= n; } 32020: constexpr void truncate(int n) 32020: { static_cast(false && (n >= 0)); static_cast(false && (n <= size())); m_size = n; } 32020: 32020: [[nodiscard]] QLatin1String trimmed() const noexcept { return QtPrivate::trimmed(*this); } 32020: 32020: inline bool operator==(const QString &s) const noexcept; 32020: inline bool operator!=(const QString &s) const noexcept; 32020: inline bool operator>(const QString &s) const noexcept; 32020: inline bool operator<(const QString &s) const noexcept; 32020: inline bool operator>=(const QString &s) const noexcept; 32020: inline bool operator<=(const QString &s) const noexcept; 32020: 32020: 32020: inline bool operator==(const char *s) const; 32020: inline bool operator!=(const char *s) const; 32020: inline bool operator<(const char *s) const; 32020: inline bool operator>(const char *s) const; 32020: inline bool operator<=(const char *s) const; 32020: inline bool operator>=(const char *s) const; 32020: 32020: inline bool operator==(const QByteArray &s) const; 32020: inline bool operator!=(const QByteArray &s) const; 32020: inline bool operator<(const QByteArray &s) const; 32020: inline bool operator>(const QByteArray &s) const; 32020: inline bool operator<=(const QByteArray &s) const; 32020: inline bool operator>=(const QByteArray &s) const; 32020: 32020: 32020: private: 32020: int m_size; 32020: const char *m_data; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QLatin1String"))) 32020: typedef QLatin1String QLatin1Literal; 32020: 32020: 32020: 32020: 32020: 32020: constexpr bool QtPrivate::isLatin1(QLatin1String) noexcept 32020: { return true; } 32020: 32020: 32020: 32020: 32020: int QStringView::compare(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::compareStrings(*this, s, cs); } 32020: bool QStringView::startsWith(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::startsWith(*this, s, cs); } 32020: bool QStringView::endsWith(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::endsWith(*this, s, cs); } 32020: qsizetype QStringView::indexOf(QLatin1String s, qsizetype from, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::findString(*this, from, s, cs); } 32020: bool QStringView::contains(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 32020: { return indexOf(s, 0, cs) != qsizetype(-1); } 32020: qsizetype QStringView::lastIndexOf(QLatin1String s, qsizetype from, Qt::CaseSensitivity cs) const noexcept 32020: { return QtPrivate::lastIndexOf(*this, from, s, cs); } 32020: 32020: class __attribute__((visibility("default"))) QString 32020: { 32020: public: 32020: typedef QStringData Data; 32020: 32020: inline QString() noexcept; 32020: explicit QString(const QChar *unicode, int size = -1); 32020: QString(QChar c); 32020: QString(int size, QChar c); 32020: inline QString(QLatin1String latin1); 32020: inline QString(const QString &) noexcept; 32020: inline ~QString(); 32020: QString &operator=(QChar c); 32020: QString &operator=(const QString &) noexcept; 32020: QString &operator=(QLatin1String latin1); 32020: inline QString(QString && other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 32020: inline QString &operator=(QString &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: inline void swap(QString &other) noexcept { qSwap(d, other.d); } 32020: inline int size() const { return d->size; } 32020: inline int count() const { return d->size; } 32020: inline int length() const; 32020: inline bool isEmpty() const; 32020: void resize(int size); 32020: void resize(int size, QChar fillChar); 32020: 32020: QString &fill(QChar c, int size = -1); 32020: void truncate(int pos); 32020: void chop(int n); 32020: 32020: int capacity() const; 32020: inline void reserve(int size); 32020: inline void squeeze(); 32020: 32020: inline const QChar *unicode() const; 32020: inline QChar *data(); 32020: inline const QChar *data() const; 32020: inline const QChar *constData() const; 32020: 32020: inline void detach(); 32020: inline bool isDetached() const; 32020: inline bool isSharedWith(const QString &other) const { return d == other.d; } 32020: void clear(); 32020: 32020: inline const QChar at(int i) const; 32020: const QChar operator[](int i) const; 32020: [[nodiscard]] QCharRef operator[](int i); 32020: const QChar operator[](uint i) const; 32020: [[nodiscard]] QCharRef operator[](uint i); 32020: 32020: [[nodiscard]] inline QChar front() const { return at(0); } 32020: [[nodiscard]] inline QCharRef front(); 32020: [[nodiscard]] inline QChar back() const { return at(size() - 1); } 32020: [[nodiscard]] inline QCharRef back(); 32020: 32020: [[nodiscard]] QString arg(qlonglong a, int fieldwidth=0, int base=10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(qulonglong a, int fieldwidth=0, int base=10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(long a, int fieldwidth=0, int base=10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(ulong a, int fieldwidth=0, int base=10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(int a, int fieldWidth = 0, int base = 10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(uint a, int fieldWidth = 0, int base = 10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(short a, int fieldWidth = 0, int base = 10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(ushort a, int fieldWidth = 0, int base = 10, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(char a, int fieldWidth = 0, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(QChar a, int fieldWidth = 0, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: 32020: [[nodiscard]] QString arg(const QString &a, int fieldWidth = 0, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: 32020: [[nodiscard]] QString arg(QStringView a, int fieldWidth = 0, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: [[nodiscard]] QString arg(QLatin1String a, int fieldWidth = 0, 32020: QChar fillChar = QLatin1Char(' ')) const; 32020: 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6, 32020: const QString &a7) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6, 32020: const QString &a7, const QString &a8) const; 32020: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6, 32020: const QString &a7, const QString &a8, const QString &a9) const; 32020: 32020: private: 32020: template 32020: struct is_convertible_to_view_or_qstring_helper 32020: : std::integral_constant::value || 32020: std::is_convertible::value || 32020: std::is_convertible::value> {}; 32020: template 32020: struct is_convertible_to_view_or_qstring 32020: : is_convertible_to_view_or_qstring_helper::type> {}; 32020: public: 32020: template 32020: [[nodiscard]] 32020: 32020: 32020: 32020: typename std::enable_if< 32020: sizeof...(Args) >= 2 && std::is_same< 32020: QtPrivate::BoolList::value..., true>, 32020: QtPrivate::BoolList::value...> 32020: >::value, 32020: QString 32020: >::type 32020: 32020: arg(Args &&...args) const 32020: { return qToStringViewIgnoringNull(*this).arg(std::forward(args)...); } 32020: 32020: 32020: __attribute__ ((__deprecated__("Use vasprintf(), arg() or QTextStream instead"))) 32020: QString &vsprintf(const char *format, va_list ap) __attribute__((format(printf, (2), (0)))); 32020: __attribute__ ((__deprecated__("Use asprintf(), arg() or QTextStream instead"))) 32020: QString &sprintf(const char *format, ...) __attribute__((format(printf, (2), (3)))); 32020: 32020: static QString vasprintf(const char *format, va_list ap) __attribute__((format(printf, (1), (0)))); 32020: static QString asprintf(const char *format, ...) __attribute__((format(printf, (1), (2)))); 32020: 32020: int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int indexOf(QLatin1String s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int indexOf(const QStringRef &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] int indexOf(QStringView s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::findString(*this, from, s, cs)); } 32020: int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int lastIndexOf(QLatin1String s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: int lastIndexOf(const QString &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int lastIndexOf(const QStringRef &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: [[nodiscard]] int lastIndexOf(QStringView s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::lastIndexOf(*this, from, s, cs)); } 32020: 32020: inline bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: inline bool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline bool contains(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: inline bool contains(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline bool contains(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: int indexOf(const QRegExp &, int from = 0) const; 32020: int lastIndexOf(const QRegExp &, int from = -1) const; 32020: inline bool contains(const QRegExp &rx) const { return indexOf(rx) != -1; } 32020: int count(const QRegExp &) const; 32020: 32020: int indexOf(QRegExp &, int from = 0) const; 32020: int lastIndexOf(QRegExp &, int from = -1) const; 32020: inline bool contains(QRegExp &rx) const { return indexOf(rx) != -1; } 32020: 32020: 32020: 32020: int indexOf(const QRegularExpression &re, int from = 0) const; 32020: int indexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; 32020: int lastIndexOf(const QRegularExpression &re, int from = -1) const; 32020: int lastIndexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; 32020: bool contains(const QRegularExpression &re) const; 32020: bool contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch) const; 32020: int count(const QRegularExpression &re) const; 32020: 32020: 32020: enum SectionFlag { 32020: SectionDefault = 0x00, 32020: SectionSkipEmpty = 0x01, 32020: SectionIncludeLeadingSep = 0x02, 32020: SectionIncludeTrailingSep = 0x04, 32020: SectionCaseInsensitiveSeps = 0x08 32020: }; 32020: typedef QFlags SectionFlags; 32020: 32020: QString section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; 32020: QString section(const QString &in_sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; 32020: 32020: QString section(const QRegExp ®, int start, int end = -1, SectionFlags flags = SectionDefault) const; 32020: 32020: 32020: QString section(const QRegularExpression &re, int start, int end = -1, SectionFlags flags = SectionDefault) const; 32020: 32020: [[nodiscard]] QString left(int n) const; 32020: [[nodiscard]] QString right(int n) const; 32020: [[nodiscard]] QString mid(int position, int n = -1) const; 32020: [[nodiscard]] QString chopped(int n) const 32020: { static_cast(false && (n >= 0)); static_cast(false && (n <= size())); return left(size() - n); } 32020: 32020: 32020: [[nodiscard]] QStringRef leftRef(int n) const; 32020: [[nodiscard]] QStringRef rightRef(int n) const; 32020: [[nodiscard]] QStringRef midRef(int position, int n = -1) const; 32020: 32020: 32020: bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool startsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] bool startsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::startsWith(*this, s, cs); } 32020: bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool endsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] bool endsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::endsWith(*this, s, cs); } 32020: bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: bool isUpper() const; 32020: bool isLower() const; 32020: 32020: [[nodiscard]] QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const; 32020: [[nodiscard]] QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const; 32020: # 508 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: [[nodiscard]] QString toLower() const & 32020: { return toLower_helper(*this); } 32020: [[nodiscard]] QString toLower() && 32020: { return toLower_helper(*this); } 32020: [[nodiscard]] QString toUpper() const & 32020: { return toUpper_helper(*this); } 32020: [[nodiscard]] QString toUpper() && 32020: { return toUpper_helper(*this); } 32020: [[nodiscard]] QString toCaseFolded() const & 32020: { return toCaseFolded_helper(*this); } 32020: [[nodiscard]] QString toCaseFolded() && 32020: { return toCaseFolded_helper(*this); } 32020: [[nodiscard]] QString trimmed() const & 32020: { return trimmed_helper(*this); } 32020: [[nodiscard]] QString trimmed() && 32020: { return trimmed_helper(*this); } 32020: [[nodiscard]] QString simplified() const & 32020: { return simplified_helper(*this); } 32020: [[nodiscard]] QString simplified() && 32020: { return simplified_helper(*this); } 32020: # 538 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: [[nodiscard]] QString toHtmlEscaped() const; 32020: 32020: QString &insert(int i, QChar c); 32020: QString &insert(int i, const QChar *uc, int len); 32020: inline QString &insert(int i, const QString &s) { return insert(i, s.constData(), s.length()); } 32020: inline QString &insert(int i, const QStringRef &s); 32020: inline QString &insert(int i, QStringView s) 32020: { return insert(i, s.data(), s.length()); } 32020: QString &insert(int i, QLatin1String s); 32020: QString &append(QChar c); 32020: QString &append(const QChar *uc, int len); 32020: QString &append(const QString &s); 32020: QString &append(const QStringRef &s); 32020: QString &append(QLatin1String s); 32020: inline QString &append(QStringView s) { return append(s.data(), s.length()); } 32020: inline QString &prepend(QChar c) { return insert(0, c); } 32020: inline QString &prepend(const QChar *uc, int len) { return insert(0, uc, len); } 32020: inline QString &prepend(const QString &s) { return insert(0, s); } 32020: inline QString &prepend(const QStringRef &s) { return insert(0, s); } 32020: inline QString &prepend(QLatin1String s) { return insert(0, s); } 32020: inline QString &prepend(QStringView s) { return insert(0, s); } 32020: 32020: inline QString &operator+=(QChar c) { 32020: if (d->ref.isShared() || uint(d->size) + 2u > d->alloc) 32020: reallocData(uint(d->size) + 2u, true); 32020: d->data()[d->size++] = c.unicode(); 32020: d->data()[d->size] = '\0'; 32020: return *this; 32020: } 32020: 32020: inline QString &operator+=(QChar::SpecialCharacter c) { return append(QChar(c)); } 32020: inline QString &operator+=(const QString &s) { return append(s); } 32020: inline QString &operator+=(const QStringRef &s) { return append(s); } 32020: inline QString &operator+=(QLatin1String s) { return append(s); } 32020: inline QString &operator+=(QStringView s) { return append(s); } 32020: 32020: QString &remove(int i, int len); 32020: QString &remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &remove(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &remove(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(int i, int len, QChar after); 32020: QString &replace(int i, int len, const QChar *s, int slen); 32020: QString &replace(int i, int len, const QString &after); 32020: QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(const QChar *before, int blen, const QChar *after, int alen, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(QLatin1String before, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(QLatin1String before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(const QString &before, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(const QString &before, const QString &after, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(QChar c, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QString &replace(QChar c, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: 32020: QString &replace(const QRegExp &rx, const QString &after); 32020: inline QString &remove(const QRegExp &rx) 32020: { return replace(rx, QString()); } 32020: 32020: 32020: QString &replace(const QRegularExpression &re, const QString &after); 32020: inline QString &remove(const QRegularExpression &re) 32020: { return replace(re, QString()); } 32020: 32020: 32020: 32020: enum SplitBehavior 32020: { 32020: KeepEmptyParts __attribute__ ((__deprecated__)), 32020: SkipEmptyParts __attribute__ ((__deprecated__)) 32020: }; 32020: 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QStringList split(const QString &sep, SplitBehavior behavior, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QVector splitRef(const QString &sep, SplitBehavior behavior, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QStringList split(QChar sep, SplitBehavior behavior, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QVector splitRef(QChar sep, SplitBehavior behavior, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QStringList split(const QRegExp &sep, SplitBehavior behavior) const; 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QVector splitRef(const QRegExp &sep, SplitBehavior behavior) const; 32020: 32020: 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QStringList split(const QRegularExpression &sep, SplitBehavior behavior) const; 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QVector splitRef(const QRegularExpression &sep, SplitBehavior behavior) const; 32020: 32020: 32020: 32020: public: 32020: [[nodiscard]] 32020: QStringList split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] 32020: QVector splitRef(const QString &sep, 32020: Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] 32020: QStringList split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] 32020: QVector splitRef(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] 32020: QStringList split(const QRegExp &sep, 32020: Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; 32020: [[nodiscard]] 32020: QVector splitRef(const QRegExp &sep, 32020: Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; 32020: 32020: 32020: [[nodiscard]] 32020: QStringList split(const QRegularExpression &sep, 32020: Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; 32020: [[nodiscard]] 32020: QVector splitRef(const QRegularExpression &sep, 32020: Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; 32020: 32020: 32020: 32020: enum NormalizationForm { 32020: NormalizationForm_D, 32020: NormalizationForm_C, 32020: NormalizationForm_KD, 32020: NormalizationForm_KC 32020: }; 32020: [[nodiscard]] QString normalized(NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const; 32020: 32020: [[nodiscard]] QString repeated(int times) const; 32020: 32020: const ushort *utf16() const; 32020: 32020: 32020: [[nodiscard]] QByteArray toLatin1() const & 32020: { return toLatin1_helper(*this); } 32020: [[nodiscard]] QByteArray toLatin1() && 32020: { return toLatin1_helper_inplace(*this); } 32020: [[nodiscard]] QByteArray toUtf8() const & 32020: { return toUtf8_helper(*this); } 32020: [[nodiscard]] QByteArray toUtf8() && 32020: { return toUtf8_helper(*this); } 32020: [[nodiscard]] QByteArray toLocal8Bit() const & 32020: { return toLocal8Bit_helper(isNull() ? nullptr : constData(), size()); } 32020: [[nodiscard]] QByteArray toLocal8Bit() && 32020: { return toLocal8Bit_helper(isNull() ? nullptr : constData(), size()); } 32020: 32020: 32020: 32020: 32020: 32020: [[nodiscard]] QVector toUcs4() const; 32020: 32020: 32020: static inline QString fromLatin1(const char *str, int size = -1) 32020: { 32020: QStringDataPtr dataPtr = { fromLatin1_helper(str, (str && size == -1) ? int(strlen(str)) : size) }; 32020: return QString(dataPtr); 32020: } 32020: static inline QString fromUtf8(const char *str, int size = -1) 32020: { 32020: return fromUtf8_helper(str, (str && size == -1) ? int(strlen(str)) : size); 32020: } 32020: static inline QString fromLocal8Bit(const char *str, int size = -1) 32020: { 32020: return fromLocal8Bit_helper(str, (str && size == -1) ? int(strlen(str)) : size); 32020: } 32020: static inline QString fromLatin1(const QByteArray &str) 32020: { return str.isNull() ? QString() : fromLatin1(str.data(), qstrnlen(str.constData(), str.size())); } 32020: static inline QString fromUtf8(const QByteArray &str) 32020: { return str.isNull() ? QString() : fromUtf8(str.data(), qstrnlen(str.constData(), str.size())); } 32020: static inline QString fromLocal8Bit(const QByteArray &str) 32020: { return str.isNull() ? QString() : fromLocal8Bit(str.data(), qstrnlen(str.constData(), str.size())); } 32020: static QString fromUtf16(const ushort *, int size = -1); 32020: static QString fromUcs4(const uint *, int size = -1); 32020: static QString fromRawData(const QChar *, int size); 32020: 32020: 32020: static QString fromUtf16(const char16_t *str, int size = -1) 32020: { return fromUtf16(reinterpret_cast(str), size); } 32020: static QString fromUcs4(const char32_t *str, int size = -1) 32020: { return fromUcs4(reinterpret_cast(str), size); } 32020: # 738 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: inline int toWCharArray(wchar_t *array) const; 32020: [[nodiscard]] static inline QString fromWCharArray(const wchar_t *string, int size = -1); 32020: 32020: QString &setRawData(const QChar *unicode, int size); 32020: QString &setUnicode(const QChar *unicode, int size); 32020: inline QString &setUtf16(const ushort *utf16, int size); 32020: 32020: 32020: int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: inline int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: inline int compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: int compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return compare(QStringView{&ch, 1}, cs); } 32020: 32020: static inline int compare(const QString &s1, const QString &s2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 32020: { return s1.compare(s2, cs); } 32020: 32020: static inline int compare(const QString &s1, QLatin1String s2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 32020: { return s1.compare(s2, cs); } 32020: static inline int compare(QLatin1String s1, const QString &s2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 32020: { return -s2.compare(s1, cs); } 32020: 32020: static int compare(const QString &s1, const QStringRef &s2, 32020: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 32020: 32020: int localeAwareCompare(const QString& s) const; 32020: static int localeAwareCompare(const QString& s1, const QString& s2) 32020: { return s1.localeAwareCompare(s2); } 32020: 32020: int localeAwareCompare(const QStringRef &s) const; 32020: static int localeAwareCompare(const QString& s1, const QStringRef& s2); 32020: 32020: 32020: short toShort(bool *ok=nullptr, int base=10) const; 32020: ushort toUShort(bool *ok=nullptr, int base=10) const; 32020: int toInt(bool *ok=nullptr, int base=10) const; 32020: uint toUInt(bool *ok=nullptr, int base=10) const; 32020: long toLong(bool *ok=nullptr, int base=10) const; 32020: ulong toULong(bool *ok=nullptr, int base=10) const; 32020: qlonglong toLongLong(bool *ok=nullptr, int base=10) const; 32020: qulonglong toULongLong(bool *ok=nullptr, int base=10) const; 32020: float toFloat(bool *ok=nullptr) const; 32020: double toDouble(bool *ok=nullptr) const; 32020: 32020: QString &setNum(short, int base=10); 32020: QString &setNum(ushort, int base=10); 32020: QString &setNum(int, int base=10); 32020: QString &setNum(uint, int base=10); 32020: QString &setNum(long, int base=10); 32020: QString &setNum(ulong, int base=10); 32020: QString &setNum(qlonglong, int base=10); 32020: QString &setNum(qulonglong, int base=10); 32020: QString &setNum(float, char f='g', int prec=6); 32020: QString &setNum(double, char f='g', int prec=6); 32020: 32020: static QString number(int, int base=10); 32020: static QString number(uint, int base=10); 32020: static QString number(long, int base=10); 32020: static QString number(ulong, int base=10); 32020: static QString number(qlonglong, int base=10); 32020: static QString number(qulonglong, int base=10); 32020: static QString number(double, char f='g', int prec=6); 32020: 32020: friend __attribute__((visibility("default"))) bool operator==(const QString &s1, const QString &s2) noexcept; 32020: friend __attribute__((visibility("default"))) bool operator<(const QString &s1, const QString &s2) noexcept; 32020: friend inline bool operator>(const QString &s1, const QString &s2) noexcept { return s2 < s1; } 32020: friend inline bool operator!=(const QString &s1, const QString &s2) noexcept { return !(s1 == s2); } 32020: friend inline bool operator<=(const QString &s1, const QString &s2) noexcept { return !(s1 > s2); } 32020: friend inline bool operator>=(const QString &s1, const QString &s2) noexcept { return !(s1 < s2); } 32020: 32020: bool operator==(QLatin1String s) const noexcept; 32020: bool operator<(QLatin1String s) const noexcept; 32020: bool operator>(QLatin1String s) const noexcept; 32020: inline bool operator!=(QLatin1String s) const noexcept { return !operator==(s); } 32020: inline bool operator<=(QLatin1String s) const noexcept { return !operator>(s); } 32020: inline bool operator>=(QLatin1String s) const noexcept { return !operator<(s); } 32020: # 835 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: inline QString(const char *ch) 32020: : d(fromAscii_helper(ch, ch ? int(strlen(ch)) : -1)) 32020: {} 32020: inline QString(const QByteArray &a) 32020: : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) 32020: {} 32020: inline QString &operator=(const char *ch) 32020: { return (*this = fromUtf8(ch)); } 32020: inline QString &operator=(const QByteArray &a) 32020: { return (*this = fromUtf8(a)); } 32020: inline QString &operator=(char c) 32020: { return (*this = QChar::fromLatin1(c)); } 32020: 32020: 32020: inline QString &prepend(const char *s) 32020: { return prepend(QString::fromUtf8(s)); } 32020: inline QString &prepend(const QByteArray &s) 32020: { return prepend(QString::fromUtf8(s)); } 32020: inline QString &append(const char *s) 32020: { return append(QString::fromUtf8(s)); } 32020: inline QString &append(const QByteArray &s) 32020: { return append(QString::fromUtf8(s)); } 32020: inline QString &insert(int i, const char *s) 32020: { return insert(i, QString::fromUtf8(s)); } 32020: inline QString &insert(int i, const QByteArray &s) 32020: { return insert(i, QString::fromUtf8(s)); } 32020: inline QString &operator+=(const char *s) 32020: { return append(QString::fromUtf8(s)); } 32020: inline QString &operator+=(const QByteArray &s) 32020: { return append(QString::fromUtf8(s)); } 32020: inline QString &operator+=(char c) 32020: { return append(QChar::fromLatin1(c)); } 32020: 32020: inline bool operator==(const char *s) const; 32020: inline bool operator!=(const char *s) const; 32020: inline bool operator<(const char *s) const; 32020: inline bool operator<=(const char *s) const; 32020: inline bool operator>(const char *s) const; 32020: inline bool operator>=(const char *s) const; 32020: 32020: inline bool operator==(const QByteArray &s) const; 32020: inline bool operator!=(const QByteArray &s) const; 32020: inline bool operator<(const QByteArray &s) const; 32020: inline bool operator>(const QByteArray &s) const; 32020: inline bool operator<=(const QByteArray &s) const; 32020: inline bool operator>=(const QByteArray &s) const; 32020: 32020: friend inline bool operator==(const char *s1, const QString &s2); 32020: friend inline bool operator!=(const char *s1, const QString &s2); 32020: friend inline bool operator<(const char *s1, const QString &s2); 32020: friend inline bool operator>(const char *s1, const QString &s2); 32020: friend inline bool operator<=(const char *s1, const QString &s2); 32020: friend inline bool operator>=(const char *s1, const QString &s2); 32020: 32020: friend inline bool operator==(const char *s1, const QStringRef &s2); 32020: friend inline bool operator!=(const char *s1, const QStringRef &s2); 32020: friend inline bool operator<(const char *s1, const QStringRef &s2); 32020: friend inline bool operator>(const char *s1, const QStringRef &s2); 32020: friend inline bool operator<=(const char *s1, const QStringRef &s2); 32020: friend inline bool operator>=(const char *s1, const QStringRef &s2); 32020: 32020: 32020: typedef QChar *iterator; 32020: typedef const QChar *const_iterator; 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: inline iterator begin(); 32020: inline const_iterator begin() const; 32020: inline const_iterator cbegin() const; 32020: inline const_iterator constBegin() const; 32020: inline iterator end(); 32020: inline const_iterator end() const; 32020: inline const_iterator cend() const; 32020: inline const_iterator constEnd() const; 32020: reverse_iterator rbegin() { return reverse_iterator(end()); } 32020: reverse_iterator rend() { return reverse_iterator(begin()); } 32020: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 32020: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 32020: 32020: 32020: typedef int size_type; 32020: typedef qptrdiff difference_type; 32020: typedef const QChar & const_reference; 32020: typedef QChar & reference; 32020: typedef QChar *pointer; 32020: typedef const QChar *const_pointer; 32020: typedef QChar value_type; 32020: inline void push_back(QChar c) { append(c); } 32020: inline void push_back(const QString &s) { append(s); } 32020: inline void push_front(QChar c) { prepend(c); } 32020: inline void push_front(const QString &s) { prepend(s); } 32020: void shrink_to_fit() { squeeze(); } 32020: 32020: static inline QString fromStdString(const std::string &s); 32020: inline std::string toStdString() const; 32020: static inline QString fromStdWString(const std::wstring &s); 32020: inline std::wstring toStdWString() const; 32020: 32020: 32020: static inline QString fromStdU16String(const std::u16string &s); 32020: inline std::u16string toStdU16String() const; 32020: static inline QString fromStdU32String(const std::u32string &s); 32020: inline std::u32string toStdU32String() const; 32020: # 952 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: struct Null { }; 32020: __attribute__ ((__deprecated__("use QString()"))) 32020: static const Null null; 32020: inline QString(const Null &): d(Data::sharedNull()) {} 32020: inline QString &operator=(const Null &) { *this = QString(); return *this; } 32020: 32020: inline bool isNull() const { return d == Data::sharedNull(); } 32020: 32020: 32020: bool isSimpleText() const; 32020: bool isRightToLeft() const; 32020: [[nodiscard]] bool isValidUtf16() const noexcept 32020: { return QStringView(*this).isValidUtf16(); } 32020: 32020: QString(int size, Qt::Initialization); 32020: constexpr inline QString(QStringDataPtr dd) : d(dd.ptr) {} 32020: 32020: private: 32020: # 979 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: Data *d; 32020: 32020: friend inline bool operator==(QChar, const QString &) noexcept; 32020: friend inline bool operator< (QChar, const QString &) noexcept; 32020: friend inline bool operator> (QChar, const QString &) noexcept; 32020: friend inline bool operator==(QChar, const QStringRef &) noexcept; 32020: friend inline bool operator< (QChar, const QStringRef &) noexcept; 32020: friend inline bool operator> (QChar, const QStringRef &) noexcept; 32020: friend inline bool operator==(QChar, QLatin1String) noexcept; 32020: friend inline bool operator< (QChar, QLatin1String) noexcept; 32020: friend inline bool operator> (QChar, QLatin1String) noexcept; 32020: 32020: void reallocData(uint alloc, bool grow = false); 32020: 32020: void expand(int i); 32020: QString multiArg(int numArgs, const QString **args) const; 32020: 32020: static int compare_helper(const QChar *data1, int length1, 32020: const QChar *data2, int length2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: static int compare_helper(const QChar *data1, int length1, 32020: const char *data2, int length2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: static int compare_helper(const QChar *data1, int length1, 32020: QLatin1String s2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: static int localeAwareCompare_helper(const QChar *data1, int length1, 32020: const QChar *data2, int length2); 32020: static QString toLower_helper(const QString &str); 32020: static QString toLower_helper(QString &str); 32020: static QString toUpper_helper(const QString &str); 32020: static QString toUpper_helper(QString &str); 32020: static QString toCaseFolded_helper(const QString &str); 32020: static QString toCaseFolded_helper(QString &str); 32020: static QString trimmed_helper(const QString &str); 32020: static QString trimmed_helper(QString &str); 32020: static QString simplified_helper(const QString &str); 32020: static QString simplified_helper(QString &str); 32020: static Data *fromLatin1_helper(const char *str, int size = -1); 32020: static Data *fromAscii_helper(const char *str, int size = -1); 32020: static QString fromUtf8_helper(const char *str, int size); 32020: static QString fromLocal8Bit_helper(const char *, int size); 32020: static QByteArray toLatin1_helper(const QString &); 32020: static QByteArray toLatin1_helper_inplace(QString &); 32020: static QByteArray toUtf8_helper(const QString &); 32020: static QByteArray toLocal8Bit_helper(const QChar *data, int size); 32020: static int toUcs4_helper(const ushort *uc, int length, uint *out); 32020: static qlonglong toIntegral_helper(const QChar *data, int len, bool *ok, int base); 32020: static qulonglong toIntegral_helper(const QChar *data, uint len, bool *ok, int base); 32020: void replace_helper(uint *indices, int nIndices, int blen, const QChar *after, int alen); 32020: friend class QCharRef; 32020: friend class QTextCodec; 32020: friend class QStringRef; 32020: friend class QStringView; 32020: friend class QByteArray; 32020: friend class QCollator; 32020: friend struct QAbstractConcatenable; 32020: 32020: template static 32020: T toIntegral_helper(const QChar *data, int len, bool *ok, int base) 32020: { 32020: using Int64 = typename std::conditional::value, qulonglong, qlonglong>::type; 32020: using Int32 = typename std::conditional::value, uint, int>::type; 32020: 32020: 32020: Int64 val = toIntegral_helper(data, Int32(len), ok, base); 32020: if (T(val) != val) { 32020: if (ok) 32020: *ok = false; 32020: val = 0; 32020: } 32020: return T(val); 32020: } 32020: 32020: public: 32020: typedef Data * DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: 32020: 32020: 32020: QString QStringView::toString() const 32020: { return static_cast(false && (size() == length())), QString(data(), length()); } 32020: 32020: 32020: 32020: 32020: inline QString::QString(QLatin1String aLatin1) : d(fromLatin1_helper(aLatin1.latin1(), aLatin1.size())) 32020: { } 32020: inline int QString::length() const 32020: { return d->size; } 32020: inline const QChar QString::at(int i) const 32020: { static_cast(false && (uint(i) < uint(size()))); return QChar(d->data()[i]); } 32020: inline const QChar QString::operator[](int i) const 32020: { static_cast(false && (uint(i) < uint(size()))); return QChar(d->data()[i]); } 32020: inline const QChar QString::operator[](uint i) const 32020: { static_cast(false && (i < uint(size()))); return QChar(d->data()[i]); } 32020: inline bool QString::isEmpty() const 32020: { return d->size == 0; } 32020: inline const QChar *QString::unicode() const 32020: { return reinterpret_cast(d->data()); } 32020: inline const QChar *QString::data() const 32020: { return reinterpret_cast(d->data()); } 32020: inline QChar *QString::data() 32020: { detach(); return reinterpret_cast(d->data()); } 32020: inline const QChar *QString::constData() const 32020: { return reinterpret_cast(d->data()); } 32020: inline void QString::detach() 32020: { if (d->ref.isShared() || (d->offset != sizeof(QStringData))) reallocData(uint(d->size) + 1u); } 32020: inline bool QString::isDetached() const 32020: { return !d->ref.isShared(); } 32020: inline void QString::clear() 32020: { if (!isNull()) *this = QString(); } 32020: inline QString::QString(const QString &other) noexcept : d(other.d) 32020: { static_cast(false && (&other != this)); d->ref.ref(); } 32020: inline int QString::capacity() const 32020: { return d->alloc ? d->alloc - 1 : 0; } 32020: inline QString &QString::setNum(short n, int base) 32020: { return setNum(qlonglong(n), base); } 32020: inline QString &QString::setNum(ushort n, int base) 32020: { return setNum(qulonglong(n), base); } 32020: inline QString &QString::setNum(int n, int base) 32020: { return setNum(qlonglong(n), base); } 32020: inline QString &QString::setNum(uint n, int base) 32020: { return setNum(qulonglong(n), base); } 32020: inline QString &QString::setNum(long n, int base) 32020: { return setNum(qlonglong(n), base); } 32020: inline QString &QString::setNum(ulong n, int base) 32020: { return setNum(qulonglong(n), base); } 32020: inline QString &QString::setNum(float n, char f, int prec) 32020: { return setNum(double(n),f,prec); } 32020: inline QString QString::arg(int a, int fieldWidth, int base, QChar fillChar) const 32020: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 32020: inline QString QString::arg(uint a, int fieldWidth, int base, QChar fillChar) const 32020: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 32020: inline QString QString::arg(long a, int fieldWidth, int base, QChar fillChar) const 32020: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 32020: inline QString QString::arg(ulong a, int fieldWidth, int base, QChar fillChar) const 32020: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 32020: inline QString QString::arg(short a, int fieldWidth, int base, QChar fillChar) const 32020: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 32020: inline QString QString::arg(ushort a, int fieldWidth, int base, QChar fillChar) const 32020: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 32020: 32020: inline QString QString::arg(const QString &a1, const QString &a2) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3, a4); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3, a4, a5); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3, a4, a5, a6); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6, 32020: const QString &a7) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3, a4, a5, a6, a7); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6, 32020: const QString &a7, const QString &a8) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3, a4, a5, a6, a7, a8); } 32020: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 32020: const QString &a4, const QString &a5, const QString &a6, 32020: const QString &a7, const QString &a8, const QString &a9) const 32020: { return qToStringViewIgnoringNull(*this).arg(a1, a2, a3, a4, a5, a6, a7, a8, a9); } 32020: 32020: 32020: inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const 32020: { return section(QString(asep), astart, aend, aflags); } 32020: 32020: 32020: # 1154 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 1154 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: 32020: 32020: 32020: 32020: inline int QString::toWCharArray(wchar_t *array) const 32020: { 32020: return qToStringViewIgnoringNull(*this).toWCharArray(array); 32020: } 32020: 32020: int QStringView::toWCharArray(wchar_t *array) const 32020: { 32020: if (sizeof(wchar_t) == sizeof(QChar)) { 32020: if (auto src = data()) 32020: memcpy(array, src, sizeof(QChar) * size()); 32020: return int(size()); 32020: } else { 32020: return QString::toUcs4_helper(reinterpret_cast(data()), int(size()), 32020: reinterpret_cast(array)); 32020: } 32020: } 32020: 32020: 32020: # 1175 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 1175 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstring.h" 3 4 32020: 32020: 32020: inline QString QString::fromWCharArray(const wchar_t *string, int size) 32020: { 32020: return sizeof(wchar_t) == sizeof(QChar) ? fromUtf16(reinterpret_cast(string), size) 32020: : fromUcs4(reinterpret_cast(string), size); 32020: } 32020: 32020: class 32020: 32020: __attribute__((visibility("default"))) 32020: 32020: QCharRef { 32020: QString &s; 32020: int i; 32020: inline QCharRef(QString &str, int idx) 32020: : s(str),i(idx) {} 32020: friend class QString; 32020: public: 32020: QCharRef(const QCharRef &) = default; 32020: 32020: 32020: 32020: 32020: inline operator QChar() const 32020: { 32020: using namespace QtPrivate::DeprecatedRefClassBehavior; 32020: if (__builtin_expect(!!(i < s.d->size), true)) 32020: return QChar(s.d->data()[i]); 32020: 32020: 32020: 32020: return QChar(); 32020: } 32020: inline QCharRef &operator=(QChar c) 32020: { 32020: using namespace QtPrivate::DeprecatedRefClassBehavior; 32020: if (__builtin_expect(!!(i >= s.d->size), false)) { 32020: 32020: 32020: 32020: s.resize(i + 1, QLatin1Char(' ')); 32020: } else { 32020: 32020: 32020: 32020: 32020: s.detach(); 32020: } 32020: s.d->data()[i] = c.unicode(); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: inline QCharRef &operator=(char c) 32020: { return operator=(QChar::fromLatin1(c)); } 32020: inline QCharRef &operator=(uchar c) 32020: { return operator=(QChar::fromLatin1(c)); } 32020: 32020: inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } 32020: inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } 32020: inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } 32020: inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } 32020: inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } 32020: 32020: 32020: inline bool isNull() const { return QChar(*this).isNull(); } 32020: inline bool isPrint() const { return QChar(*this).isPrint(); } 32020: inline bool isPunct() const { return QChar(*this).isPunct(); } 32020: inline bool isSpace() const { return QChar(*this).isSpace(); } 32020: inline bool isMark() const { return QChar(*this).isMark(); } 32020: inline bool isLetter() const { return QChar(*this).isLetter(); } 32020: inline bool isNumber() const { return QChar(*this).isNumber(); } 32020: inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } 32020: inline bool isDigit() const { return QChar(*this).isDigit(); } 32020: inline bool isLower() const { return QChar(*this).isLower(); } 32020: inline bool isUpper() const { return QChar(*this).isUpper(); } 32020: inline bool isTitleCase() const { return QChar(*this).isTitleCase(); } 32020: 32020: inline int digitValue() const { return QChar(*this).digitValue(); } 32020: QChar toLower() const { return QChar(*this).toLower(); } 32020: QChar toUpper() const { return QChar(*this).toUpper(); } 32020: QChar toTitleCase () const { return QChar(*this).toTitleCase(); } 32020: 32020: QChar::Category category() const { return QChar(*this).category(); } 32020: QChar::Direction direction() const { return QChar(*this).direction(); } 32020: QChar::JoiningType joiningType() const { return QChar(*this).joiningType(); } 32020: 32020: __attribute__ ((__deprecated__)) QChar::Joining joining() const 32020: { 32020: switch (QChar(*this).joiningType()) { 32020: case QChar::Joining_Causing: return QChar::Center; 32020: case QChar::Joining_Dual: return QChar::Dual; 32020: case QChar::Joining_Right: return QChar::Right; 32020: case QChar::Joining_None: 32020: case QChar::Joining_Left: 32020: case QChar::Joining_Transparent: 32020: default: return QChar::OtherJoining; 32020: } 32020: } 32020: 32020: bool hasMirrored() const { return QChar(*this).hasMirrored(); } 32020: QChar mirroredChar() const { return QChar(*this).mirroredChar(); } 32020: QString decomposition() const { return QChar(*this).decomposition(); } 32020: QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } 32020: uchar combiningClass() const { return QChar(*this).combiningClass(); } 32020: 32020: inline QChar::Script script() const { return QChar(*this).script(); } 32020: 32020: QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } 32020: 32020: inline uchar cell() const { return QChar(*this).cell(); } 32020: inline uchar row() const { return QChar(*this).row(); } 32020: inline void setCell(uchar cell); 32020: inline void setRow(uchar row); 32020: 32020: 32020: 32020: 32020: char toLatin1() const { return QChar(*this).toLatin1(); } 32020: ushort unicode() const { return QChar(*this).unicode(); } 32020: ushort& unicode() { return s.data()[i].unicode(); } 32020: 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); } 32020: inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); } 32020: 32020: 32020: inline QString::QString() noexcept : d(Data::sharedNull()) {} 32020: inline QString::~QString() { if (!d->ref.deref()) Data::deallocate(d); } 32020: 32020: inline void QString::reserve(int asize) 32020: { 32020: if (d->ref.isShared() || uint(asize) >= d->alloc) 32020: reallocData(qMax(asize, d->size) + 1u); 32020: 32020: if (!d->capacityReserved) { 32020: 32020: d->capacityReserved = true; 32020: } 32020: } 32020: 32020: inline void QString::squeeze() 32020: { 32020: if (d->ref.isShared() || uint(d->size) + 1u < d->alloc) 32020: reallocData(uint(d->size) + 1u); 32020: 32020: if (d->capacityReserved) { 32020: 32020: 32020: d->capacityReserved = false; 32020: } 32020: } 32020: 32020: inline QString &QString::setUtf16(const ushort *autf16, int asize) 32020: { return setUnicode(reinterpret_cast(autf16), asize); } 32020: inline QCharRef QString::operator[](int i) 32020: { static_cast(false && (i >= 0)); detach(); return QCharRef(*this, i); } 32020: inline QCharRef QString::operator[](uint i) 32020: { detach(); return QCharRef(*this, i); } 32020: inline QCharRef QString::front() { return operator[](0); } 32020: inline QCharRef QString::back() { return operator[](size() - 1); } 32020: inline QString::iterator QString::begin() 32020: { detach(); return reinterpret_cast(d->data()); } 32020: inline QString::const_iterator QString::begin() const 32020: { return reinterpret_cast(d->data()); } 32020: inline QString::const_iterator QString::cbegin() const 32020: { return reinterpret_cast(d->data()); } 32020: inline QString::const_iterator QString::constBegin() const 32020: { return reinterpret_cast(d->data()); } 32020: inline QString::iterator QString::end() 32020: { detach(); return reinterpret_cast(d->data() + d->size); } 32020: inline QString::const_iterator QString::end() const 32020: { return reinterpret_cast(d->data() + d->size); } 32020: inline QString::const_iterator QString::cend() const 32020: { return reinterpret_cast(d->data() + d->size); } 32020: inline QString::const_iterator QString::constEnd() const 32020: { return reinterpret_cast(d->data() + d->size); } 32020: 32020: inline bool QString::contains(const QString &s, Qt::CaseSensitivity cs) const 32020: { return indexOf(s, 0, cs) != -1; } 32020: inline bool QString::contains(const QStringRef &s, Qt::CaseSensitivity cs) const 32020: { return indexOf(s, 0, cs) != -1; } 32020: 32020: inline bool QString::contains(QLatin1String s, Qt::CaseSensitivity cs) const 32020: { return indexOf(s, 0, cs) != -1; } 32020: inline bool QString::contains(QChar c, Qt::CaseSensitivity cs) const 32020: { return indexOf(c, 0, cs) != -1; } 32020: inline bool QString::contains(QStringView s, Qt::CaseSensitivity cs) const noexcept 32020: { return indexOf(s, 0, cs) != -1; } 32020: 32020: 32020: inline bool operator==(QString::Null, QString::Null) { return true; } 32020: __attribute__ ((__deprecated__("use QString::isNull()"))) 32020: inline bool operator==(QString::Null, const QString &s) { return s.isNull(); } 32020: __attribute__ ((__deprecated__("use QString::isNull()"))) 32020: inline bool operator==(const QString &s, QString::Null) { return s.isNull(); } 32020: inline bool operator!=(QString::Null, QString::Null) { return false; } 32020: __attribute__ ((__deprecated__("use !QString::isNull()"))) 32020: inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); } 32020: __attribute__ ((__deprecated__("use !QString::isNull()"))) 32020: inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } 32020: 32020: 32020: inline bool operator==(QLatin1String s1, QLatin1String s2) noexcept 32020: { return s1.size() == s2.size() && (!s1.size() || !memcmp(s1.latin1(), s2.latin1(), s1.size())); } 32020: inline bool operator!=(QLatin1String s1, QLatin1String s2) noexcept 32020: { return !operator==(s1, s2); } 32020: inline bool operator<(QLatin1String s1, QLatin1String s2) noexcept 32020: { 32020: const int len = qMin(s1.size(), s2.size()); 32020: const int r = len ? memcmp(s1.latin1(), s2.latin1(), len) : 0; 32020: return r < 0 || (r == 0 && s1.size() < s2.size()); 32020: } 32020: inline bool operator>(QLatin1String s1, QLatin1String s2) noexcept 32020: { return operator<(s2, s1); } 32020: inline bool operator<=(QLatin1String s1, QLatin1String s2) noexcept 32020: { return !operator>(s1, s2); } 32020: inline bool operator>=(QLatin1String s1, QLatin1String s2) noexcept 32020: { return !operator<(s1, s2); } 32020: 32020: inline bool QLatin1String::operator==(const QString &s) const noexcept 32020: { return s == *this; } 32020: inline bool QLatin1String::operator!=(const QString &s) const noexcept 32020: { return s != *this; } 32020: inline bool QLatin1String::operator>(const QString &s) const noexcept 32020: { return s < *this; } 32020: inline bool QLatin1String::operator<(const QString &s) const noexcept 32020: { return s > *this; } 32020: inline bool QLatin1String::operator>=(const QString &s) const noexcept 32020: { return s <= *this; } 32020: inline bool QLatin1String::operator<=(const QString &s) const noexcept 32020: { return s >= *this; } 32020: 32020: 32020: inline bool QString::operator==(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) == 0; } 32020: inline bool QString::operator!=(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) != 0; } 32020: inline bool QString::operator<(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) < 0; } 32020: inline bool QString::operator>(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) > 0; } 32020: inline bool QString::operator<=(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) <= 0; } 32020: inline bool QString::operator>=(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) >= 0; } 32020: 32020: inline bool operator==(const char *s1, const QString &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) == 0; } 32020: inline bool operator!=(const char *s1, const QString &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) != 0; } 32020: inline bool operator<(const char *s1, const QString &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) > 0; } 32020: inline bool operator>(const char *s1, const QString &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) < 0; } 32020: inline bool operator<=(const char *s1, const QString &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; } 32020: inline bool operator>=(const char *s1, const QString &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; } 32020: 32020: inline bool operator==(const char *s1, QLatin1String s2) 32020: { return QString::fromUtf8(s1) == s2; } 32020: inline bool operator!=(const char *s1, QLatin1String s2) 32020: { return QString::fromUtf8(s1) != s2; } 32020: inline bool operator<(const char *s1, QLatin1String s2) 32020: { return (QString::fromUtf8(s1) < s2); } 32020: inline bool operator>(const char *s1, QLatin1String s2) 32020: { return (QString::fromUtf8(s1) > s2); } 32020: inline bool operator<=(const char *s1, QLatin1String s2) 32020: { return (QString::fromUtf8(s1) <= s2); } 32020: inline bool operator>=(const char *s1, QLatin1String s2) 32020: { return (QString::fromUtf8(s1) >= s2); } 32020: 32020: inline bool QLatin1String::operator==(const char *s) const 32020: { return QString::fromUtf8(s) == *this; } 32020: inline bool QLatin1String::operator!=(const char *s) const 32020: { return QString::fromUtf8(s) != *this; } 32020: inline bool QLatin1String::operator<(const char *s) const 32020: { return QString::fromUtf8(s) > *this; } 32020: inline bool QLatin1String::operator>(const char *s) const 32020: { return QString::fromUtf8(s) < *this; } 32020: inline bool QLatin1String::operator<=(const char *s) const 32020: { return QString::fromUtf8(s) >= *this; } 32020: inline bool QLatin1String::operator>=(const char *s) const 32020: { return QString::fromUtf8(s) <= *this; } 32020: 32020: inline bool QLatin1String::operator==(const QByteArray &s) const 32020: { return QString::fromUtf8(s) == *this; } 32020: inline bool QLatin1String::operator!=(const QByteArray &s) const 32020: { return QString::fromUtf8(s) != *this; } 32020: inline bool QLatin1String::operator<(const QByteArray &s) const 32020: { return QString::fromUtf8(s) > *this; } 32020: inline bool QLatin1String::operator>(const QByteArray &s) const 32020: { return QString::fromUtf8(s) < *this; } 32020: inline bool QLatin1String::operator<=(const QByteArray &s) const 32020: { return QString::fromUtf8(s) >= *this; } 32020: inline bool QLatin1String::operator>=(const QByteArray &s) const 32020: { return QString::fromUtf8(s) <= *this; } 32020: 32020: inline bool QString::operator==(const QByteArray &s) const 32020: { return QString::compare_helper(constData(), size(), s.constData(), qstrnlen(s.constData(), s.size())) == 0; } 32020: inline bool QString::operator!=(const QByteArray &s) const 32020: { return QString::compare_helper(constData(), size(), s.constData(), qstrnlen(s.constData(), s.size())) != 0; } 32020: inline bool QString::operator<(const QByteArray &s) const 32020: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) < 0; } 32020: inline bool QString::operator>(const QByteArray &s) const 32020: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) > 0; } 32020: inline bool QString::operator<=(const QByteArray &s) const 32020: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) <= 0; } 32020: inline bool QString::operator>=(const QByteArray &s) const 32020: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) >= 0; } 32020: 32020: inline bool QByteArray::operator==(const QString &s) const 32020: { return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) == 0; } 32020: inline bool QByteArray::operator!=(const QString &s) const 32020: { return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) != 0; } 32020: inline bool QByteArray::operator<(const QString &s) const 32020: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) > 0; } 32020: inline bool QByteArray::operator>(const QString &s) const 32020: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) < 0; } 32020: inline bool QByteArray::operator<=(const QString &s) const 32020: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) >= 0; } 32020: inline bool QByteArray::operator>=(const QString &s) const 32020: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) <= 0; } 32020: 32020: 32020: 32020: 32020: inline QByteArray &QByteArray::append(const QString &s) 32020: { return append(s.toUtf8()); } 32020: inline QByteArray &QByteArray::insert(int i, const QString &s) 32020: { return insert(i, s.toUtf8()); } 32020: inline QByteArray &QByteArray::replace(char c, const QString &after) 32020: { return replace(c, after.toUtf8()); } 32020: inline QByteArray &QByteArray::replace(const QString &before, const char *after) 32020: { return replace(before.toUtf8(), after); } 32020: inline QByteArray &QByteArray::replace(const QString &before, const QByteArray &after) 32020: { return replace(before.toUtf8(), after); } 32020: inline QByteArray &QByteArray::operator+=(const QString &s) 32020: { return operator+=(s.toUtf8()); } 32020: inline int QByteArray::indexOf(const QString &s, int from) const 32020: { return indexOf(s.toUtf8(), from); } 32020: inline int QByteArray::lastIndexOf(const QString &s, int from) const 32020: { return lastIndexOf(s.toUtf8(), from); } 32020: 32020: 32020: 32020: inline const QString operator+(const QString &s1, const QString &s2) 32020: { QString t(s1); t += s2; return t; } 32020: inline const QString operator+(const QString &s1, QChar s2) 32020: { QString t(s1); t += s2; return t; } 32020: inline const QString operator+(QChar s1, const QString &s2) 32020: { QString t(s1); t += s2; return t; } 32020: 32020: inline const QString operator+(const QString &s1, const char *s2) 32020: { QString t(s1); t += QString::fromUtf8(s2); return t; } 32020: inline const QString operator+(const char *s1, const QString &s2) 32020: { QString t = QString::fromUtf8(s1); t += s2; return t; } 32020: inline const QString operator+(char c, const QString &s) 32020: { QString t = s; t.prepend(QChar::fromLatin1(c)); return t; } 32020: inline const QString operator+(const QString &s, char c) 32020: { QString t = s; t += QChar::fromLatin1(c); return t; } 32020: inline const QString operator+(const QByteArray &ba, const QString &s) 32020: { QString t = QString::fromUtf8(ba); t += s; return t; } 32020: inline const QString operator+(const QString &s, const QByteArray &ba) 32020: { QString t(s); t += QString::fromUtf8(ba); return t; } 32020: 32020: 32020: 32020: inline std::string QString::toStdString() const 32020: { return toUtf8().toStdString(); } 32020: 32020: inline QString QString::fromStdString(const std::string &s) 32020: { return fromUtf8(s.data(), int(s.size())); } 32020: 32020: inline std::wstring QString::toStdWString() const 32020: { 32020: std::wstring str; 32020: str.resize(length()); 32020: 32020: str.resize(toWCharArray(str.data())); 32020: 32020: 32020: 32020: 32020: return str; 32020: } 32020: 32020: inline QString QString::fromStdWString(const std::wstring &s) 32020: { return fromWCharArray(s.data(), int(s.size())); } 32020: 32020: 32020: inline QString QString::fromStdU16String(const std::u16string &s) 32020: { return fromUtf16(s.data(), int(s.size())); } 32020: 32020: inline std::u16string QString::toStdU16String() const 32020: { return std::u16string(reinterpret_cast(utf16()), length()); } 32020: 32020: inline QString QString::fromStdU32String(const std::u32string &s) 32020: { return fromUcs4(s.data(), int(s.size())); } 32020: 32020: inline std::u32string QString::toStdU32String() const 32020: { 32020: std::u32string u32str(length(), char32_t(0)); 32020: int len = toUcs4_helper(d->data(), length(), reinterpret_cast(&u32str[0])); 32020: u32str.resize(len); 32020: return u32str; 32020: } 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QString &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QString &); 32020: 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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); } 32020: 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); } 32020: 32020: 32020: class __attribute__((visibility("default"))) QStringRef { 32020: const QString *m_string; 32020: int m_position; 32020: int m_size; 32020: public: 32020: typedef QString::size_type size_type; 32020: typedef QString::value_type value_type; 32020: typedef const QChar *const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: typedef QString::const_pointer const_pointer; 32020: typedef QString::const_reference const_reference; 32020: 32020: 32020: inline QStringRef() : m_string(nullptr), m_position(0), m_size(0) {} 32020: inline QStringRef(const QString *string, int position, int size); 32020: inline QStringRef(const QString *string); 32020: 32020: 32020: 32020: QStringRef(const QStringRef &other) noexcept 32020: :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) 32020: {} 32020: QStringRef(QStringRef &&other) noexcept : m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) {} 32020: QStringRef &operator=(QStringRef &&other) noexcept { return *this = other; } 32020: QStringRef &operator=(const QStringRef &other) noexcept 32020: { 32020: m_string = other.m_string; m_position = other.m_position; 32020: m_size = other.m_size; return *this; 32020: } 32020: inline ~QStringRef(){} 32020: 32020: 32020: inline const QString *string() const { return m_string; } 32020: inline int position() const { return m_position; } 32020: inline int size() const { return m_size; } 32020: inline int count() const { return m_size; } 32020: inline int length() const { return m_size; } 32020: 32020: 32020: int indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] int indexOf(QStringView s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::findString(*this, from, s, cs)); } 32020: int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: int lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: int lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] int lastIndexOf(QStringView s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return int(QtPrivate::lastIndexOf(*this, from, s, cs)); } 32020: 32020: 32020: inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline bool contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: inline bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QVector split(const QString &sep, QString::SplitBehavior behavior, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] __attribute__ ((__deprecated__("Use Qt::SplitBehavior variant instead"))) 32020: QVector split(QChar sep, QString::SplitBehavior behavior, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: [[nodiscard]] 32020: QVector split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: [[nodiscard]] 32020: QVector split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: [[nodiscard]] QStringRef left(int n) const; 32020: [[nodiscard]] QStringRef right(int n) const; 32020: [[nodiscard]] QStringRef mid(int pos, int n = -1) const; 32020: [[nodiscard]] QStringRef chopped(int n) const 32020: { static_cast(false && (n >= 0)); static_cast(false && (n <= size())); return left(size() - n); } 32020: 32020: void truncate(int pos) noexcept { m_size = qBound(0, pos, m_size); } 32020: void chop(int n) noexcept 32020: { 32020: if (n >= m_size) 32020: m_size = 0; 32020: else if (n > 0) 32020: m_size -= n; 32020: } 32020: 32020: bool isRightToLeft() const; 32020: 32020: [[nodiscard]] bool startsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::startsWith(*this, s, cs); } 32020: bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool startsWith(const QStringRef &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: [[nodiscard]] bool endsWith(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::endsWith(*this, s, cs); } 32020: bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: bool endsWith(const QStringRef &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: 32020: inline QStringRef &operator=(const QString *string); 32020: 32020: inline const QChar *unicode() const 32020: { 32020: if (!m_string) 32020: return reinterpret_cast(QString::Data::sharedNull()->data()); 32020: return m_string->unicode() + m_position; 32020: } 32020: inline const QChar *data() const { return unicode(); } 32020: inline const QChar *constData() const { return unicode(); } 32020: 32020: inline const_iterator begin() const { return unicode(); } 32020: inline const_iterator cbegin() const { return unicode(); } 32020: inline const_iterator constBegin() const { return unicode(); } 32020: inline const_iterator end() const { return unicode() + size(); } 32020: inline const_iterator cend() const { return unicode() + size(); } 32020: inline const_iterator constEnd() const { return unicode() + size(); } 32020: inline const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 32020: inline const_reverse_iterator crbegin() const { return rbegin(); } 32020: inline const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 32020: inline const_reverse_iterator crend() const { return rend(); } 32020: 32020: 32020: 32020: 32020: 32020: [[nodiscard]] QByteArray toLatin1() const; 32020: [[nodiscard]] QByteArray toUtf8() const; 32020: [[nodiscard]] QByteArray toLocal8Bit() const; 32020: [[nodiscard]] QVector toUcs4() const; 32020: 32020: inline void clear() { m_string = nullptr; m_position = m_size = 0; } 32020: QString toString() const; 32020: inline bool isEmpty() const { return m_size == 0; } 32020: inline bool isNull() const { return m_string == nullptr || m_string->isNull(); } 32020: 32020: QStringRef appendTo(QString *string) const; 32020: 32020: inline const QChar at(int i) const 32020: { static_cast(false && (uint(i) < uint(size()))); return m_string->at(i + m_position); } 32020: QChar operator[](int i) const { return at(i); } 32020: [[nodiscard]] QChar front() const { return at(0); } 32020: [[nodiscard]] QChar back() const { return at(size() - 1); } 32020: 32020: 32020: 32020: inline bool operator==(const char *s) const; 32020: inline bool operator!=(const char *s) const; 32020: inline bool operator<(const char *s) const; 32020: inline bool operator<=(const char *s) const; 32020: inline bool operator>(const char *s) const; 32020: inline bool operator>=(const char *s) const; 32020: 32020: 32020: int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: int compare(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept 32020: { return QtPrivate::compareStrings(*this, QStringView(&c, 1), cs); } 32020: int compare(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 32020: 32020: int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const 32020: { return QString::compare_helper(unicode(), size(), s.data(), qstrnlen(s.data(), s.size()), cs); } 32020: 32020: static int compare(const QStringRef &s1, const QString &s2, 32020: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 32020: static int compare(const QStringRef &s1, const QStringRef &s2, 32020: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 32020: static int compare(const QStringRef &s1, QLatin1String s2, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 32020: 32020: int localeAwareCompare(const QString &s) const; 32020: int localeAwareCompare(const QStringRef &s) const; 32020: int localeAwareCompare(QStringView str) const; 32020: static int localeAwareCompare(const QStringRef &s1, const QString &s2); 32020: static int localeAwareCompare(const QStringRef &s1, const QStringRef &s2); 32020: static int localeAwareCompare(QStringView s1, QStringView s2); 32020: 32020: [[nodiscard]] QStringRef trimmed() const; 32020: short toShort(bool *ok = nullptr, int base = 10) const; 32020: ushort toUShort(bool *ok = nullptr, int base = 10) const; 32020: int toInt(bool *ok = nullptr, int base = 10) const; 32020: uint toUInt(bool *ok = nullptr, int base = 10) const; 32020: long toLong(bool *ok = nullptr, int base = 10) const; 32020: ulong toULong(bool *ok = nullptr, int base = 10) const; 32020: qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 32020: qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 32020: float toFloat(bool *ok = nullptr) const; 32020: double toDouble(bool *ok = nullptr) const; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: inline QStringRef &QStringRef::operator=(const QString *aString) 32020: { m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; } 32020: 32020: inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) 32020: :m_string(aString), m_position(aPosition), m_size(aSize){} 32020: 32020: inline QStringRef::QStringRef(const QString *aString) 32020: :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){} 32020: 32020: 32020: __attribute__((visibility("default"))) bool operator==(const QStringRef &s1, const QStringRef &s2) noexcept; 32020: inline bool operator!=(const QStringRef &s1, const QStringRef &s2) noexcept 32020: { return !(s1 == s2); } 32020: __attribute__((visibility("default"))) bool operator<(const QStringRef &s1, const QStringRef &s2) noexcept; 32020: inline bool operator>(const QStringRef &s1, const QStringRef &s2) noexcept 32020: { return s2 < s1; } 32020: inline bool operator<=(const QStringRef &s1, const QStringRef &s2) noexcept 32020: { return !(s1 > s2); } 32020: inline bool operator>=(const QStringRef &s1, const QStringRef &s2) noexcept 32020: { return !(s1 < s2); } 32020: 32020: 32020: __attribute__((visibility("default"))) bool operator==(const QString &lhs, const QStringRef &rhs) noexcept; 32020: inline bool operator!=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) != 0; } 32020: inline bool operator< (const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) < 0; } 32020: inline bool operator> (const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) > 0; } 32020: inline bool operator<=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) <= 0; } 32020: inline bool operator>=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) >= 0; } 32020: 32020: inline bool operator==(const QStringRef &lhs, const QString &rhs) noexcept { return rhs == lhs; } 32020: inline bool operator!=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs != lhs; } 32020: inline bool operator< (const QStringRef &lhs, const QString &rhs) noexcept { return rhs > lhs; } 32020: inline bool operator> (const QStringRef &lhs, const QString &rhs) noexcept { return rhs < lhs; } 32020: inline bool operator<=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs >= lhs; } 32020: inline bool operator>=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs <= lhs; } 32020: 32020: 32020: inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const noexcept 32020: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 32020: 32020: inline int QString::compare(QStringView s, Qt::CaseSensitivity cs) const noexcept 32020: { return -s.compare(*this, cs); } 32020: inline int QString::compare(const QString &s1, const QStringRef &s2, Qt::CaseSensitivity cs) noexcept 32020: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 32020: inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const noexcept 32020: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 32020: inline int QStringRef::compare(const QStringRef &s, Qt::CaseSensitivity cs) const noexcept 32020: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 32020: inline int QStringRef::compare(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 32020: { return QString::compare_helper(constData(), length(), s, cs); } 32020: inline int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs) noexcept 32020: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 32020: inline int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs) noexcept 32020: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 32020: inline int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs) noexcept 32020: { return QString::compare_helper(s1.constData(), s1.length(), s2, cs); } 32020: 32020: 32020: __attribute__((visibility("default"))) bool operator==(QLatin1String lhs, const QStringRef &rhs) noexcept; 32020: inline bool operator!=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) != 0; } 32020: inline bool operator< (QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) > 0; } 32020: inline bool operator> (QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) < 0; } 32020: inline bool operator<=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) >= 0; } 32020: inline bool operator>=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) <= 0; } 32020: 32020: inline bool operator==(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs == lhs; } 32020: inline bool operator!=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs != lhs; } 32020: inline bool operator< (const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs > lhs; } 32020: inline bool operator> (const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs < lhs; } 32020: inline bool operator<=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs >= lhs; } 32020: inline bool operator>=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs <= lhs; } 32020: 32020: 32020: inline bool operator==(QChar lhs, const QString &rhs) noexcept 32020: { return rhs.size() == 1 && lhs == rhs.front(); } 32020: inline bool operator< (QChar lhs, const QString &rhs) noexcept 32020: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) < 0; } 32020: inline bool operator> (QChar lhs, const QString &rhs) noexcept 32020: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) > 0; } 32020: 32020: inline bool operator!=(QChar lhs, const QString &rhs) noexcept { return !(lhs == rhs); } 32020: inline bool operator<=(QChar lhs, const QString &rhs) noexcept { return !(lhs > rhs); } 32020: inline bool operator>=(QChar lhs, const QString &rhs) noexcept { return !(lhs < rhs); } 32020: 32020: inline bool operator==(const QString &lhs, QChar rhs) noexcept { return rhs == lhs; } 32020: inline bool operator!=(const QString &lhs, QChar rhs) noexcept { return !(rhs == lhs); } 32020: inline bool operator< (const QString &lhs, QChar rhs) noexcept { return rhs > lhs; } 32020: inline bool operator> (const QString &lhs, QChar rhs) noexcept { return rhs < lhs; } 32020: inline bool operator<=(const QString &lhs, QChar rhs) noexcept { return !(rhs < lhs); } 32020: inline bool operator>=(const QString &lhs, QChar rhs) noexcept { return !(rhs > lhs); } 32020: 32020: 32020: inline bool operator==(QChar lhs, const QStringRef &rhs) noexcept 32020: { return rhs.size() == 1 && lhs == rhs.front(); } 32020: inline bool operator< (QChar lhs, const QStringRef &rhs) noexcept 32020: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) < 0; } 32020: inline bool operator> (QChar lhs, const QStringRef &rhs) noexcept 32020: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) > 0; } 32020: 32020: inline bool operator!=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs == rhs); } 32020: inline bool operator<=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs > rhs); } 32020: inline bool operator>=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs < rhs); } 32020: 32020: inline bool operator==(const QStringRef &lhs, QChar rhs) noexcept { return rhs == lhs; } 32020: inline bool operator!=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs == lhs); } 32020: inline bool operator< (const QStringRef &lhs, QChar rhs) noexcept { return rhs > lhs; } 32020: inline bool operator> (const QStringRef &lhs, QChar rhs) noexcept { return rhs < lhs; } 32020: inline bool operator<=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs < lhs); } 32020: inline bool operator>=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs > lhs); } 32020: 32020: 32020: inline bool operator==(QChar lhs, QLatin1String rhs) noexcept 32020: { return rhs.size() == 1 && lhs == rhs.front(); } 32020: inline bool operator< (QChar lhs, QLatin1String rhs) noexcept 32020: { return QString::compare_helper(&lhs, 1, rhs) < 0; } 32020: inline bool operator> (QChar lhs, QLatin1String rhs) noexcept 32020: { return QString::compare_helper(&lhs, 1, rhs) > 0; } 32020: 32020: inline bool operator!=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); } 32020: inline bool operator<=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs > rhs); } 32020: inline bool operator>=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs < rhs); } 32020: 32020: inline bool operator==(QLatin1String lhs, QChar rhs) noexcept { return rhs == lhs; } 32020: inline bool operator!=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs == lhs); } 32020: inline bool operator< (QLatin1String lhs, QChar rhs) noexcept { return rhs > lhs; } 32020: inline bool operator> (QLatin1String lhs, QChar rhs) noexcept { return rhs < lhs; } 32020: inline bool operator<=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs < lhs); } 32020: inline bool operator>=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs > lhs); } 32020: 32020: 32020: inline bool operator==(QStringView lhs, QStringView rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; } 32020: inline bool operator!=(QStringView lhs, QStringView rhs) noexcept { return !(lhs == rhs); } 32020: inline bool operator< (QStringView lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) < 0; } 32020: inline bool operator<=(QStringView lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) <= 0; } 32020: inline bool operator> (QStringView lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) > 0; } 32020: inline bool operator>=(QStringView lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) >= 0; } 32020: 32020: 32020: inline bool operator==(QStringView lhs, QChar rhs) noexcept { return lhs == QStringView(&rhs, 1); } 32020: inline bool operator!=(QStringView lhs, QChar rhs) noexcept { return lhs != QStringView(&rhs, 1); } 32020: inline bool operator< (QStringView lhs, QChar rhs) noexcept { return lhs < QStringView(&rhs, 1); } 32020: inline bool operator<=(QStringView lhs, QChar rhs) noexcept { return lhs <= QStringView(&rhs, 1); } 32020: inline bool operator> (QStringView lhs, QChar rhs) noexcept { return lhs > QStringView(&rhs, 1); } 32020: inline bool operator>=(QStringView lhs, QChar rhs) noexcept { return lhs >= QStringView(&rhs, 1); } 32020: 32020: inline bool operator==(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) == rhs; } 32020: inline bool operator!=(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) != rhs; } 32020: inline bool operator< (QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) < rhs; } 32020: inline bool operator<=(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) <= rhs; } 32020: inline bool operator> (QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) > rhs; } 32020: inline bool operator>=(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) >= rhs; } 32020: 32020: 32020: inline bool operator==(QStringView lhs, QLatin1String rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; } 32020: inline bool operator!=(QStringView lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); } 32020: inline bool operator< (QStringView lhs, QLatin1String rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) < 0; } 32020: inline bool operator<=(QStringView lhs, QLatin1String rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) <= 0; } 32020: inline bool operator> (QStringView lhs, QLatin1String rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) > 0; } 32020: inline bool operator>=(QStringView lhs, QLatin1String rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) >= 0; } 32020: 32020: inline bool operator==(QLatin1String lhs, QStringView rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; } 32020: inline bool operator!=(QLatin1String lhs, QStringView rhs) noexcept { return !(lhs == rhs); } 32020: inline bool operator< (QLatin1String lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) < 0; } 32020: inline bool operator<=(QLatin1String lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) <= 0; } 32020: inline bool operator> (QLatin1String lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) > 0; } 32020: inline bool operator>=(QLatin1String lhs, QStringView rhs) noexcept { return QtPrivate::compareStrings(lhs, rhs) >= 0; } 32020: 32020: 32020: 32020: inline bool operator==(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) == 0; } 32020: inline bool operator!=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) != 0; } 32020: inline bool operator< (const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) < 0; } 32020: inline bool operator> (const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) > 0; } 32020: inline bool operator<=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) <= 0; } 32020: inline bool operator>=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) >= 0; } 32020: 32020: inline bool operator==(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) == 0; } 32020: inline bool operator!=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) != 0; } 32020: inline bool operator< (const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) > 0; } 32020: inline bool operator> (const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) < 0; } 32020: inline bool operator<=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) >= 0; } 32020: inline bool operator>=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) <= 0; } 32020: 32020: 32020: inline bool QStringRef::operator==(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) == 0; } 32020: inline bool QStringRef::operator!=(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) != 0; } 32020: inline bool QStringRef::operator<(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) < 0; } 32020: inline bool QStringRef::operator<=(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) <= 0; } 32020: inline bool QStringRef::operator>(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) > 0; } 32020: inline bool QStringRef::operator>=(const char *s) const 32020: { return QString::compare_helper(constData(), size(), s, -1) >= 0; } 32020: 32020: inline bool operator==(const char *s1, const QStringRef &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) == 0; } 32020: inline bool operator!=(const char *s1, const QStringRef &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) != 0; } 32020: inline bool operator<(const char *s1, const QStringRef &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) > 0; } 32020: inline bool operator<=(const char *s1, const QStringRef &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; } 32020: inline bool operator>(const char *s1, const QStringRef &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) < 0; } 32020: inline bool operator>=(const char *s1, const QStringRef &s2) 32020: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; } 32020: 32020: 32020: inline int QString::localeAwareCompare(const QStringRef &s) const 32020: { return localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 32020: inline int QString::localeAwareCompare(const QString& s1, const QStringRef& s2) 32020: { return localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 32020: inline int QStringRef::localeAwareCompare(const QString &s) const 32020: { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 32020: inline int QStringRef::localeAwareCompare(const QStringRef &s) const 32020: { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 32020: inline int QStringRef::localeAwareCompare(QStringView s) const 32020: { return QString::localeAwareCompare_helper(constData(), length(), s.data(), s.size()); } 32020: inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2) 32020: { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 32020: inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2) 32020: { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 32020: inline int QStringRef::localeAwareCompare(QStringView s1, QStringView s2) 32020: { return QString::localeAwareCompare_helper(s1.data(), s1.size(), s2.data(), s2.size()); } 32020: 32020: 32020: inline bool QStringRef::contains(const QString &s, Qt::CaseSensitivity cs) const 32020: { return indexOf(s, 0, cs) != -1; } 32020: inline bool QStringRef::contains(const QStringRef &s, Qt::CaseSensitivity cs) const 32020: { return indexOf(s, 0, cs) != -1; } 32020: 32020: inline bool QStringRef::contains(QLatin1String s, Qt::CaseSensitivity cs) const 32020: { return indexOf(s, 0, cs) != -1; } 32020: inline bool QStringRef::contains(QChar c, Qt::CaseSensitivity cs) const 32020: { return indexOf(c, 0, cs) != -1; } 32020: inline bool QStringRef::contains(QStringView s, Qt::CaseSensitivity cs) const noexcept 32020: { return indexOf(s, 0, cs) != -1; } 32020: 32020: inline QString &QString::insert(int i, const QStringRef &s) 32020: { return insert(i, s.constData(), s.length()); } 32020: 32020: 32020: inline QString operator+(const QString &s1, const QStringRef &s2) 32020: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 32020: inline QString operator+(const QStringRef &s1, const QString &s2) 32020: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 32020: inline QString operator+(const QStringRef &s1, QLatin1String s2) 32020: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 32020: inline QString operator+(QLatin1String s1, const QStringRef &s2) 32020: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 32020: inline QString operator+(const QStringRef &s1, const QStringRef &s2) 32020: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 32020: inline QString operator+(const QStringRef &s1, QChar s2) 32020: { QString t; t.reserve(s1.size() + 1); t += s1; t += s2; return t; } 32020: inline QString operator+(QChar s1, const QStringRef &s2) 32020: { QString t; t.reserve(1 + s2.size()); t += s1; t += s2; return t; } 32020: 32020: 32020: namespace Qt { 32020: 32020: 32020: 32020: 32020: 32020: } 32020: 32020: namespace QtPrivate { 32020: 32020: inline const QString &asString(const QString &s) { return s; } 32020: inline QString &&asString(QString &&s) { return std::move(s); } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: namespace QtPrivate { 32020: 32020: struct ArgBase { 32020: enum Tag : uchar { L1, U8, U16 } tag; 32020: }; 32020: 32020: struct QStringViewArg : ArgBase { 32020: QStringView string; 32020: QStringViewArg() = default; 32020: constexpr explicit QStringViewArg(QStringView v) noexcept : ArgBase{U16}, string{v} {} 32020: }; 32020: 32020: struct QLatin1StringArg : ArgBase { 32020: QLatin1String string; 32020: QLatin1StringArg() = default; 32020: constexpr explicit QLatin1StringArg(QLatin1String v) noexcept : ArgBase{L1}, string{v} {} 32020: }; 32020: 32020: [[nodiscard]] __attribute__((visibility("default"))) QString argToQString(QStringView pattern, size_t n, const ArgBase **args); 32020: [[nodiscard]] __attribute__((visibility("default"))) QString argToQString(QLatin1String pattern, size_t n, const ArgBase **args); 32020: 32020: template 32020: [[nodiscard]] inline __attribute__((always_inline)) QString argToQStringDispatch(StringView pattern, const Args &...args) 32020: { 32020: const ArgBase *argBases[] = {&args..., nullptr}; 32020: return QtPrivate::argToQString(pattern, sizeof...(Args), argBases); 32020: } 32020: 32020: inline QStringViewArg qStringLikeToArg(const QString &s) noexcept { return QStringViewArg{qToStringViewIgnoringNull(s)}; } 32020: constexpr inline QStringViewArg qStringLikeToArg(QStringView s) noexcept { return QStringViewArg{s}; } 32020: inline QStringViewArg qStringLikeToArg(const QChar &c) noexcept { return QStringViewArg{QStringView{&c, 1}}; } 32020: constexpr inline QLatin1StringArg qStringLikeToArg(QLatin1String s) noexcept { return QLatin1StringArg{s}; } 32020: 32020: } 32020: 32020: template 32020: inline __attribute__((always_inline)) 32020: QString QStringView::arg(Args &&...args) const 32020: { 32020: return QtPrivate::argToQStringDispatch(*this, QtPrivate::qStringLikeToArg(args)...); 32020: } 32020: 32020: template 32020: inline __attribute__((always_inline)) 32020: QString QLatin1String::arg(Args &&...args) const 32020: { 32020: return QtPrivate::argToQStringDispatch(*this, QtPrivate::qStringLikeToArg(args)...); 32020: } 32020: 32020: inline qsizetype QStringView::count(QChar c, Qt::CaseSensitivity cs) const noexcept 32020: { return toString().count(c, cs); } 32020: inline qsizetype QStringView::count(QStringView s, Qt::CaseSensitivity cs) const noexcept 32020: { return toString().count(s.toString(), cs); } 32020: 32020: inline short QStringView::toShort(bool *ok, int base) const 32020: { return toString().toShort(ok, base); } 32020: inline ushort QStringView::toUShort(bool *ok, int base) const 32020: { return toString().toUShort(ok, base); } 32020: inline int QStringView::toInt(bool *ok, int base) const 32020: { return toString().toInt(ok, base); } 32020: inline uint QStringView::toUInt(bool *ok, int base) const 32020: { return toString().toUInt(ok, base); } 32020: inline long QStringView::toLong(bool *ok, int base) const 32020: { return toString().toLong(ok, base); } 32020: inline ulong QStringView::toULong(bool *ok, int base) const 32020: { return toString().toULong(ok, base); } 32020: inline qlonglong QStringView::toLongLong(bool *ok, int base) const 32020: { return toString().toLongLong(ok, base); } 32020: inline qulonglong QStringView::toULongLong(bool *ok, int base) const 32020: { return toString().toULongLong(ok, base); } 32020: inline float QStringView::toFloat(bool *ok) const 32020: { return toString().toFloat(ok); } 32020: inline double QStringView::toDouble(bool *ok) const 32020: { return toString().toDouble(ok); } 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpair.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qpair.h" 3 4 32020: 32020: 32020: 32020: template 32020: struct QPair 32020: { 32020: typedef T1 first_type; 32020: typedef T2 second_type; 32020: 32020: constexpr QPair() 32020: noexcept((std::is_nothrow_default_constructible::value && 32020: std::is_nothrow_default_constructible::value)) 32020: : first(), second() {} 32020: constexpr QPair(const T1 &t1, const T2 &t2) 32020: noexcept((std::is_nothrow_copy_constructible::value && 32020: std::is_nothrow_copy_constructible::value)) 32020: : first(t1), second(t2) {} 32020: 32020: 32020: template 32020: constexpr QPair(const QPair &p) 32020: noexcept((std::is_nothrow_constructible::value && 32020: std::is_nothrow_constructible::value)) 32020: : first(p.first), second(p.second) {} 32020: template 32020: constexpr QPair &operator=(const QPair &p) 32020: noexcept((std::is_nothrow_assignable::value && 32020: std::is_nothrow_assignable::value)) 32020: { first = p.first; second = p.second; return *this; } 32020: template 32020: constexpr QPair(QPair &&p) 32020: noexcept((std::is_nothrow_constructible::value && 32020: std::is_nothrow_constructible::value)) 32020: 32020: : first(static_cast(p.first)), second(static_cast(p.second)) {} 32020: template 32020: constexpr QPair &operator=(QPair &&p) 32020: noexcept((std::is_nothrow_assignable::value && 32020: std::is_nothrow_assignable::value)) 32020: { first = std::move(p.first); second = std::move(p.second); return *this; } 32020: 32020: constexpr void swap(QPair &other) 32020: noexcept(noexcept(qSwap(other.first, other.first)) && noexcept(qSwap(other.second, other.second))) 32020: { 32020: 32020: qSwap(first, other.first); 32020: qSwap(second, other.second); 32020: } 32020: 32020: T1 first; 32020: T2 second; 32020: }; 32020: 32020: 32020: template 32020: QPair(T1, T2) -> QPair; 32020: 32020: 32020: template 32020: void swap(QPair &lhs, QPair &rhs) noexcept(noexcept(lhs.swap(rhs))) 32020: { lhs.swap(rhs); } 32020: 32020: 32020: 32020: template 32020: class QTypeInfo > : public QTypeInfoMerger, T1, T2> {}; 32020: 32020: template 32020: constexpr inline bool operator==(const QPair &p1, const QPair &p2) 32020: noexcept(noexcept(p1.first == p2.first && p1.second == p2.second)) 32020: { return p1.first == p2.first && p1.second == p2.second; } 32020: 32020: template 32020: constexpr inline bool operator!=(const QPair &p1, const QPair &p2) 32020: noexcept(noexcept(!(p1 == p2))) 32020: { return !(p1 == p2); } 32020: 32020: template 32020: constexpr inline bool operator<(const QPair &p1, const QPair &p2) 32020: noexcept(noexcept(p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second))) 32020: { 32020: return p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second); 32020: } 32020: 32020: template 32020: constexpr inline bool operator>(const QPair &p1, const QPair &p2) 32020: noexcept(noexcept(p2 < p1)) 32020: { 32020: return p2 < p1; 32020: } 32020: 32020: template 32020: constexpr inline bool operator<=(const QPair &p1, const QPair &p2) 32020: noexcept(noexcept(!(p2 < p1))) 32020: { 32020: return !(p2 < p1); 32020: } 32020: 32020: template 32020: constexpr inline bool operator>=(const QPair &p1, const QPair &p2) 32020: noexcept(noexcept(!(p1 < p2))) 32020: { 32020: return !(p1 < p2); 32020: } 32020: 32020: template 32020: constexpr QPair qMakePair(const T1 &x, const T2 &y) 32020: noexcept(noexcept(QPair(x, y))) 32020: { 32020: return QPair(x, y); 32020: } 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 2 3 4 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 1 3 4 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 4 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 1 3 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 85 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: void 32020: iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: { 32020: *__first = __value; 32020: ++__value; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: # 131 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: inline _Tp 32020: accumulate(_InputIterator __first, _InputIterator __last, _Tp __init) 32020: { 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: __init = __init + *__first; 32020: return __init; 32020: } 32020: # 158 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: inline _Tp 32020: accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, 32020: _BinaryOperation __binary_op) 32020: { 32020: 32020: 32020: ; 32020: 32020: for (; __first != __last; ++__first) 32020: __init = __binary_op(__init, *__first); 32020: return __init; 32020: } 32020: # 187 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: inline _Tp 32020: inner_product(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _Tp __init) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1, (void)++__first2) 32020: __init = __init + (*__first1 * *__first2); 32020: return __init; 32020: } 32020: # 219 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: inline _Tp 32020: inner_product(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _Tp __init, 32020: _BinaryOperation1 __binary_op1, 32020: _BinaryOperation2 __binary_op2) 32020: { 32020: 32020: 32020: 32020: ; 32020: 32020: for (; __first1 != __last1; ++__first1, (void)++__first2) 32020: __init = __binary_op1(__init, 32020: __binary_op2(*__first1, *__first2)); 32020: return __init; 32020: } 32020: # 253 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: _OutputIterator 32020: partial_sum(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return __result; 32020: _ValueType __value = *__first; 32020: *__result = __value; 32020: while (++__first != __last) 32020: { 32020: __value = __value + *__first; 32020: *++__result = __value; 32020: } 32020: return ++__result; 32020: } 32020: # 294 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: _OutputIterator 32020: partial_sum(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _BinaryOperation __binary_op) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return __result; 32020: _ValueType __value = *__first; 32020: *__result = __value; 32020: while (++__first != __last) 32020: { 32020: __value = __binary_op(__value, *__first); 32020: *++__result = __value; 32020: } 32020: return ++__result; 32020: } 32020: # 335 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: _OutputIterator 32020: adjacent_difference(_InputIterator __first, 32020: _InputIterator __last, _OutputIterator __result) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return __result; 32020: _ValueType __value = *__first; 32020: *__result = __value; 32020: while (++__first != __last) 32020: { 32020: _ValueType __tmp = *__first; 32020: *++__result = __tmp - __value; 32020: __value = std::move(__tmp); 32020: } 32020: return ++__result; 32020: } 32020: # 378 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_numeric.h" 3 32020: template 32020: 32020: _OutputIterator 32020: adjacent_difference(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _BinaryOperation __binary_op) 32020: { 32020: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 32020: 32020: 32020: 32020: 32020: 32020: ; 32020: 32020: if (__first == __last) 32020: return __result; 32020: _ValueType __value = *__first; 32020: *__result = __value; 32020: while (++__first != __last) 32020: { 32020: _ValueType __tmp = *__first; 32020: *++__result = __binary_op(__tmp, __value); 32020: __value = std::move(__tmp); 32020: } 32020: return ++__result; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 2 3 32020: # 80 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: namespace __detail 32020: { 32020: 32020: 32020: template 32020: constexpr _Up 32020: __absu(_Tp __val) 32020: { 32020: static_assert(is_unsigned<_Up>::value, "result type must be unsigned"); 32020: static_assert(sizeof(_Up) >= sizeof(_Tp), 32020: "result type must be at least as wide as the input type"); 32020: return __val < 0 ? -(_Up)__val : (_Up)__val; 32020: } 32020: 32020: template void __absu(bool) = delete; 32020: 32020: 32020: template 32020: constexpr _Tp 32020: __gcd(_Tp __m, _Tp __n) 32020: { 32020: static_assert(is_unsigned<_Tp>::value, "type must be unsigned"); 32020: return __m == 0 ? __n 32020: : __n == 0 ? __m 32020: : __detail::__gcd(__n, _Tp(__m % __n)); 32020: } 32020: 32020: 32020: template 32020: constexpr _Tp 32020: __lcm(_Tp __m, _Tp __n) 32020: { 32020: return (__m != 0 && __n != 0) 32020: ? (__m / __detail::__gcd(__m, __n)) * __n 32020: : 0; 32020: } 32020: } 32020: # 130 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: constexpr common_type_t<_Mn, _Nn> 32020: gcd(_Mn __m, _Nn __n) noexcept 32020: { 32020: static_assert(is_integral_v<_Mn>, "std::gcd arguments must be integers"); 32020: static_assert(is_integral_v<_Nn>, "std::gcd arguments must be integers"); 32020: static_assert(_Mn(2) != _Mn(1), "std::gcd arguments must not be bool"); 32020: static_assert(_Nn(2) != _Nn(1), "std::gcd arguments must not be bool"); 32020: using _Up = make_unsigned_t>; 32020: return __detail::__gcd(__detail::__absu<_Up>(__m), 32020: __detail::__absu<_Up>(__n)); 32020: } 32020: 32020: 32020: template 32020: constexpr common_type_t<_Mn, _Nn> 32020: lcm(_Mn __m, _Nn __n) noexcept 32020: { 32020: static_assert(is_integral_v<_Mn>, "std::lcm arguments must be integers"); 32020: static_assert(is_integral_v<_Nn>, "std::lcm arguments must be integers"); 32020: static_assert(_Mn(2) == 2, "std::lcm arguments must not be bool"); 32020: static_assert(_Nn(2) == 2, "std::lcm arguments must not be bool"); 32020: using _Up = make_unsigned_t>; 32020: return __detail::__lcm(__detail::__absu<_Up>(__m), 32020: __detail::__absu<_Up>(__n)); 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 226 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 256 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _Tp 32020: reduce(_InputIterator __first, _InputIterator __last, _Tp __init, 32020: _BinaryOperation __binary_op) 32020: { 32020: using value_type = typename iterator_traits<_InputIterator>::value_type; 32020: static_assert(is_invocable_r_v<_Tp, _BinaryOperation&, _Tp&, _Tp&>); 32020: static_assert(is_convertible_v); 32020: if constexpr (__is_random_access_iter<_InputIterator>::value) 32020: { 32020: while ((__last - __first) >= 4) 32020: { 32020: _Tp __v1 = __binary_op(__first[0], __first[1]); 32020: _Tp __v2 = __binary_op(__first[2], __first[3]); 32020: _Tp __v3 = __binary_op(__v1, __v2); 32020: __init = __binary_op(__init, __v3); 32020: __first += 4; 32020: } 32020: } 32020: for (; __first != __last; ++__first) 32020: __init = __binary_op(__init, *__first); 32020: return __init; 32020: } 32020: # 292 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: inline _Tp 32020: reduce(_InputIterator __first, _InputIterator __last, _Tp __init) 32020: { return std::reduce(__first, __last, std::move(__init), plus<>()); } 32020: # 309 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: inline typename iterator_traits<_InputIterator>::value_type 32020: reduce(_InputIterator __first, _InputIterator __last) 32020: { 32020: using value_type = typename iterator_traits<_InputIterator>::value_type; 32020: return std::reduce(__first, __last, value_type{}, plus<>()); 32020: } 32020: # 336 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _Tp 32020: transform_reduce(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _Tp __init, 32020: _BinaryOperation1 __binary_op1, 32020: _BinaryOperation2 __binary_op2) 32020: { 32020: if constexpr (__and_v<__is_random_access_iter<_InputIterator1>, 32020: __is_random_access_iter<_InputIterator2>>) 32020: { 32020: while ((__last1 - __first1) >= 4) 32020: { 32020: _Tp __v1 = __binary_op1(__binary_op2(__first1[0], __first2[0]), 32020: __binary_op2(__first1[1], __first2[1])); 32020: _Tp __v2 = __binary_op1(__binary_op2(__first1[2], __first2[2]), 32020: __binary_op2(__first1[3], __first2[3])); 32020: _Tp __v3 = __binary_op1(__v1, __v2); 32020: __init = __binary_op1(__init, __v3); 32020: __first1 += 4; 32020: __first2 += 4; 32020: } 32020: } 32020: for (; __first1 != __last1; ++__first1, (void) ++__first2) 32020: __init = __binary_op1(__init, __binary_op2(*__first1, *__first2)); 32020: return __init; 32020: } 32020: # 380 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: inline _Tp 32020: transform_reduce(_InputIterator1 __first1, _InputIterator1 __last1, 32020: _InputIterator2 __first2, _Tp __init) 32020: { 32020: return std::transform_reduce(__first1, __last1, __first2, 32020: std::move(__init), 32020: plus<>(), multiplies<>()); 32020: } 32020: # 405 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _Tp 32020: transform_reduce(_InputIterator __first, _InputIterator __last, _Tp __init, 32020: _BinaryOperation __binary_op, _UnaryOperation __unary_op) 32020: { 32020: if constexpr (__is_random_access_iter<_InputIterator>::value) 32020: { 32020: while ((__last - __first) >= 4) 32020: { 32020: _Tp __v1 = __binary_op(__unary_op(__first[0]), 32020: __unary_op(__first[1])); 32020: _Tp __v2 = __binary_op(__unary_op(__first[2]), 32020: __unary_op(__first[3])); 32020: _Tp __v3 = __binary_op(__v1, __v2); 32020: __init = __binary_op(__init, __v3); 32020: __first += 4; 32020: } 32020: } 32020: for (; __first != __last; ++__first) 32020: __init = __binary_op(__init, __unary_op(*__first)); 32020: return __init; 32020: } 32020: # 448 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _OutputIterator 32020: exclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _Tp __init, 32020: _BinaryOperation __binary_op) 32020: { 32020: while (__first != __last) 32020: { 32020: auto __v = __init; 32020: __init = __binary_op(__init, *__first); 32020: ++__first; 32020: *__result++ = std::move(__v); 32020: } 32020: return __result; 32020: } 32020: # 483 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: inline _OutputIterator 32020: exclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _Tp __init) 32020: { 32020: return std::exclusive_scan(__first, __last, __result, std::move(__init), 32020: plus<>()); 32020: } 32020: # 511 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _OutputIterator 32020: inclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _BinaryOperation __binary_op, 32020: _Tp __init) 32020: { 32020: for (; __first != __last; ++__first) 32020: *__result++ = __init = __binary_op(__init, *__first); 32020: return __result; 32020: } 32020: # 540 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _OutputIterator 32020: inclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _BinaryOperation __binary_op) 32020: { 32020: if (__first != __last) 32020: { 32020: auto __init = *__first; 32020: *__result++ = __init; 32020: ++__first; 32020: if (__first != __last) 32020: __result = std::inclusive_scan(__first, __last, __result, 32020: __binary_op, std::move(__init)); 32020: } 32020: return __result; 32020: } 32020: # 574 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: inline _OutputIterator 32020: inclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result) 32020: { return std::inclusive_scan(__first, __last, __result, plus<>()); } 32020: # 601 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _OutputIterator 32020: transform_exclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, _Tp __init, 32020: _BinaryOperation __binary_op, 32020: _UnaryOperation __unary_op) 32020: { 32020: while (__first != __last) 32020: { 32020: auto __v = __init; 32020: __init = __binary_op(__init, __unary_op(*__first)); 32020: ++__first; 32020: *__result++ = std::move(__v); 32020: } 32020: return __result; 32020: } 32020: # 640 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _OutputIterator 32020: transform_inclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, 32020: _BinaryOperation __binary_op, 32020: _UnaryOperation __unary_op, 32020: _Tp __init) 32020: { 32020: for (; __first != __last; ++__first) 32020: *__result++ = __init = __binary_op(__init, __unary_op(*__first)); 32020: return __result; 32020: } 32020: # 674 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 3 32020: template 32020: 32020: _OutputIterator 32020: transform_inclusive_scan(_InputIterator __first, _InputIterator __last, 32020: _OutputIterator __result, 32020: _BinaryOperation __binary_op, 32020: _UnaryOperation __unary_op) 32020: { 32020: if (__first != __last) 32020: { 32020: auto __init = __unary_op(*__first); 32020: *__result++ = __init; 32020: ++__first; 32020: if (__first != __last) 32020: __result = std::transform_inclusive_scan(__first, __last, __result, 32020: __binary_op, __unary_op, 32020: std::move(__init)); 32020: } 32020: return __result; 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_numeric_defs.h" 1 3 32020: # 15 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_numeric_defs.h" 3 32020: namespace std 32020: { 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Tp> 32020: reduce(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Tp __init, 32020: _BinaryOperation __binary_op); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Tp> 32020: reduce(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Tp __init); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, 32020: typename iterator_traits<_ForwardIterator>::value_type> 32020: reduce(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Tp> 32020: transform_reduce(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _Tp __init); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Tp> 32020: transform_reduce(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, 32020: _ForwardIterator2 __first2, _Tp __init, _BinaryOperation1 __binary_op1, 32020: _BinaryOperation2 __binary_op2); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Tp> 32020: transform_reduce(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Tp __init, 32020: _BinaryOperation __binary_op, _UnaryOperation __unary_op); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: exclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _Tp __init); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: exclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _Tp __init, _BinaryOperation __binary_op); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: inclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: inclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _BinaryOperation __binary_op); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: inclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _BinaryOperation __binary_op, _Tp __init); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: transform_exclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _Tp __init, _BinaryOperation __binary_op, 32020: _UnaryOperation __unary_op); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: transform_inclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _BinaryOperation __binary_op, _UnaryOperation __unary_op, 32020: _Tp __init); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: transform_inclusive_scan(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __result, _BinaryOperation __binary_op, _UnaryOperation __unary_op); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: adjacent_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __d_first, _BinaryOperation op); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> 32020: adjacent_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, 32020: _ForwardIterator2 __d_first); 32020: 32020: } 32020: # 708 "/usr/arm-linux-gnueabihf/include/c++/10/numeric" 2 3 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 2 3 4 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 3 4 32020: 32020: 32020: class QBitArray; 32020: class QByteArray; 32020: class QString; 32020: class QStringRef; 32020: class QLatin1String; 32020: 32020: __attribute__((visibility("default"))) int qGlobalQHashSeed(); 32020: __attribute__((visibility("default"))) void qSetGlobalQHashSeed(int newSeed); 32020: 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHashBits(const void *p, size_t size, uint seed = 0) noexcept; 32020: 32020: __attribute__((const)) constexpr inline uint qHash(char key, uint seed = 0) noexcept { return uint(key) ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(uchar key, uint seed = 0) noexcept { return uint(key) ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(signed char key, uint seed = 0) noexcept { return uint(key) ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(ushort key, uint seed = 0) noexcept { return uint(key) ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(short key, uint seed = 0) noexcept { return uint(key) ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(uint key, uint seed = 0) noexcept { return key ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(int key, uint seed = 0) noexcept { return uint(key) ^ seed; } 32020: __attribute__((const)) constexpr inline uint qHash(ulong key, uint seed = 0) noexcept 32020: { 32020: return (sizeof(ulong) > sizeof(uint)) 32020: ? (uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)) ^ seed) 32020: : (uint(key & (~0U)) ^ seed); 32020: } 32020: __attribute__((const)) constexpr inline uint qHash(long key, uint seed = 0) noexcept { return qHash(ulong(key), seed); } 32020: __attribute__((const)) constexpr inline uint qHash(quint64 key, uint seed = 0) noexcept 32020: { 32020: return uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)) ^ seed; 32020: } 32020: __attribute__((const)) constexpr inline uint qHash(qint64 key, uint seed = 0) noexcept { return qHash(quint64(key), seed); } 32020: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(float key, uint seed = 0) noexcept; 32020: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(double key, uint seed = 0) noexcept; 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(long double key, uint seed = 0) noexcept; 32020: 32020: __attribute__((const)) constexpr inline uint qHash(const QChar key, uint seed = 0) noexcept { return qHash(key.unicode(), seed); } 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QByteArray &key, uint seed = 0) noexcept; 32020: 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QString &key, uint seed = 0) noexcept; 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QStringRef &key, uint seed = 0) noexcept; 32020: 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(QStringView key, uint seed = 0) noexcept; 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QBitArray &key, uint seed = 0) noexcept; 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(QLatin1String key, uint seed = 0) noexcept; 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qt_hash(QStringView key, uint chained = 0) noexcept; 32020: 32020: __attribute__((const)) inline uint qHash(std::nullptr_t, uint seed = 0) noexcept 32020: { 32020: return qHash(reinterpret_cast(nullptr), seed); 32020: } 32020: 32020: template inline uint qHash(const T *key, uint seed = 0) noexcept 32020: { 32020: return qHash(reinterpret_cast(key), seed); 32020: } 32020: template inline uint qHash(const T &t, uint seed) 32020: noexcept(noexcept(qHash(t))) 32020: { return qHash(t) ^ seed; } 32020: 32020: namespace QtPrivate { 32020: 32020: struct QHashCombine { 32020: typedef uint result_type; 32020: template 32020: constexpr result_type operator()(uint seed, const T &t) const noexcept(noexcept(qHash(t))) 32020: 32020: { return seed ^ (qHash(t) + 0x9e3779b9 + (seed << 6) + (seed >> 2)) ; } 32020: }; 32020: 32020: struct QHashCombineCommutative { 32020: 32020: 32020: 32020: 32020: 32020: typedef uint result_type; 32020: template 32020: constexpr result_type operator()(uint seed, const T &t) const noexcept(noexcept(qHash(t))) 32020: { return seed + qHash(t); } 32020: }; 32020: 32020: } 32020: 32020: template 32020: inline uint qHashRange(InputIterator first, InputIterator last, uint seed = 0) 32020: noexcept(noexcept(qHash(*first))) 32020: { 32020: return std::accumulate(first, last, seed, QtPrivate::QHashCombine()); 32020: } 32020: 32020: template 32020: inline uint qHashRangeCommutative(InputIterator first, InputIterator last, uint seed = 0) 32020: noexcept(noexcept(qHash(*first))) 32020: { 32020: return std::accumulate(first, last, seed, QtPrivate::QHashCombineCommutative()); 32020: } 32020: 32020: template inline uint qHash(const QPair &key, uint seed = 0) 32020: noexcept(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) 32020: { 32020: uint h1 = qHash(key.first, seed); 32020: uint h2 = qHash(key.second, seed); 32020: return ((h1 << 16) | (h1 >> 16)) ^ h2 ^ seed; 32020: } 32020: 32020: template inline uint qHash(const std::pair &key, uint seed = 0) 32020: noexcept(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) 32020: { 32020: QtPrivate::QHashCombine hash; 32020: seed = hash(seed, key.first); 32020: seed = hash(seed, key.second); 32020: return seed; 32020: } 32020: # 204 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhashfunctions.h" 3 4 32020: namespace std { template <> struct hash< ::QString > { using argument_type = ::QString; using result_type = size_t; size_t operator()(const argument_type & s) const noexcept(noexcept(::qHash(s))) { return ::qHash(s, ::qHash( std::hash{}(0))); } }; } 32020: namespace std { template <> struct hash< ::QStringRef > { using argument_type = ::QStringRef; using result_type = size_t; size_t operator()(const argument_type & s) const noexcept(noexcept(::qHash(s))) { return ::qHash(s, ::qHash( std::hash{}(0))); } }; } 32020: namespace std { template <> struct hash< ::QStringView > { using argument_type = ::QStringView; using result_type = size_t; size_t operator()(argument_type s) const noexcept(noexcept(::qHash(s))) { return ::qHash(s, ::qHash( std::hash{}(0))); } }; } 32020: namespace std { template <> struct hash< ::QLatin1String > { using argument_type = ::QLatin1String; using result_type = size_t; size_t operator()(argument_type s) const noexcept(noexcept(::qHash(s))) { return ::qHash(s, ::qHash( std::hash{}(0))); } }; } 32020: namespace std { template <> struct hash< ::QByteArray > { using argument_type = ::QByteArray; using result_type = size_t; size_t operator()(const argument_type & s) const noexcept(noexcept(::qHash(s))) { return ::qHash(s, ::qHash( std::hash{}(0))); } }; } 32020: namespace std { template <> struct hash< ::QBitArray > { using argument_type = ::QBitArray; using result_type = size_t; size_t operator()(const argument_type & s) const noexcept(noexcept(::qHash(s))) { return ::qHash(s, ::qHash( std::hash{}(0))); } }; } 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 1 3 4 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 1 3 4 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 3 4 32020: 32020: 32020: namespace QtPrivate 32020: { 32020: template 32020: using IfIsInputIterator = typename std::enable_if< 32020: std::is_convertible::iterator_category, std::input_iterator_tag>::value, 32020: bool>::type; 32020: 32020: template 32020: using IfIsForwardIterator = typename std::enable_if< 32020: std::is_convertible::iterator_category, std::forward_iterator_tag>::value, 32020: bool>::type; 32020: 32020: template 32020: using IfIsNotForwardIterator = typename std::enable_if< 32020: !std::is_convertible::iterator_category, std::forward_iterator_tag>::value, 32020: bool>::type; 32020: 32020: template = true> 32020: void reserveIfForwardIterator(Container *, InputIterator, InputIterator) 32020: { 32020: } 32020: 32020: template = true> 32020: void reserveIfForwardIterator(Container *c, ForwardIterator f, ForwardIterator l) 32020: { 32020: c->reserve(static_cast(std::distance(f, l))); 32020: } 32020: 32020: 32020: template 32020: using void_t = void; 32020: 32020: template > 32020: struct AssociativeIteratorHasKeyAndValue : std::false_type 32020: { 32020: }; 32020: 32020: template 32020: struct AssociativeIteratorHasKeyAndValue< 32020: Iterator, 32020: void_t().key()), 32020: decltype(std::declval().value())> 32020: > 32020: : std::true_type 32020: { 32020: }; 32020: 32020: template , typename = void_t<>> 32020: struct AssociativeIteratorHasFirstAndSecond : std::false_type 32020: { 32020: }; 32020: 32020: template 32020: struct AssociativeIteratorHasFirstAndSecond< 32020: Iterator, 32020: void_t()->first), 32020: decltype(std::declval()->second)> 32020: > 32020: : std::true_type 32020: { 32020: }; 32020: 32020: template 32020: using IfAssociativeIteratorHasKeyAndValue = 32020: typename std::enable_if::value, bool>::type; 32020: 32020: template 32020: using IfAssociativeIteratorHasFirstAndSecond = 32020: typename std::enable_if::value, bool>::type; 32020: 32020: } 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 1 3 4 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class QVector 32020: { 32020: typedef QTypedArrayData Data; 32020: Data *d; 32020: 32020: public: 32020: inline QVector() noexcept : d(Data::sharedNull()) { } 32020: explicit QVector(int size); 32020: QVector(int size, const T &t); 32020: inline QVector(const QVector &v); 32020: inline ~QVector() { if (!d->ref.deref()) freeData(d); } 32020: QVector &operator=(const QVector &v); 32020: QVector(QVector &&other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 32020: QVector &operator=(QVector &&other) noexcept 32020: { QVector moved(std::move(other)); swap(moved); return *this; } 32020: void swap(QVector &other) noexcept { qSwap(d, other.d); } 32020: inline QVector(std::initializer_list args); 32020: QVector &operator=(std::initializer_list args); 32020: template = true> 32020: inline QVector(InputIterator first, InputIterator last); 32020: explicit QVector(QArrayDataPointerRef ref) noexcept : d(ref.ptr) {} 32020: 32020: bool operator==(const QVector &v) const; 32020: inline bool operator!=(const QVector &v) const { return !(*this == v); } 32020: 32020: inline int size() const { return d->size; } 32020: 32020: inline bool isEmpty() const { return d->size == 0; } 32020: 32020: void resize(int size); 32020: 32020: inline int capacity() const { return int(d->alloc); } 32020: void reserve(int size); 32020: inline void squeeze() 32020: { 32020: if (d->size < int(d->alloc)) { 32020: if (!d->size) { 32020: *this = QVector(); 32020: return; 32020: } 32020: realloc(d->size); 32020: } 32020: if (d->capacityReserved) { 32020: 32020: 32020: d->capacityReserved = 0; 32020: } 32020: } 32020: 32020: inline void detach(); 32020: inline bool isDetached() const { return !d->ref.isShared(); } 32020: 32020: inline void setSharable(bool sharable) 32020: { 32020: if (sharable == d->ref.isSharable()) 32020: return; 32020: if (!sharable) 32020: detach(); 32020: 32020: if (d == Data::unsharableEmpty()) { 32020: if (sharable) 32020: d = Data::sharedNull(); 32020: } else { 32020: d->ref.setSharable(sharable); 32020: } 32020: static_cast(false && (d->ref.isSharable() == sharable)); 32020: } 32020: 32020: 32020: inline bool isSharedWith(const QVector &other) const { return d == other.d; } 32020: 32020: inline T *data() { detach(); return d->begin(); } 32020: inline const T *data() const { return d->begin(); } 32020: inline const T *constData() const { return d->begin(); } 32020: void clear(); 32020: 32020: const T &at(int i) const; 32020: T &operator[](int i); 32020: const T &operator[](int i) const; 32020: void append(const T &t); 32020: void append(T &&t); 32020: inline void append(const QVector &l) { *this += l; } 32020: void prepend(T &&t); 32020: void prepend(const T &t); 32020: void insert(int i, T &&t); 32020: void insert(int i, const T &t); 32020: void insert(int i, int n, const T &t); 32020: void replace(int i, const T &t); 32020: void remove(int i); 32020: void remove(int i, int n); 32020: inline void removeFirst() { static_cast(false && (!isEmpty())); erase(d->begin()); } 32020: inline void removeLast(); 32020: T takeFirst() { static_cast(false && (!isEmpty())); T r = std::move(first()); removeFirst(); return r; } 32020: T takeLast() { static_cast(false && (!isEmpty())); T r = std::move(last()); removeLast(); return r; } 32020: 32020: QVector &fill(const T &t, int size = -1); 32020: 32020: int indexOf(const T &t, int from = 0) const; 32020: int lastIndexOf(const T &t, int from = -1) const; 32020: bool contains(const T &t) const; 32020: int count(const T &t) const; 32020: 32020: 32020: void removeAt(int i) { remove(i); } 32020: int removeAll(const T &t) 32020: { 32020: const const_iterator ce = this->cend(), cit = std::find(this->cbegin(), ce, t); 32020: if (cit == ce) 32020: return 0; 32020: 32020: const T tCopy = t; 32020: const int firstFoundIdx = std::distance(this->cbegin(), cit); 32020: const iterator e = end(), it = std::remove(begin() + firstFoundIdx, e, tCopy); 32020: const int result = std::distance(it, e); 32020: erase(it, e); 32020: return result; 32020: } 32020: bool removeOne(const T &t) 32020: { 32020: const int i = indexOf(t); 32020: if (i < 0) 32020: return false; 32020: remove(i); 32020: return true; 32020: } 32020: int length() const { return size(); } 32020: T takeAt(int i) { T t = std::move((*this)[i]); remove(i); return t; } 32020: void move(int from, int to) 32020: { 32020: static_cast(false && (from >= 0 && from < size())); 32020: static_cast(false && (to >= 0 && to < size())); 32020: if (from == to) 32020: return; 32020: detach(); 32020: T * const b = d->begin(); 32020: if (from < to) 32020: std::rotate(b + from, b + from + 1, b + to + 1); 32020: else 32020: std::rotate(b + to, b + from, b + from + 1); 32020: } 32020: 32020: 32020: typedef typename Data::iterator iterator; 32020: typedef typename Data::const_iterator const_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: inline iterator begin() { detach(); return d->begin(); } 32020: inline const_iterator begin() const noexcept { return d->constBegin(); } 32020: inline const_iterator cbegin() const noexcept { return d->constBegin(); } 32020: inline const_iterator constBegin() const noexcept { return d->constBegin(); } 32020: inline iterator end() { detach(); return d->end(); } 32020: inline const_iterator end() const noexcept { return d->constEnd(); } 32020: inline const_iterator cend() const noexcept { return d->constEnd(); } 32020: inline const_iterator constEnd() const noexcept { return d->constEnd(); } 32020: # 228 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 3 4 32020: reverse_iterator rbegin() { return reverse_iterator(end()); } 32020: reverse_iterator rend() { return reverse_iterator(begin()); } 32020: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 32020: iterator insert(iterator before, int n, const T &x); 32020: inline iterator insert(iterator before, const T &x) { return insert(before, 1, x); } 32020: inline iterator insert(iterator before, T &&x); 32020: iterator erase(iterator begin, iterator end); 32020: inline iterator erase(iterator pos) { return erase(pos, pos+1); } 32020: 32020: 32020: inline int count() const { return d->size; } 32020: inline T& first() { static_cast(false && (!isEmpty())); return *begin(); } 32020: inline const T &first() const { static_cast(false && (!isEmpty())); return *begin(); } 32020: inline const T &constFirst() const { static_cast(false && (!isEmpty())); return *begin(); } 32020: inline T& last() { static_cast(false && (!isEmpty())); return *(end()-1); } 32020: inline const T &last() const { static_cast(false && (!isEmpty())); return *(end()-1); } 32020: inline const T &constLast() const { static_cast(false && (!isEmpty())); return *(end()-1); } 32020: inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } 32020: inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } 32020: QVector mid(int pos, int len = -1) const; 32020: 32020: T value(int i) const; 32020: T value(int i, const T &defaultValue) const; 32020: 32020: void swapItemsAt(int i, int j) { 32020: static_cast(false && (i >= 0 && i < size() && j >= 0 && j < size())) 32020: ; 32020: detach(); 32020: qSwap(d->begin()[i], d->begin()[j]); 32020: } 32020: 32020: 32020: typedef T value_type; 32020: typedef value_type* pointer; 32020: typedef const value_type* const_pointer; 32020: typedef value_type& reference; 32020: typedef const value_type& const_reference; 32020: typedef qptrdiff difference_type; 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: typedef int size_type; 32020: inline void push_back(const T &t) { append(t); } 32020: void push_back(T &&t) { append(std::move(t)); } 32020: void push_front(T &&t) { prepend(std::move(t)); } 32020: inline void push_front(const T &t) { prepend(t); } 32020: void pop_back() { removeLast(); } 32020: void pop_front() { removeFirst(); } 32020: inline bool empty() const 32020: { return d->size == 0; } 32020: inline T& front() { return first(); } 32020: inline const_reference front() const { return first(); } 32020: inline reference back() { return last(); } 32020: inline const_reference back() const { return last(); } 32020: void shrink_to_fit() { squeeze(); } 32020: 32020: 32020: QVector &operator+=(const QVector &l); 32020: inline QVector operator+(const QVector &l) const 32020: { QVector n = *this; n += l; return n; } 32020: inline QVector &operator+=(const T &t) 32020: { append(t); return *this; } 32020: inline QVector &operator<< (const T &t) 32020: { append(t); return *this; } 32020: inline QVector &operator<<(const QVector &l) 32020: { *this += l; return *this; } 32020: inline QVector &operator+=(T &&t) 32020: { append(std::move(t)); return *this; } 32020: inline QVector &operator<<(T &&t) 32020: { append(std::move(t)); return *this; } 32020: 32020: static QVector fromList(const QList &list); 32020: QList toList() const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QVector(vector.begin(), vector.end()) instead."))) 32020: static inline QVector fromStdVector(const std::vector &vector) 32020: { return QVector(vector.begin(), vector.end()); } 32020: __attribute__ ((__deprecated__("Use std::vector(vector.begin(), vector.end()) instead."))) 32020: inline std::vector toStdVector() const 32020: { return std::vector(d->begin(), d->end()); } 32020: 32020: private: 32020: 32020: void reallocData(const int size, const int alloc, QArrayData::AllocationOptions options = QArrayData::Default); 32020: void reallocData(const int sz) { reallocData(sz, d->alloc); } 32020: void realloc(int alloc, QArrayData::AllocationOptions options = QArrayData::Default); 32020: void freeData(Data *d); 32020: void defaultConstruct(T *from, T *to); 32020: void copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom); 32020: void destruct(T *from, T *to); 32020: bool isValidIterator(const iterator &i) const 32020: { 32020: const std::less less = {}; 32020: return !less(d->end(), i) && !less(i, d->begin()); 32020: } 32020: class AlignmentDummy { Data header; T array[1]; }; 32020: }; 32020: 32020: 32020: template ::value_type, 32020: QtPrivate::IfIsInputIterator = true> 32020: QVector(InputIterator, InputIterator) -> QVector; 32020: # 343 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 3 4 32020: template 32020: void QVector::defaultConstruct(T *from, T *to) 32020: { 32020: if (QTypeInfo::isComplex) { 32020: while (from != to) { 32020: new (from++) T(); 32020: } 32020: } else { 32020: ::memset(static_cast(from), 0, (to - from) * sizeof(T)); 32020: } 32020: } 32020: 32020: template 32020: void QVector::copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom) 32020: { 32020: if (QTypeInfo::isComplex) { 32020: while (srcFrom != srcTo) 32020: new (dstFrom++) T(*srcFrom++); 32020: } else { 32020: ::memcpy(static_cast(dstFrom), static_cast(srcFrom), (srcTo - srcFrom) * sizeof(T)); 32020: } 32020: } 32020: 32020: template 32020: void QVector::destruct(T *from, T *to) 32020: { 32020: if (QTypeInfo::isComplex) { 32020: while (from != to) { 32020: from++->~T(); 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline QVector::QVector(const QVector &v) 32020: { 32020: if (v.d->ref.ref()) { 32020: d = v.d; 32020: } else { 32020: if (v.d->capacityReserved) { 32020: d = Data::allocate(v.d->alloc); 32020: do { if (!(d)) qBadAlloc(); } while (false); 32020: d->capacityReserved = true; 32020: } else { 32020: d = Data::allocate(v.d->size); 32020: do { if (!(d)) qBadAlloc(); } while (false); 32020: } 32020: if (d->alloc) { 32020: copyConstruct(v.d->begin(), v.d->end(), d->begin()); 32020: d->size = v.d->size; 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void QVector::detach() 32020: { 32020: if (!isDetached()) { 32020: 32020: if (!d->alloc) 32020: d = Data::unsharableEmpty(); 32020: else 32020: 32020: realloc(int(d->alloc)); 32020: } 32020: static_cast(false && (isDetached())); 32020: } 32020: 32020: template 32020: void QVector::reserve(int asize) 32020: { 32020: if (asize > int(d->alloc)) 32020: realloc(asize); 32020: if (isDetached() 32020: 32020: && d != Data::unsharableEmpty() 32020: 32020: ) 32020: d->capacityReserved = 1; 32020: static_cast(false && (capacity() >= asize)); 32020: } 32020: 32020: template 32020: void QVector::resize(int asize) 32020: { 32020: if (asize == d->size) 32020: return detach(); 32020: if (asize > int(d->alloc) || !isDetached()) { 32020: QArrayData::AllocationOptions opt = asize > int(d->alloc) ? QArrayData::Grow : QArrayData::Default; 32020: realloc(qMax(int(d->alloc), asize), opt); 32020: } 32020: if (asize < d->size) 32020: destruct(begin() + asize, end()); 32020: else 32020: defaultConstruct(end(), begin() + asize); 32020: d->size = asize; 32020: } 32020: template 32020: inline void QVector::clear() 32020: { 32020: if (!d->size) 32020: return; 32020: destruct(begin(), end()); 32020: d->size = 0; 32020: } 32020: template 32020: inline const T &QVector::at(int i) const 32020: { static_cast(false && (i >= 0 && i < d->size)); 32020: return d->begin()[i]; } 32020: template 32020: inline const T &QVector::operator[](int i) const 32020: { static_cast(false && (i >= 0 && i < d->size)); 32020: return d->begin()[i]; } 32020: template 32020: inline T &QVector::operator[](int i) 32020: { static_cast(false && (i >= 0 && i < d->size)); 32020: return data()[i]; } 32020: template 32020: inline void QVector::insert(int i, const T &t) 32020: { static_cast(false && (i >= 0 && i <= d->size)); 32020: insert(begin() + i, 1, t); } 32020: template 32020: inline void QVector::insert(int i, int n, const T &t) 32020: { static_cast(false && (i >= 0 && i <= d->size)); 32020: insert(begin() + i, n, t); } 32020: template 32020: inline void QVector::insert(int i, T &&t) 32020: { static_cast(false && (i >= 0 && i <= d->size)); 32020: insert(begin() + i, std::move(t)); } 32020: template 32020: inline void QVector::remove(int i, int n) 32020: { static_cast(false && (i >= 0 && n >= 0 && i + n <= d->size)); 32020: erase(d->begin() + i, d->begin() + i + n); } 32020: template 32020: inline void QVector::remove(int i) 32020: { static_cast(false && (i >= 0 && i < d->size)); 32020: erase(d->begin() + i, d->begin() + i + 1); } 32020: template 32020: inline void QVector::prepend(const T &t) 32020: { insert(begin(), 1, t); } 32020: template 32020: inline void QVector::prepend(T &&t) 32020: { insert(begin(), std::move(t)); } 32020: 32020: template 32020: inline void QVector::replace(int i, const T &t) 32020: { 32020: static_cast(false && (i >= 0 && i < d->size)); 32020: const T copy(t); 32020: data()[i] = copy; 32020: } 32020: 32020: template 32020: QVector &QVector::operator=(const QVector &v) 32020: { 32020: if (v.d != d) { 32020: QVector tmp(v); 32020: tmp.swap(*this); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: QVector::QVector(int asize) 32020: { 32020: static_cast(false && (asize >= 0)); 32020: if (__builtin_expect(!!(asize > 0), true)) { 32020: d = Data::allocate(asize); 32020: do { if (!(d)) qBadAlloc(); } while (false); 32020: d->size = asize; 32020: defaultConstruct(d->begin(), d->end()); 32020: } else { 32020: d = Data::sharedNull(); 32020: } 32020: } 32020: 32020: template 32020: QVector::QVector(int asize, const T &t) 32020: { 32020: static_cast(false && (asize >= 0)); 32020: if (asize > 0) { 32020: d = Data::allocate(asize); 32020: do { if (!(d)) qBadAlloc(); } while (false); 32020: d->size = asize; 32020: T* i = d->end(); 32020: while (i != d->begin()) 32020: new (--i) T(t); 32020: } else { 32020: d = Data::sharedNull(); 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: QVector::QVector(std::initializer_list args) 32020: { 32020: if (args.size() > 0) { 32020: d = Data::allocate(args.size()); 32020: do { if (!(d)) qBadAlloc(); } while (false); 32020: 32020: 32020: copyConstruct(args.begin(), args.end(), d->begin()); 32020: d->size = int(args.size()); 32020: } else { 32020: d = Data::sharedNull(); 32020: } 32020: } 32020: 32020: template 32020: QVector &QVector::operator=(std::initializer_list args) 32020: { 32020: QVector tmp(args); 32020: tmp.swap(*this); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: template > 32020: QVector::QVector(InputIterator first, InputIterator last) 32020: : QVector() 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, first, last); 32020: std::copy(first, last, std::back_inserter(*this)); 32020: } 32020: 32020: template 32020: void QVector::freeData(Data *x) 32020: { 32020: destruct(x->begin(), x->end()); 32020: Data::deallocate(x); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void QVector::reallocData(const int asize, const int aalloc, QArrayData::AllocationOptions options) 32020: { 32020: static_cast(false && (asize >= 0 && asize <= aalloc)); 32020: Data *x = d; 32020: 32020: const bool isShared = d->ref.isShared(); 32020: 32020: if (aalloc != 0) { 32020: if (aalloc != int(d->alloc) || isShared) { 32020: try { 32020: 32020: x = Data::allocate(aalloc, options); 32020: do { if (!(x)) qBadAlloc(); } while (false); 32020: 32020: 32020: static_cast(false && (x->ref.isSharable() || options.testFlag(QArrayData::Unsharable))); 32020: 32020: static_cast(false && (!x->ref.isStatic())); 32020: x->size = asize; 32020: 32020: T *srcBegin = d->begin(); 32020: T *srcEnd = asize > d->size ? d->end() : d->begin() + asize; 32020: T *dst = x->begin(); 32020: 32020: if (!QTypeInfoQuery::isRelocatable || (isShared && QTypeInfo::isComplex)) { 32020: try { 32020: if (isShared || !std::is_nothrow_move_constructible::value) { 32020: 32020: while (srcBegin != srcEnd) 32020: new (dst++) T(*srcBegin++); 32020: } else { 32020: while (srcBegin != srcEnd) 32020: new (dst++) T(std::move(*srcBegin++)); 32020: } 32020: } catch (...) { 32020: 32020: destruct(x->begin(), dst); 32020: throw; 32020: } 32020: } else { 32020: ::memcpy(static_cast(dst), static_cast(srcBegin), (srcEnd - srcBegin) * sizeof(T)); 32020: dst += srcEnd - srcBegin; 32020: 32020: 32020: if (asize < d->size) 32020: destruct(d->begin() + asize, d->end()); 32020: } 32020: 32020: if (asize > d->size) { 32020: 32020: if (!QTypeInfo::isComplex) { 32020: ::memset(static_cast(dst), 0, (static_cast(x->end()) - dst) * sizeof(T)); 32020: } else { 32020: try { 32020: while (dst != x->end()) 32020: new (dst++) T(); 32020: } catch (...) { 32020: 32020: destruct(x->begin(), dst); 32020: throw; 32020: } 32020: } 32020: } 32020: } catch (...) { 32020: Data::deallocate(x); 32020: throw; 32020: } 32020: x->capacityReserved = d->capacityReserved; 32020: } else { 32020: static_cast(false && (int(d->alloc) == aalloc)); 32020: static_cast(false && (isDetached())); 32020: static_cast(false && (x == d)); 32020: if (asize <= d->size) { 32020: destruct(x->begin() + asize, x->end()); 32020: } else { 32020: defaultConstruct(x->end(), x->begin() + asize); 32020: } 32020: x->size = asize; 32020: } 32020: } else { 32020: x = Data::sharedNull(); 32020: } 32020: if (d != x) { 32020: if (!d->ref.deref()) { 32020: if (!QTypeInfoQuery::isRelocatable || !aalloc || (isShared && QTypeInfo::isComplex)) { 32020: 32020: 32020: freeData(d); 32020: } else { 32020: Data::deallocate(d); 32020: } 32020: } 32020: d = x; 32020: } 32020: 32020: static_cast(false && (d->data())); 32020: static_cast(false && (uint(d->size) <= d->alloc)); 32020: 32020: static_cast(false && (d != Data::unsharableEmpty())); 32020: 32020: static_cast(false && (aalloc ? d != Data::sharedNull() : d == Data::sharedNull())); 32020: static_cast(false && (d->alloc >= uint(aalloc))); 32020: static_cast(false && (d->size == asize)); 32020: } 32020: 32020: template 32020: void QVector::realloc(int aalloc, QArrayData::AllocationOptions options) 32020: { 32020: static_cast(false && (aalloc >= d->size)); 32020: Data *x = d; 32020: 32020: const bool isShared = d->ref.isShared(); 32020: 32020: try { 32020: 32020: x = Data::allocate(aalloc, options); 32020: do { if (!(x)) qBadAlloc(); } while (false); 32020: 32020: 32020: static_cast(false && (x->ref.isSharable() || options.testFlag(QArrayData::Unsharable))); 32020: 32020: static_cast(false && (!x->ref.isStatic())); 32020: x->size = d->size; 32020: 32020: T *srcBegin = d->begin(); 32020: T *srcEnd = d->end(); 32020: T *dst = x->begin(); 32020: 32020: if (!QTypeInfoQuery::isRelocatable || (isShared && QTypeInfo::isComplex)) { 32020: try { 32020: if (isShared || !std::is_nothrow_move_constructible::value) { 32020: 32020: while (srcBegin != srcEnd) 32020: new (dst++) T(*srcBegin++); 32020: } else { 32020: while (srcBegin != srcEnd) 32020: new (dst++) T(std::move(*srcBegin++)); 32020: } 32020: } catch (...) { 32020: 32020: destruct(x->begin(), dst); 32020: throw; 32020: } 32020: } else { 32020: ::memcpy(static_cast(dst), static_cast(srcBegin), (srcEnd - srcBegin) * sizeof(T)); 32020: dst += srcEnd - srcBegin; 32020: } 32020: 32020: } catch (...) { 32020: Data::deallocate(x); 32020: throw; 32020: } 32020: x->capacityReserved = d->capacityReserved; 32020: 32020: static_cast(false && (d != x)); 32020: if (!d->ref.deref()) { 32020: if (!QTypeInfoQuery::isRelocatable || !aalloc || (isShared && QTypeInfo::isComplex)) { 32020: 32020: 32020: freeData(d); 32020: } else { 32020: Data::deallocate(d); 32020: } 32020: } 32020: d = x; 32020: 32020: static_cast(false && (d->data())); 32020: static_cast(false && (uint(d->size) <= d->alloc)); 32020: 32020: static_cast(false && (d != Data::unsharableEmpty())); 32020: 32020: static_cast(false && (d != Data::sharedNull())); 32020: static_cast(false && (d->alloc >= uint(aalloc))); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: T QVector::value(int i) const 32020: { 32020: if (uint(i) >= uint(d->size)) { 32020: return T(); 32020: } 32020: return d->begin()[i]; 32020: } 32020: template 32020: T QVector::value(int i, const T &defaultValue) const 32020: { 32020: return uint(i) >= uint(d->size) ? defaultValue : d->begin()[i]; 32020: } 32020: 32020: template 32020: void QVector::append(const T &t) 32020: { 32020: const bool isTooSmall = uint(d->size + 1) > d->alloc; 32020: if (!isDetached() || isTooSmall) { 32020: T copy(t); 32020: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 32020: realloc(isTooSmall ? d->size + 1 : d->alloc, opt); 32020: 32020: if (QTypeInfo::isComplex) 32020: new (d->end()) T(std::move(copy)); 32020: else 32020: *d->end() = std::move(copy); 32020: 32020: } else { 32020: if (QTypeInfo::isComplex) 32020: new (d->end()) T(t); 32020: else 32020: *d->end() = t; 32020: } 32020: ++d->size; 32020: } 32020: 32020: template 32020: void QVector::append(T &&t) 32020: { 32020: const bool isTooSmall = uint(d->size + 1) > d->alloc; 32020: if (!isDetached() || isTooSmall) { 32020: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 32020: realloc(isTooSmall ? d->size + 1 : d->alloc, opt); 32020: } 32020: 32020: new (d->end()) T(std::move(t)); 32020: 32020: ++d->size; 32020: } 32020: 32020: template 32020: void QVector::removeLast() 32020: { 32020: static_cast(false && (!isEmpty())); 32020: static_cast(false && (d->alloc)); 32020: 32020: if (d->ref.isShared()) 32020: detach(); 32020: --d->size; 32020: if (QTypeInfo::isComplex) 32020: (d->data() + d->size)->~T(); 32020: } 32020: 32020: template 32020: typename QVector::iterator QVector::insert(iterator before, size_type n, const T &t) 32020: { 32020: static_cast(false && (isValidIterator(before))); 32020: 32020: const auto offset = std::distance(d->begin(), before); 32020: if (n != 0) { 32020: const T copy(t); 32020: if (!isDetached() || d->size + n > int(d->alloc)) 32020: realloc(d->size + n, QArrayData::Grow); 32020: if (!QTypeInfoQuery::isRelocatable) { 32020: T *b = d->end(); 32020: T *i = d->end() + n; 32020: while (i != b) 32020: new (--i) T; 32020: i = d->end(); 32020: T *j = i + n; 32020: b = d->begin() + offset; 32020: while (i != b) 32020: *--j = *--i; 32020: i = b+n; 32020: while (i != b) 32020: *--i = copy; 32020: } else { 32020: T *b = d->begin() + offset; 32020: T *i = b + n; 32020: memmove(static_cast(i), static_cast(b), (d->size - offset) * sizeof(T)); 32020: while (i != b) 32020: new (--i) T(copy); 32020: } 32020: d->size += n; 32020: } 32020: return d->begin() + offset; 32020: } 32020: 32020: template 32020: typename QVector::iterator QVector::insert(iterator before, T &&t) 32020: { 32020: static_cast(false && (isValidIterator(before))); 32020: 32020: const auto offset = std::distance(d->begin(), before); 32020: if (!isDetached() || d->size + 1 > int(d->alloc)) 32020: realloc(d->size + 1, QArrayData::Grow); 32020: if (!QTypeInfoQuery::isRelocatable) { 32020: T *i = d->end(); 32020: T *j = i + 1; 32020: T *b = d->begin() + offset; 32020: 32020: if (i != b) { 32020: new (--j) T(std::move(*--i)); 32020: while (i != b) 32020: *--j = std::move(*--i); 32020: *b = std::move(t); 32020: } else { 32020: new (b) T(std::move(t)); 32020: } 32020: } else { 32020: T *b = d->begin() + offset; 32020: memmove(static_cast(b + 1), static_cast(b), (d->size - offset) * sizeof(T)); 32020: new (b) T(std::move(t)); 32020: } 32020: d->size += 1; 32020: return d->begin() + offset; 32020: } 32020: 32020: template 32020: typename QVector::iterator QVector::erase(iterator abegin, iterator aend) 32020: { 32020: static_cast(false && (isValidIterator(abegin))); 32020: static_cast(false && (isValidIterator(aend))); 32020: 32020: const auto itemsToErase = aend - abegin; 32020: 32020: if (!itemsToErase) 32020: return abegin; 32020: 32020: static_cast(false && (abegin >= d->begin())); 32020: static_cast(false && (aend <= d->end())); 32020: static_cast(false && (abegin <= aend)); 32020: 32020: const auto itemsUntouched = abegin - d->begin(); 32020: 32020: 32020: 32020: 32020: if (d->alloc) { 32020: detach(); 32020: abegin = d->begin() + itemsUntouched; 32020: aend = abegin + itemsToErase; 32020: if (!QTypeInfoQuery::isRelocatable) { 32020: iterator moveBegin = abegin + itemsToErase; 32020: iterator moveEnd = d->end(); 32020: while (moveBegin != moveEnd) { 32020: if (QTypeInfo::isComplex) 32020: static_cast(abegin)->~T(); 32020: new (abegin++) T(*moveBegin++); 32020: } 32020: if (abegin < d->end()) { 32020: 32020: destruct(abegin, d->end()); 32020: } 32020: } else { 32020: destruct(abegin, aend); 32020: 32020: 32020: 32020: memmove(static_cast(abegin), static_cast(aend), 32020: (d->size - itemsToErase - itemsUntouched) * sizeof(T)); 32020: } 32020: d->size -= int(itemsToErase); 32020: } 32020: return d->begin() + itemsUntouched; 32020: } 32020: 32020: template 32020: bool QVector::operator==(const QVector &v) const 32020: { 32020: if (d == v.d) 32020: return true; 32020: if (d->size != v.d->size) 32020: return false; 32020: const T *vb = v.d->begin(); 32020: const T *b = d->begin(); 32020: const T *e = d->end(); 32020: return std::equal(b, e, (vb)); 32020: } 32020: 32020: template 32020: QVector &QVector::fill(const T &from, int asize) 32020: { 32020: const T copy(from); 32020: resize(asize < 0 ? d->size : asize); 32020: if (d->size) { 32020: T *i = d->end(); 32020: T *b = d->begin(); 32020: while (i != b) 32020: *--i = copy; 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: QVector &QVector::operator+=(const QVector &l) 32020: { 32020: if (d->size == 0) { 32020: *this = l; 32020: } else { 32020: uint newSize = d->size + l.d->size; 32020: const bool isTooSmall = newSize > d->alloc; 32020: if (!isDetached() || isTooSmall) { 32020: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 32020: realloc(isTooSmall ? newSize : d->alloc, opt); 32020: } 32020: 32020: if (d->alloc) { 32020: T *w = d->begin() + newSize; 32020: T *i = l.d->end(); 32020: T *b = l.d->begin(); 32020: while (i != b) { 32020: if (QTypeInfo::isComplex) 32020: new (--w) T(*--i); 32020: else 32020: *--w = *--i; 32020: } 32020: d->size = newSize; 32020: } 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: int QVector::indexOf(const T &t, int from) const 32020: { 32020: if (from < 0) 32020: from = qMax(from + d->size, 0); 32020: if (from < d->size) { 32020: T* n = d->begin() + from - 1; 32020: T* e = d->end(); 32020: while (++n != e) 32020: if (*n == t) 32020: return n - d->begin(); 32020: } 32020: return -1; 32020: } 32020: 32020: template 32020: int QVector::lastIndexOf(const T &t, int from) const 32020: { 32020: if (from < 0) 32020: from += d->size; 32020: else if (from >= d->size) 32020: from = d->size-1; 32020: if (from >= 0) { 32020: T* b = d->begin(); 32020: T* n = d->begin() + from + 1; 32020: while (n != b) { 32020: if (*--n == t) 32020: return n - b; 32020: } 32020: } 32020: return -1; 32020: } 32020: 32020: template 32020: bool QVector::contains(const T &t) const 32020: { 32020: const T *b = d->begin(); 32020: const T *e = d->end(); 32020: return std::find(b, e, t) != e; 32020: } 32020: 32020: template 32020: int QVector::count(const T &t) const 32020: { 32020: const T *b = d->begin(); 32020: const T *e = d->end(); 32020: return int(std::count(b, e, t)); 32020: } 32020: 32020: template 32020: QVector QVector::mid(int pos, int len) const 32020: { 32020: using namespace QtPrivate; 32020: switch (QContainerImplHelper::mid(d->size, &pos, &len)) { 32020: case QContainerImplHelper::Null: 32020: case QContainerImplHelper::Empty: 32020: return QVector(); 32020: case QContainerImplHelper::Full: 32020: return *this; 32020: case QContainerImplHelper::Subset: 32020: break; 32020: } 32020: 32020: QVector midResult; 32020: midResult.realloc(len); 32020: T *srcFrom = d->begin() + pos; 32020: T *srcTo = d->begin() + pos + len; 32020: midResult.copyConstruct(srcFrom, srcTo, midResult.data()); 32020: midResult.d->size = len; 32020: return midResult; 32020: } 32020: 32020: 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; } }; 32020: 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() { static_cast(false && (item_exists())); return *n; } inline const T &value() const { static_cast(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; } }; 32020: 32020: template 32020: uint qHash(const QVector &key, uint seed = 0) 32020: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 32020: { 32020: return qHashRange(key.cbegin(), key.cend(), seed); 32020: } 32020: 32020: template 32020: bool operator<(const QVector &lhs, const QVector &rhs) 32020: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), 32020: rhs.begin(), rhs.end()))) 32020: { 32020: return std::lexicographical_compare(lhs.begin(), lhs.end(), 32020: rhs.begin(), rhs.end()); 32020: } 32020: 32020: template 32020: inline bool operator>(const QVector &lhs, const QVector &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return rhs < lhs; 32020: } 32020: 32020: template 32020: inline bool operator<=(const QVector &lhs, const QVector &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return !(lhs > rhs); 32020: } 32020: 32020: template 32020: inline bool operator>=(const QVector &lhs, const QVector &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return !(lhs < rhs); 32020: } 32020: # 1133 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvector.h" 3 4 32020: QVector QStringView::toUcs4() const { return QtPrivate::convertToUcs4(*this); } 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/list" 1 3 4 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/list" 3 4 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/list" 3 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 1 3 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocated_ptr.h" 1 3 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/bits/allocated_ptr.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: struct __allocated_ptr 32020: { 32020: using pointer = typename allocator_traits<_Alloc>::pointer; 32020: using value_type = typename allocator_traits<_Alloc>::value_type; 32020: 32020: 32020: __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept 32020: : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr) 32020: { } 32020: 32020: 32020: template>> 32020: __allocated_ptr(_Alloc& __a, _Ptr __ptr) 32020: : _M_alloc(std::__addressof(__a)), 32020: _M_ptr(pointer_traits::pointer_to(*__ptr)) 32020: { } 32020: 32020: 32020: __allocated_ptr(__allocated_ptr&& __gd) noexcept 32020: : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr) 32020: { __gd._M_ptr = nullptr; } 32020: 32020: 32020: ~__allocated_ptr() 32020: { 32020: if (_M_ptr != nullptr) 32020: std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1); 32020: } 32020: 32020: 32020: __allocated_ptr& 32020: operator=(std::nullptr_t) noexcept 32020: { 32020: _M_ptr = nullptr; 32020: return *this; 32020: } 32020: 32020: 32020: value_type* get() { return std::__to_address(_M_ptr); } 32020: 32020: private: 32020: _Alloc* _M_alloc; 32020: pointer _M_ptr; 32020: }; 32020: 32020: 32020: template 32020: __allocated_ptr<_Alloc> 32020: __allocate_guarded(_Alloc& __a) 32020: { 32020: return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) }; 32020: } 32020: 32020: 32020: } 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 2 3 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: namespace __detail 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct _List_node_base 32020: { 32020: _List_node_base* _M_next; 32020: _List_node_base* _M_prev; 32020: 32020: static void 32020: swap(_List_node_base& __x, _List_node_base& __y) noexcept; 32020: 32020: void 32020: _M_transfer(_List_node_base* const __first, 32020: _List_node_base* const __last) noexcept; 32020: 32020: void 32020: _M_reverse() noexcept; 32020: 32020: void 32020: _M_hook(_List_node_base* const __position) noexcept; 32020: 32020: void 32020: _M_unhook() noexcept; 32020: }; 32020: 32020: 32020: struct _List_node_header : public _List_node_base 32020: { 32020: 32020: std::size_t _M_size; 32020: 32020: 32020: _List_node_header() noexcept 32020: { _M_init(); } 32020: 32020: 32020: _List_node_header(_List_node_header&& __x) noexcept 32020: : _List_node_base{ __x._M_next, __x._M_prev } 32020: 32020: , _M_size(__x._M_size) 32020: 32020: { 32020: if (__x._M_base()->_M_next == __x._M_base()) 32020: this->_M_next = this->_M_prev = this; 32020: else 32020: { 32020: this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base(); 32020: __x._M_init(); 32020: } 32020: } 32020: 32020: void 32020: _M_move_nodes(_List_node_header&& __x) 32020: { 32020: _List_node_base* const __xnode = __x._M_base(); 32020: if (__xnode->_M_next == __xnode) 32020: _M_init(); 32020: else 32020: { 32020: _List_node_base* const __node = this->_M_base(); 32020: __node->_M_next = __xnode->_M_next; 32020: __node->_M_prev = __xnode->_M_prev; 32020: __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node; 32020: 32020: _M_size = __x._M_size; 32020: 32020: __x._M_init(); 32020: } 32020: } 32020: 32020: 32020: void 32020: _M_init() noexcept 32020: { 32020: this->_M_next = this->_M_prev = this; 32020: 32020: this->_M_size = 0; 32020: 32020: } 32020: 32020: private: 32020: _List_node_base* _M_base() { return this; } 32020: }; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: struct _List_node : public __detail::_List_node_base 32020: { 32020: 32020: __gnu_cxx::__aligned_membuf<_Tp> _M_storage; 32020: _Tp* _M_valptr() { return _M_storage._M_ptr(); } 32020: _Tp const* _M_valptr() const { return _M_storage._M_ptr(); } 32020: 32020: 32020: 32020: 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _List_iterator 32020: { 32020: typedef _List_iterator<_Tp> _Self; 32020: typedef _List_node<_Tp> _Node; 32020: 32020: typedef ptrdiff_t difference_type; 32020: typedef std::bidirectional_iterator_tag iterator_category; 32020: typedef _Tp value_type; 32020: typedef _Tp* pointer; 32020: typedef _Tp& reference; 32020: 32020: _List_iterator() noexcept 32020: : _M_node() { } 32020: 32020: explicit 32020: _List_iterator(__detail::_List_node_base* __x) noexcept 32020: : _M_node(__x) { } 32020: 32020: _Self 32020: _M_const_cast() const noexcept 32020: { return *this; } 32020: 32020: 32020: reference 32020: operator*() const noexcept 32020: { return *static_cast<_Node*>(_M_node)->_M_valptr(); } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return static_cast<_Node*>(_M_node)->_M_valptr(); } 32020: 32020: _Self& 32020: operator++() noexcept 32020: { 32020: _M_node = _M_node->_M_next; 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator++(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _M_node->_M_next; 32020: return __tmp; 32020: } 32020: 32020: _Self& 32020: operator--() noexcept 32020: { 32020: _M_node = _M_node->_M_prev; 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator--(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _M_node->_M_prev; 32020: return __tmp; 32020: } 32020: 32020: friend bool 32020: operator==(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node == __y._M_node; } 32020: 32020: 32020: friend bool 32020: operator!=(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node != __y._M_node; } 32020: 32020: 32020: 32020: __detail::_List_node_base* _M_node; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _List_const_iterator 32020: { 32020: typedef _List_const_iterator<_Tp> _Self; 32020: typedef const _List_node<_Tp> _Node; 32020: typedef _List_iterator<_Tp> iterator; 32020: 32020: typedef ptrdiff_t difference_type; 32020: typedef std::bidirectional_iterator_tag iterator_category; 32020: typedef _Tp value_type; 32020: typedef const _Tp* pointer; 32020: typedef const _Tp& reference; 32020: 32020: _List_const_iterator() noexcept 32020: : _M_node() { } 32020: 32020: explicit 32020: _List_const_iterator(const __detail::_List_node_base* __x) 32020: noexcept 32020: : _M_node(__x) { } 32020: 32020: _List_const_iterator(const iterator& __x) noexcept 32020: : _M_node(__x._M_node) { } 32020: 32020: iterator 32020: _M_const_cast() const noexcept 32020: { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); } 32020: 32020: 32020: reference 32020: operator*() const noexcept 32020: { return *static_cast<_Node*>(_M_node)->_M_valptr(); } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return static_cast<_Node*>(_M_node)->_M_valptr(); } 32020: 32020: _Self& 32020: operator++() noexcept 32020: { 32020: _M_node = _M_node->_M_next; 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator++(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _M_node->_M_next; 32020: return __tmp; 32020: } 32020: 32020: _Self& 32020: operator--() noexcept 32020: { 32020: _M_node = _M_node->_M_prev; 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator--(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _M_node->_M_prev; 32020: return __tmp; 32020: } 32020: 32020: friend bool 32020: operator==(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node == __y._M_node; } 32020: 32020: 32020: friend bool 32020: operator!=(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node != __y._M_node; } 32020: 32020: 32020: 32020: const __detail::_List_node_base* _M_node; 32020: }; 32020: 32020: namespace __cxx11 { 32020: 32020: template 32020: class _List_base 32020: { 32020: protected: 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_Tp>::other _Tp_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits; 32020: typedef typename _Tp_alloc_traits::template 32020: rebind<_List_node<_Tp> >::other _Node_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits; 32020: 32020: 32020: static size_t 32020: _S_distance(const __detail::_List_node_base* __first, 32020: const __detail::_List_node_base* __last) 32020: { 32020: size_t __n = 0; 32020: while (__first != __last) 32020: { 32020: __first = __first->_M_next; 32020: ++__n; 32020: } 32020: return __n; 32020: } 32020: 32020: 32020: struct _List_impl 32020: : public _Node_alloc_type 32020: { 32020: __detail::_List_node_header _M_node; 32020: 32020: _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value) 32020: 32020: : _Node_alloc_type() 32020: { } 32020: 32020: _List_impl(const _Node_alloc_type& __a) noexcept 32020: : _Node_alloc_type(__a) 32020: { } 32020: 32020: 32020: _List_impl(_List_impl&&) = default; 32020: 32020: _List_impl(_Node_alloc_type&& __a, _List_impl&& __x) 32020: : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node)) 32020: { } 32020: 32020: _List_impl(_Node_alloc_type&& __a) noexcept 32020: : _Node_alloc_type(std::move(__a)) 32020: { } 32020: 32020: }; 32020: 32020: _List_impl _M_impl; 32020: 32020: 32020: size_t _M_get_size() const { return _M_impl._M_node._M_size; } 32020: 32020: void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; } 32020: 32020: void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; } 32020: 32020: void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; } 32020: 32020: 32020: size_t 32020: _M_distance(const __detail::_List_node_base* __first, 32020: const __detail::_List_node_base* __last) const 32020: { return _S_distance(__first, __last); } 32020: 32020: 32020: size_t _M_node_count() const { return _M_get_size(); } 32020: # 440 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: typename _Node_alloc_traits::pointer 32020: _M_get_node() 32020: { return _Node_alloc_traits::allocate(_M_impl, 1); } 32020: 32020: void 32020: _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept 32020: { _Node_alloc_traits::deallocate(_M_impl, __p, 1); } 32020: 32020: public: 32020: typedef _Alloc allocator_type; 32020: 32020: _Node_alloc_type& 32020: _M_get_Node_allocator() noexcept 32020: { return _M_impl; } 32020: 32020: const _Node_alloc_type& 32020: _M_get_Node_allocator() const noexcept 32020: { return _M_impl; } 32020: 32020: 32020: _List_base() = default; 32020: 32020: 32020: 32020: 32020: _List_base(const _Node_alloc_type& __a) noexcept 32020: : _M_impl(__a) 32020: { } 32020: 32020: 32020: _List_base(_List_base&&) = default; 32020: 32020: 32020: _List_base(_List_base&& __x, _Node_alloc_type&& __a) 32020: : _M_impl(std::move(__a)) 32020: { 32020: if (__x._M_get_Node_allocator() == _M_get_Node_allocator()) 32020: _M_move_nodes(std::move(__x)); 32020: 32020: } 32020: 32020: 32020: 32020: _List_base(_Node_alloc_type&& __a, _List_base&& __x) 32020: : _M_impl(std::move(__a), std::move(__x._M_impl)) 32020: { } 32020: 32020: 32020: _List_base(_Node_alloc_type&& __a) 32020: : _M_impl(std::move(__a)) 32020: { } 32020: 32020: void 32020: _M_move_nodes(_List_base&& __x) 32020: { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); } 32020: 32020: 32020: 32020: ~_List_base() noexcept 32020: { _M_clear(); } 32020: 32020: void 32020: _M_clear() noexcept; 32020: 32020: void 32020: _M_init() noexcept 32020: { this->_M_impl._M_node._M_init(); } 32020: }; 32020: # 555 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template > 32020: class list : protected _List_base<_Tp, _Alloc> 32020: { 32020: # 568 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: static_assert(is_same::type, _Tp>::value, 32020: "std::list must have a non-const, non-volatile value_type"); 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef _List_base<_Tp, _Alloc> _Base; 32020: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 32020: typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits; 32020: typedef typename _Base::_Node_alloc_type _Node_alloc_type; 32020: typedef typename _Base::_Node_alloc_traits _Node_alloc_traits; 32020: 32020: public: 32020: typedef _Tp value_type; 32020: typedef typename _Tp_alloc_traits::pointer pointer; 32020: typedef typename _Tp_alloc_traits::const_pointer const_pointer; 32020: typedef typename _Tp_alloc_traits::reference reference; 32020: typedef typename _Tp_alloc_traits::const_reference const_reference; 32020: typedef _List_iterator<_Tp> iterator; 32020: typedef _List_const_iterator<_Tp> const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Alloc allocator_type; 32020: 32020: protected: 32020: 32020: 32020: typedef _List_node<_Tp> _Node; 32020: 32020: using _Base::_M_impl; 32020: using _Base::_M_put_node; 32020: using _Base::_M_get_node; 32020: using _Base::_M_get_Node_allocator; 32020: # 630 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: _Node* 32020: _M_create_node(_Args&&... __args) 32020: { 32020: auto __p = this->_M_get_node(); 32020: auto& __alloc = _M_get_Node_allocator(); 32020: __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p}; 32020: _Node_alloc_traits::construct(__alloc, __p->_M_valptr(), 32020: std::forward<_Args>(__args)...); 32020: __guard = nullptr; 32020: return __p; 32020: } 32020: 32020: 32020: 32020: static size_t 32020: _S_distance(const_iterator __first, const_iterator __last) 32020: { return std::distance(__first, __last); } 32020: 32020: 32020: size_t 32020: _M_node_count() const 32020: { return this->_M_get_size(); } 32020: # 665 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: list() = default; 32020: # 682 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: explicit 32020: list(const allocator_type& __a) noexcept 32020: : _Base(_Node_alloc_type(__a)) { } 32020: # 695 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: explicit 32020: list(size_type __n, const allocator_type& __a = allocator_type()) 32020: : _Base(_Node_alloc_type(__a)) 32020: { _M_default_initialize(__n); } 32020: # 708 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list(size_type __n, const value_type& __value, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(_Node_alloc_type(__a)) 32020: { _M_fill_initialize(__n, __value); } 32020: # 735 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list(const list& __x) 32020: : _Base(_Node_alloc_traits:: 32020: _S_select_on_copy(__x._M_get_Node_allocator())) 32020: { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } 32020: # 748 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list(list&&) = default; 32020: # 758 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list(initializer_list __l, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(_Node_alloc_type(__a)) 32020: { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); } 32020: 32020: list(const list& __x, const allocator_type& __a) 32020: : _Base(_Node_alloc_type(__a)) 32020: { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } 32020: 32020: private: 32020: list(list&& __x, const allocator_type& __a, true_type) noexcept 32020: : _Base(_Node_alloc_type(__a), std::move(__x)) 32020: { } 32020: 32020: list(list&& __x, const allocator_type& __a, false_type) 32020: : _Base(_Node_alloc_type(__a)) 32020: { 32020: if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) 32020: this->_M_move_nodes(std::move(__x)); 32020: else 32020: insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()), 32020: std::__make_move_if_noexcept_iterator(__x.end())); 32020: } 32020: 32020: public: 32020: list(list&& __x, const allocator_type& __a) 32020: noexcept(_Node_alloc_traits::_S_always_equal()) 32020: : list(std::move(__x), __a, 32020: typename _Node_alloc_traits::is_always_equal{}) 32020: { } 32020: # 801 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template> 32020: list(_InputIterator __first, _InputIterator __last, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(_Node_alloc_type(__a)) 32020: { _M_initialize_dispatch(__first, __last, __false_type()); } 32020: # 827 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: ~list() = default; 32020: # 838 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list& 32020: operator=(const list& __x); 32020: # 852 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list& 32020: operator=(list&& __x) 32020: noexcept(_Node_alloc_traits::_S_nothrow_move()) 32020: { 32020: constexpr bool __move_storage = 32020: _Node_alloc_traits::_S_propagate_on_move_assign() 32020: || _Node_alloc_traits::_S_always_equal(); 32020: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 32020: return *this; 32020: } 32020: # 870 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: list& 32020: operator=(initializer_list __l) 32020: { 32020: this->assign(__l.begin(), __l.end()); 32020: return *this; 32020: } 32020: # 888 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: assign(size_type __n, const value_type& __val) 32020: { _M_fill_assign(__n, __val); } 32020: # 905 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template> 32020: void 32020: assign(_InputIterator __first, _InputIterator __last) 32020: { _M_assign_dispatch(__first, __last, __false_type()); } 32020: # 929 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: assign(initializer_list __l) 32020: { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); } 32020: 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_Base::_M_get_Node_allocator()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return iterator(this->_M_impl._M_node._M_next); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return const_iterator(this->_M_impl._M_node._M_next); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return iterator(&this->_M_impl._M_node); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return const_iterator(&this->_M_impl._M_node); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return const_iterator(this->_M_impl._M_node._M_next); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return const_iterator(&this->_M_impl._M_node); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_node_count(); } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); } 32020: # 1078 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: resize(size_type __new_size); 32020: # 1091 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: resize(size_type __new_size, const value_type& __x); 32020: # 1113 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: reference 32020: front() noexcept 32020: { return *begin(); } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: front() const noexcept 32020: { return *begin(); } 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: back() noexcept 32020: { 32020: iterator __tmp = end(); 32020: --__tmp; 32020: return *__tmp; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: back() const noexcept 32020: { 32020: const_iterator __tmp = end(); 32020: --__tmp; 32020: return *__tmp; 32020: } 32020: # 1160 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: push_front(const value_type& __x) 32020: { this->_M_insert(begin(), __x); } 32020: 32020: 32020: void 32020: push_front(value_type&& __x) 32020: { this->_M_insert(begin(), std::move(__x)); } 32020: 32020: template 32020: 32020: reference 32020: 32020: 32020: 32020: emplace_front(_Args&&... __args) 32020: { 32020: this->_M_insert(begin(), std::forward<_Args>(__args)...); 32020: 32020: return front(); 32020: 32020: } 32020: # 1196 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: pop_front() noexcept 32020: { this->_M_erase(begin()); } 32020: # 1210 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: push_back(const value_type& __x) 32020: { this->_M_insert(end(), __x); } 32020: 32020: 32020: void 32020: push_back(value_type&& __x) 32020: { this->_M_insert(end(), std::move(__x)); } 32020: 32020: template 32020: 32020: reference 32020: 32020: 32020: 32020: emplace_back(_Args&&... __args) 32020: { 32020: this->_M_insert(end(), std::forward<_Args>(__args)...); 32020: 32020: return back(); 32020: 32020: } 32020: # 1245 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: pop_back() noexcept 32020: { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } 32020: # 1262 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: iterator 32020: emplace(const_iterator __position, _Args&&... __args); 32020: # 1277 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: iterator 32020: insert(const_iterator __position, const value_type& __x); 32020: # 1307 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: iterator 32020: insert(const_iterator __position, value_type&& __x) 32020: { return emplace(__position, std::move(__x)); } 32020: # 1326 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: iterator 32020: insert(const_iterator __p, initializer_list __l) 32020: { return this->insert(__p, __l.begin(), __l.end()); } 32020: # 1346 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: iterator 32020: insert(const_iterator __position, size_type __n, const value_type& __x); 32020: # 1385 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template> 32020: iterator 32020: insert(const_iterator __position, _InputIterator __first, 32020: _InputIterator __last); 32020: # 1429 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: iterator 32020: 32020: erase(const_iterator __position) noexcept; 32020: # 1454 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: iterator 32020: 32020: erase(const_iterator __first, const_iterator __last) noexcept 32020: 32020: 32020: 32020: { 32020: while (__first != __last) 32020: __first = erase(__first); 32020: return __last._M_const_cast(); 32020: } 32020: # 1477 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: swap(list& __x) noexcept 32020: { 32020: __detail::_List_node_base::swap(this->_M_impl._M_node, 32020: __x._M_impl._M_node); 32020: 32020: size_t __xsize = __x._M_get_size(); 32020: __x._M_set_size(this->_M_get_size()); 32020: this->_M_set_size(__xsize); 32020: 32020: _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(), 32020: __x._M_get_Node_allocator()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { 32020: _Base::_M_clear(); 32020: _Base::_M_init(); 32020: } 32020: # 1516 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: 32020: splice(const_iterator __position, list&& __x) noexcept 32020: 32020: 32020: 32020: { 32020: if (!__x.empty()) 32020: { 32020: _M_check_equal_allocators(__x); 32020: 32020: this->_M_transfer(__position._M_const_cast(), 32020: __x.begin(), __x.end()); 32020: 32020: this->_M_inc_size(__x._M_get_size()); 32020: __x._M_set_size(0); 32020: } 32020: } 32020: 32020: 32020: void 32020: splice(const_iterator __position, list& __x) noexcept 32020: { splice(__position, std::move(__x)); } 32020: # 1552 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: splice(const_iterator __position, list&& __x, const_iterator __i) noexcept 32020: # 1567 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: { 32020: iterator __j = __i._M_const_cast(); 32020: ++__j; 32020: if (__position == __i || __position == __j) 32020: return; 32020: 32020: if (this != std::__addressof(__x)) 32020: _M_check_equal_allocators(__x); 32020: 32020: this->_M_transfer(__position._M_const_cast(), 32020: __i._M_const_cast(), __j); 32020: 32020: this->_M_inc_size(1); 32020: __x._M_dec_size(1); 32020: } 32020: # 1594 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: splice(const_iterator __position, list& __x, const_iterator __i) noexcept 32020: { splice(__position, std::move(__x), __i); } 32020: # 1613 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: splice(const_iterator __position, list&& __x, const_iterator __first, 32020: const_iterator __last) noexcept 32020: # 1633 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: { 32020: if (__first != __last) 32020: { 32020: if (this != std::__addressof(__x)) 32020: _M_check_equal_allocators(__x); 32020: 32020: size_t __n = _S_distance(__first, __last); 32020: this->_M_inc_size(__n); 32020: __x._M_dec_size(__n); 32020: 32020: this->_M_transfer(__position._M_const_cast(), 32020: __first._M_const_cast(), 32020: __last._M_const_cast()); 32020: } 32020: } 32020: # 1663 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: splice(const_iterator __position, list& __x, const_iterator __first, 32020: const_iterator __last) noexcept 32020: { splice(__position, std::move(__x), __first, __last); } 32020: 32020: 32020: private: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef void __remove_return_type; 32020: 32020: 32020: public: 32020: # 1692 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: 32020: __remove_return_type 32020: remove(const _Tp& __value); 32020: # 1707 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: __remove_return_type 32020: remove_if(_Predicate); 32020: # 1721 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: 32020: __remove_return_type 32020: unique(); 32020: # 1737 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: __remove_return_type 32020: unique(_BinaryPredicate); 32020: # 1753 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: merge(list&& __x); 32020: 32020: void 32020: merge(list& __x) 32020: { merge(std::move(__x)); } 32020: # 1778 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: void 32020: merge(list&& __x, _StrictWeakOrdering __comp); 32020: 32020: template 32020: void 32020: merge(list& __x, _StrictWeakOrdering __comp) 32020: { merge(std::move(__x), __comp); } 32020: # 1797 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: void 32020: reverse() noexcept 32020: { this->_M_impl._M_node._M_reverse(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: sort(); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: sort(_StrictWeakOrdering); 32020: 32020: protected: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 32020: { _M_fill_initialize(static_cast(__n), __x); } 32020: 32020: 32020: template 32020: void 32020: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 32020: __false_type) 32020: { 32020: for (; __first != __last; ++__first) 32020: 32020: emplace_back(*__first); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: void 32020: _M_fill_initialize(size_type __n, const value_type& __x) 32020: { 32020: for (; __n; --__n) 32020: push_back(__x); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_default_initialize(size_type __n) 32020: { 32020: for (; __n; --__n) 32020: emplace_back(); 32020: } 32020: 32020: 32020: void 32020: _M_default_append(size_type __n); 32020: # 1875 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: void 32020: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 32020: { _M_fill_assign(__n, __val); } 32020: 32020: 32020: template 32020: void 32020: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 32020: __false_type); 32020: 32020: 32020: 32020: void 32020: _M_fill_assign(size_type __n, const value_type& __val); 32020: 32020: 32020: 32020: void 32020: _M_transfer(iterator __position, iterator __first, iterator __last) 32020: { __position._M_node->_M_transfer(__first._M_node, __last._M_node); } 32020: # 1907 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: void 32020: _M_insert(iterator __position, _Args&&... __args) 32020: { 32020: _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); 32020: __tmp->_M_hook(__position._M_node); 32020: this->_M_inc_size(1); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_erase(iterator __position) noexcept 32020: { 32020: this->_M_dec_size(1); 32020: __position._M_node->_M_unhook(); 32020: _Node* __n = static_cast<_Node*>(__position._M_node); 32020: 32020: _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr()); 32020: 32020: 32020: 32020: 32020: _M_put_node(__n); 32020: } 32020: 32020: 32020: void 32020: _M_check_equal_allocators(list& __x) noexcept 32020: { 32020: if (std::__alloc_neq:: 32020: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) 32020: __builtin_abort(); 32020: } 32020: 32020: 32020: const_iterator 32020: _M_resize_pos(size_type& __new_size) const; 32020: 32020: 32020: void 32020: _M_move_assign(list&& __x, true_type) noexcept 32020: { 32020: this->_M_clear(); 32020: this->_M_move_nodes(std::move(__x)); 32020: std::__alloc_on_move(this->_M_get_Node_allocator(), 32020: __x._M_get_Node_allocator()); 32020: } 32020: 32020: void 32020: _M_move_assign(list&& __x, false_type) 32020: { 32020: if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) 32020: _M_move_assign(std::move(__x), true_type{}); 32020: else 32020: 32020: 32020: _M_assign_dispatch(std::make_move_iterator(__x.begin()), 32020: std::make_move_iterator(__x.end()), 32020: __false_type{}); 32020: } 32020: 32020: }; 32020: 32020: 32020: template::value_type, 32020: typename _Allocator = allocator<_ValT>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireAllocator<_Allocator>> 32020: list(_InputIterator, _InputIterator, _Allocator = _Allocator()) 32020: -> list<_ValT, _Allocator>; 32020: 32020: 32020: } 32020: # 1993 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: inline bool 32020: operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 32020: { 32020: 32020: if (__x.size() != __y.size()) 32020: return false; 32020: 32020: 32020: typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; 32020: const_iterator __end1 = __x.end(); 32020: const_iterator __end2 = __y.end(); 32020: 32020: const_iterator __i1 = __x.begin(); 32020: const_iterator __i2 = __y.begin(); 32020: while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) 32020: { 32020: ++__i1; 32020: ++__i2; 32020: } 32020: return __i1 == __end1 && __i2 == __end2; 32020: } 32020: # 2048 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_list.h" 3 32020: template 32020: inline bool 32020: operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 32020: { return std::lexicographical_compare(__x.begin(), __x.end(), 32020: __y.begin(), __y.end()); } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 32020: { return __y < __x; } 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline ptrdiff_t 32020: __distance(std::_List_iterator<_Tp> __first, 32020: std::_List_iterator<_Tp> __last, 32020: input_iterator_tag __tag) 32020: { 32020: typedef std::_List_const_iterator<_Tp> _CIter; 32020: return std::__distance(_CIter(__first), _CIter(__last), __tag); 32020: } 32020: 32020: template 32020: inline ptrdiff_t 32020: __distance(std::_List_const_iterator<_Tp> __first, 32020: std::_List_const_iterator<_Tp> __last, 32020: input_iterator_tag) 32020: { 32020: typedef __detail::_List_node_header _Sentinel; 32020: std::_List_const_iterator<_Tp> __beyond = __last; 32020: ++__beyond; 32020: const bool __whole = __first == __beyond; 32020: if (__builtin_constant_p (__whole) && __whole) 32020: return static_cast(__last._M_node)->_M_size; 32020: 32020: ptrdiff_t __n = 0; 32020: while (__first != __last) 32020: { 32020: ++__first; 32020: ++__n; 32020: } 32020: return __n; 32020: } 32020: 32020: 32020: 32020: } 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/list" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/list.tcc" 1 3 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/bits/list.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: void 32020: _List_base<_Tp, _Alloc>:: 32020: _M_clear() noexcept 32020: { 32020: typedef _List_node<_Tp> _Node; 32020: __detail::_List_node_base* __cur = _M_impl._M_node._M_next; 32020: while (__cur != &_M_impl._M_node) 32020: { 32020: _Node* __tmp = static_cast<_Node*>(__cur); 32020: __cur = __tmp->_M_next; 32020: _Tp* __val = __tmp->_M_valptr(); 32020: 32020: _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val); 32020: 32020: 32020: 32020: _M_put_node(__tmp); 32020: } 32020: } 32020: 32020: 32020: template 32020: template 32020: typename list<_Tp, _Alloc>::iterator 32020: list<_Tp, _Alloc>:: 32020: emplace(const_iterator __position, _Args&&... __args) 32020: { 32020: _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); 32020: __tmp->_M_hook(__position._M_const_cast()._M_node); 32020: this->_M_inc_size(1); 32020: return iterator(__tmp); 32020: } 32020: 32020: 32020: template 32020: typename list<_Tp, _Alloc>::iterator 32020: list<_Tp, _Alloc>:: 32020: 32020: insert(const_iterator __position, const value_type& __x) 32020: 32020: 32020: 32020: { 32020: _Node* __tmp = _M_create_node(__x); 32020: __tmp->_M_hook(__position._M_const_cast()._M_node); 32020: this->_M_inc_size(1); 32020: return iterator(__tmp); 32020: } 32020: 32020: 32020: template 32020: typename list<_Tp, _Alloc>::iterator 32020: list<_Tp, _Alloc>:: 32020: insert(const_iterator __position, size_type __n, const value_type& __x) 32020: { 32020: if (__n) 32020: { 32020: list __tmp(__n, __x, get_allocator()); 32020: iterator __it = __tmp.begin(); 32020: splice(__position, __tmp); 32020: return __it; 32020: } 32020: return __position._M_const_cast(); 32020: } 32020: 32020: template 32020: template 32020: typename list<_Tp, _Alloc>::iterator 32020: list<_Tp, _Alloc>:: 32020: insert(const_iterator __position, _InputIterator __first, 32020: _InputIterator __last) 32020: { 32020: list __tmp(__first, __last, get_allocator()); 32020: if (!__tmp.empty()) 32020: { 32020: iterator __it = __tmp.begin(); 32020: splice(__position, __tmp); 32020: return __it; 32020: } 32020: return __position._M_const_cast(); 32020: } 32020: 32020: 32020: template 32020: typename list<_Tp, _Alloc>::iterator 32020: list<_Tp, _Alloc>:: 32020: 32020: erase(const_iterator __position) noexcept 32020: 32020: 32020: 32020: { 32020: iterator __ret = iterator(__position._M_node->_M_next); 32020: _M_erase(__position._M_const_cast()); 32020: return __ret; 32020: } 32020: # 173 "/usr/arm-linux-gnueabihf/include/c++/10/bits/list.tcc" 3 32020: template 32020: typename list<_Tp, _Alloc>::const_iterator 32020: list<_Tp, _Alloc>:: 32020: _M_resize_pos(size_type& __new_size) const 32020: { 32020: const_iterator __i; 32020: 32020: const size_type __len = size(); 32020: if (__new_size < __len) 32020: { 32020: if (__new_size <= __len / 2) 32020: { 32020: __i = begin(); 32020: std::advance(__i, __new_size); 32020: } 32020: else 32020: { 32020: __i = end(); 32020: ptrdiff_t __num_erase = __len - __new_size; 32020: std::advance(__i, -__num_erase); 32020: } 32020: __new_size = 0; 32020: return __i; 32020: } 32020: else 32020: __i = end(); 32020: 32020: 32020: 32020: 32020: 32020: __new_size -= __len; 32020: return __i; 32020: } 32020: 32020: 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: _M_default_append(size_type __n) 32020: { 32020: size_type __i = 0; 32020: try 32020: { 32020: for (; __i < __n; ++__i) 32020: emplace_back(); 32020: } 32020: catch(...) 32020: { 32020: for (; __i; --__i) 32020: pop_back(); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: resize(size_type __new_size) 32020: { 32020: const_iterator __i = _M_resize_pos(__new_size); 32020: if (__new_size) 32020: _M_default_append(__new_size); 32020: else 32020: erase(__i, end()); 32020: } 32020: 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: resize(size_type __new_size, const value_type& __x) 32020: { 32020: const_iterator __i = _M_resize_pos(__new_size); 32020: if (__new_size) 32020: insert(end(), __new_size, __x); 32020: else 32020: erase(__i, end()); 32020: } 32020: # 265 "/usr/arm-linux-gnueabihf/include/c++/10/bits/list.tcc" 3 32020: template 32020: list<_Tp, _Alloc>& 32020: list<_Tp, _Alloc>:: 32020: operator=(const list& __x) 32020: { 32020: if (this != std::__addressof(__x)) 32020: { 32020: 32020: if (_Node_alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: auto& __this_alloc = this->_M_get_Node_allocator(); 32020: auto& __that_alloc = __x._M_get_Node_allocator(); 32020: if (!_Node_alloc_traits::_S_always_equal() 32020: && __this_alloc != __that_alloc) 32020: { 32020: 32020: clear(); 32020: } 32020: std::__alloc_on_copy(__this_alloc, __that_alloc); 32020: } 32020: 32020: _M_assign_dispatch(__x.begin(), __x.end(), __false_type()); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: _M_fill_assign(size_type __n, const value_type& __val) 32020: { 32020: iterator __i = begin(); 32020: for (; __i != end() && __n > 0; ++__i, --__n) 32020: *__i = __val; 32020: if (__n > 0) 32020: insert(end(), __n, __val); 32020: else 32020: erase(__i, end()); 32020: } 32020: 32020: template 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, 32020: __false_type) 32020: { 32020: iterator __first1 = begin(); 32020: iterator __last1 = end(); 32020: for (; __first1 != __last1 && __first2 != __last2; 32020: ++__first1, (void)++__first2) 32020: *__first1 = *__first2; 32020: if (__first2 == __last2) 32020: erase(__first1, __last1); 32020: else 32020: insert(__last1, __first2, __last2); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: typename list<_Tp, _Alloc>::__remove_return_type 32020: list<_Tp, _Alloc>:: 32020: remove(const value_type& __value) 32020: { 32020: size_type __removed __attribute__((__unused__)) = 0; 32020: iterator __first = begin(); 32020: iterator __last = end(); 32020: iterator __extra = __last; 32020: while (__first != __last) 32020: { 32020: iterator __next = __first; 32020: ++__next; 32020: if (*__first == __value) 32020: { 32020: 32020: 32020: 32020: if (std::__addressof(*__first) != std::__addressof(__value)) 32020: { 32020: _M_erase(__first); 32020: ; 32020: } 32020: else 32020: __extra = __first; 32020: } 32020: __first = __next; 32020: } 32020: if (__extra != __last) 32020: { 32020: _M_erase(__extra); 32020: ; 32020: } 32020: return ; 32020: } 32020: 32020: template 32020: typename list<_Tp, _Alloc>::__remove_return_type 32020: list<_Tp, _Alloc>:: 32020: unique() 32020: { 32020: iterator __first = begin(); 32020: iterator __last = end(); 32020: if (__first == __last) 32020: return ; 32020: size_type __removed __attribute__((__unused__)) = 0; 32020: iterator __next = __first; 32020: while (++__next != __last) 32020: { 32020: if (*__first == *__next) 32020: { 32020: _M_erase(__next); 32020: ; 32020: } 32020: else 32020: __first = __next; 32020: __next = __first; 32020: } 32020: return ; 32020: } 32020: 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: 32020: merge(list&& __x) 32020: 32020: 32020: 32020: { 32020: 32020: 32020: if (this != std::__addressof(__x)) 32020: { 32020: _M_check_equal_allocators(__x); 32020: 32020: iterator __first1 = begin(); 32020: iterator __last1 = end(); 32020: iterator __first2 = __x.begin(); 32020: iterator __last2 = __x.end(); 32020: const size_t __orig_size = __x.size(); 32020: try { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: if (*__first2 < *__first1) 32020: { 32020: iterator __next = __first2; 32020: _M_transfer(__first1, __first2, ++__next); 32020: __first2 = __next; 32020: } 32020: else 32020: ++__first1; 32020: if (__first2 != __last2) 32020: _M_transfer(__last1, __first2, __last2); 32020: 32020: this->_M_inc_size(__x._M_get_size()); 32020: __x._M_set_size(0); 32020: } 32020: catch(...) 32020: { 32020: const size_t __dist = std::distance(__first2, __last2); 32020: this->_M_inc_size(__orig_size - __dist); 32020: __x._M_set_size(__dist); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: 32020: merge(list&& __x, _StrictWeakOrdering __comp) 32020: 32020: 32020: 32020: { 32020: 32020: 32020: if (this != std::__addressof(__x)) 32020: { 32020: _M_check_equal_allocators(__x); 32020: 32020: iterator __first1 = begin(); 32020: iterator __last1 = end(); 32020: iterator __first2 = __x.begin(); 32020: iterator __last2 = __x.end(); 32020: const size_t __orig_size = __x.size(); 32020: try 32020: { 32020: while (__first1 != __last1 && __first2 != __last2) 32020: if (__comp(*__first2, *__first1)) 32020: { 32020: iterator __next = __first2; 32020: _M_transfer(__first1, __first2, ++__next); 32020: __first2 = __next; 32020: } 32020: else 32020: ++__first1; 32020: if (__first2 != __last2) 32020: _M_transfer(__last1, __first2, __last2); 32020: 32020: this->_M_inc_size(__x._M_get_size()); 32020: __x._M_set_size(0); 32020: } 32020: catch(...) 32020: { 32020: const size_t __dist = std::distance(__first2, __last2); 32020: this->_M_inc_size(__orig_size - __dist); 32020: __x._M_set_size(__dist); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: sort() 32020: { 32020: 32020: if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node 32020: && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) 32020: { 32020: list __carry; 32020: list __tmp[64]; 32020: list * __fill = __tmp; 32020: list * __counter; 32020: try 32020: { 32020: do 32020: { 32020: __carry.splice(__carry.begin(), *this, begin()); 32020: 32020: for(__counter = __tmp; 32020: __counter != __fill && !__counter->empty(); 32020: ++__counter) 32020: { 32020: __counter->merge(__carry); 32020: __carry.swap(*__counter); 32020: } 32020: __carry.swap(*__counter); 32020: if (__counter == __fill) 32020: ++__fill; 32020: } 32020: while ( !empty() ); 32020: 32020: for (__counter = __tmp + 1; __counter != __fill; ++__counter) 32020: __counter->merge(*(__counter - 1)); 32020: swap( *(__fill - 1) ); 32020: } 32020: catch(...) 32020: { 32020: this->splice(this->end(), __carry); 32020: for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) 32020: this->splice(this->end(), __tmp[__i]); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: template 32020: typename list<_Tp, _Alloc>::__remove_return_type 32020: list<_Tp, _Alloc>:: 32020: remove_if(_Predicate __pred) 32020: { 32020: size_type __removed __attribute__((__unused__)) = 0; 32020: iterator __first = begin(); 32020: iterator __last = end(); 32020: while (__first != __last) 32020: { 32020: iterator __next = __first; 32020: ++__next; 32020: if (__pred(*__first)) 32020: { 32020: _M_erase(__first); 32020: ; 32020: } 32020: __first = __next; 32020: } 32020: return ; 32020: } 32020: 32020: template 32020: template 32020: typename list<_Tp, _Alloc>::__remove_return_type 32020: list<_Tp, _Alloc>:: 32020: unique(_BinaryPredicate __binary_pred) 32020: { 32020: iterator __first = begin(); 32020: iterator __last = end(); 32020: if (__first == __last) 32020: return ; 32020: size_type __removed __attribute__((__unused__)) = 0; 32020: iterator __next = __first; 32020: while (++__next != __last) 32020: { 32020: if (__binary_pred(*__first, *__next)) 32020: { 32020: _M_erase(__next); 32020: ; 32020: } 32020: else 32020: __first = __next; 32020: __next = __first; 32020: } 32020: return ; 32020: } 32020: 32020: 32020: 32020: template 32020: template 32020: void 32020: list<_Tp, _Alloc>:: 32020: sort(_StrictWeakOrdering __comp) 32020: { 32020: 32020: if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node 32020: && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) 32020: { 32020: list __carry; 32020: list __tmp[64]; 32020: list * __fill = __tmp; 32020: list * __counter; 32020: try 32020: { 32020: do 32020: { 32020: __carry.splice(__carry.begin(), *this, begin()); 32020: 32020: for(__counter = __tmp; 32020: __counter != __fill && !__counter->empty(); 32020: ++__counter) 32020: { 32020: __counter->merge(__carry, __comp); 32020: __carry.swap(*__counter); 32020: } 32020: __carry.swap(*__counter); 32020: if (__counter == __fill) 32020: ++__fill; 32020: } 32020: while ( !empty() ); 32020: 32020: for (__counter = __tmp + 1; __counter != __fill; ++__counter) 32020: __counter->merge(*(__counter - 1), __comp); 32020: swap(*(__fill - 1)); 32020: } 32020: catch(...) 32020: { 32020: this->splice(this->end(), __carry); 32020: for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) 32020: this->splice(this->end(), __tmp[__i]); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: } 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/list" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace pmr 32020: { 32020: template class polymorphic_allocator; 32020: template 32020: using list = std::list<_Tp, polymorphic_allocator<_Tp>>; 32020: } 32020: 32020: } 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 1 3 4 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/limits.h" 1 3 4 32020: # 34 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/limits.h" 3 4 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/syslimits.h" 1 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/limits.h" 1 3 4 32020: # 195 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/limits.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/limits.h" 1 3 4 32020: # 26 "/usr/arm-linux-gnueabihf/include/limits.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 4 32020: # 27 "/usr/arm-linux-gnueabihf/include/limits.h" 2 3 4 32020: # 183 "/usr/arm-linux-gnueabihf/include/limits.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/posix1_lim.h" 1 3 4 32020: # 27 "/usr/arm-linux-gnueabihf/include/bits/posix1_lim.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/wordsize.h" 1 3 4 32020: # 28 "/usr/arm-linux-gnueabihf/include/bits/posix1_lim.h" 2 3 4 32020: # 161 "/usr/arm-linux-gnueabihf/include/bits/posix1_lim.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/local_lim.h" 1 3 4 32020: # 38 "/usr/arm-linux-gnueabihf/include/bits/local_lim.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/linux/limits.h" 1 3 4 32020: # 39 "/usr/arm-linux-gnueabihf/include/bits/local_lim.h" 2 3 4 32020: # 162 "/usr/arm-linux-gnueabihf/include/bits/posix1_lim.h" 2 3 4 32020: # 184 "/usr/arm-linux-gnueabihf/include/limits.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/posix2_lim.h" 1 3 4 32020: # 188 "/usr/arm-linux-gnueabihf/include/limits.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/xopen_lim.h" 1 3 4 32020: # 64 "/usr/arm-linux-gnueabihf/include/bits/xopen_lim.h" 3 4 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/uio_lim.h" 1 3 4 32020: # 65 "/usr/arm-linux-gnueabihf/include/bits/xopen_lim.h" 2 3 4 32020: # 192 "/usr/arm-linux-gnueabihf/include/limits.h" 2 3 4 32020: # 196 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/limits.h" 2 3 4 32020: # 8 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/syslimits.h" 2 3 4 32020: # 35 "/usr/lib/gcc-cross/arm-linux-gnueabihf/10/include/limits.h" 2 3 4 32020: # 61 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template class QVector; 32020: template class QSet; 32020: 32020: template struct QListSpecialMethods 32020: { 32020: protected: 32020: ~QListSpecialMethods() = default; 32020: }; 32020: template <> struct QListSpecialMethods; 32020: template <> struct QListSpecialMethods; 32020: 32020: struct __attribute__((visibility("default"))) QListData { 32020: 32020: 32020: struct NotArrayCompatibleLayout {}; 32020: struct NotIndirectLayout {}; 32020: struct ArrayCompatibleLayout : NotIndirectLayout {}; 32020: struct InlineWithPaddingLayout : NotArrayCompatibleLayout, NotIndirectLayout {}; 32020: struct IndirectLayout : NotArrayCompatibleLayout {}; 32020: 32020: struct Data { 32020: QtPrivate::RefCount ref; 32020: int alloc, begin, end; 32020: void *array[1]; 32020: }; 32020: enum { DataHeaderSize = sizeof(Data) - sizeof(void *) }; 32020: 32020: Data *detach(int alloc); 32020: Data *detach_grow(int *i, int n); 32020: void realloc(int alloc); 32020: void realloc_grow(int growth); 32020: inline void dispose() { dispose(d); } 32020: static void dispose(Data *d); 32020: static const Data shared_null; 32020: Data *d; 32020: void **erase(void **xi); 32020: void **append(int n); 32020: void **append(); 32020: void **append(const QListData &l); 32020: void **prepend(); 32020: void **insert(int i); 32020: void remove(int i); 32020: void remove(int i, int n); 32020: void move(int from, int to); 32020: inline int size() const noexcept { return int(d->end - d->begin); } 32020: inline bool isEmpty() const noexcept { return d->end == d->begin; } 32020: inline void **at(int i) const noexcept { return d->array + d->begin + i; } 32020: inline void **begin() const noexcept { return d->array + d->begin; } 32020: inline void **end() const noexcept { return d->array + d->end; } 32020: }; 32020: 32020: namespace QtPrivate { 32020: template int indexOf(const QList &list, const U &u, int from); 32020: template int lastIndexOf(const QList &list, const U &u, int from); 32020: } 32020: 32020: template 32020: class QList 32020: 32020: : public QListSpecialMethods 32020: 32020: { 32020: public: 32020: struct MemoryLayout 32020: : std::conditional< 32020: 32020: QTypeInfo::isStatic || QTypeInfo::isLarge, 32020: QListData::IndirectLayout, 32020: typename std::conditional< 32020: sizeof(T) == sizeof(void*), 32020: QListData::ArrayCompatibleLayout, 32020: QListData::InlineWithPaddingLayout 32020: >::type>::type {}; 32020: private: 32020: template friend int QtPrivate::indexOf(const QList &list, const U &u, int from); 32020: template friend int QtPrivate::lastIndexOf(const QList &list, const U &u, int from); 32020: struct Node { void *v; 32020: 32020: 32020: 32020: inline T &t() 32020: { return *reinterpret_cast(QTypeInfo::isLarge || QTypeInfo::isStatic 32020: ? v : this); } 32020: 32020: }; 32020: 32020: union { QListData p; QListData::Data *d; }; 32020: 32020: public: 32020: inline QList() noexcept : d(const_cast(&QListData::shared_null)) { } 32020: QList(const QList &l); 32020: ~QList(); 32020: QList &operator=(const QList &l); 32020: inline QList(QList &&other) noexcept 32020: : d(other.d) { other.d = const_cast(&QListData::shared_null); } 32020: inline QList &operator=(QList &&other) noexcept 32020: { QList moved(std::move(other)); swap(moved); return *this; } 32020: inline void swap(QList &other) noexcept { qSwap(d, other.d); } 32020: inline QList(std::initializer_list args) 32020: : QList(args.begin(), args.end()) {} 32020: template = true> 32020: QList(InputIterator first, InputIterator last); 32020: bool operator==(const QList &l) const; 32020: inline bool operator!=(const QList &l) const { return !(*this == l); } 32020: 32020: inline int size() const noexcept { return p.size(); } 32020: 32020: inline void detach() { if (d->ref.isShared()) detach_helper(); } 32020: 32020: inline void detachShared() 32020: { 32020: 32020: if (d->ref.isShared() && this->d != &QListData::shared_null) 32020: detach_helper(); 32020: } 32020: 32020: inline bool isDetached() const { return !d->ref.isShared(); } 32020: 32020: inline void setSharable(bool sharable) 32020: { 32020: if (sharable == d->ref.isSharable()) 32020: return; 32020: if (!sharable) 32020: detach(); 32020: if (d != &QListData::shared_null) 32020: d->ref.setSharable(sharable); 32020: } 32020: 32020: inline bool isSharedWith(const QList &other) const noexcept { return d == other.d; } 32020: 32020: inline bool isEmpty() const noexcept { return p.isEmpty(); } 32020: 32020: void clear(); 32020: 32020: const T &at(int i) const; 32020: const T &operator[](int i) const; 32020: T &operator[](int i); 32020: 32020: void reserve(int size); 32020: void append(const T &t); 32020: void append(const QList &t); 32020: void prepend(const T &t); 32020: void insert(int i, const T &t); 32020: void replace(int i, const T &t); 32020: void removeAt(int i); 32020: int removeAll(const T &t); 32020: bool removeOne(const T &t); 32020: T takeAt(int i); 32020: T takeFirst(); 32020: T takeLast(); 32020: void move(int from, int to); 32020: void swapItemsAt(int i, int j); 32020: 32020: __attribute__ ((__deprecated__("Use QList::swapItemsAt()"))) 32020: void swap(int i, int j) { swapItemsAt(i, j); } 32020: 32020: int indexOf(const T &t, int from = 0) const; 32020: int lastIndexOf(const T &t, int from = -1) const; 32020: bool contains(const T &t) const; 32020: int count(const T &t) const; 32020: 32020: class const_iterator; 32020: 32020: class iterator { 32020: public: 32020: Node *i; 32020: typedef std::random_access_iterator_tag iterator_category; 32020: 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef T *pointer; 32020: typedef T &reference; 32020: 32020: inline iterator() noexcept : i(nullptr) {} 32020: inline iterator(Node *n) noexcept : i(n) {} 32020: 32020: 32020: 32020: inline iterator(const iterator &o) noexcept : i(o.i){} 32020: inline iterator &operator=(const iterator &o) noexcept 32020: { i = o.i; return *this; } 32020: 32020: inline T &operator*() const { return i->t(); } 32020: inline T *operator->() const { return &i->t(); } 32020: inline T &operator[](difference_type j) const { return i[j].t(); } 32020: inline bool operator==(const iterator &o) const noexcept { return i == o.i; } 32020: inline bool operator!=(const iterator &o) const noexcept { return i != o.i; } 32020: inline bool operator<(const iterator& other) const noexcept { return i < other.i; } 32020: inline bool operator<=(const iterator& other) const noexcept { return i <= other.i; } 32020: inline bool operator>(const iterator& other) const noexcept { return i > other.i; } 32020: inline bool operator>=(const iterator& other) const noexcept { return i >= other.i; } 32020: 32020: inline bool operator==(const const_iterator &o) const noexcept 32020: { return i == o.i; } 32020: inline bool operator!=(const const_iterator &o) const noexcept 32020: { return i != o.i; } 32020: inline bool operator<(const const_iterator& other) const noexcept 32020: { return i < other.i; } 32020: inline bool operator<=(const const_iterator& other) const noexcept 32020: { return i <= other.i; } 32020: inline bool operator>(const const_iterator& other) const noexcept 32020: { return i > other.i; } 32020: inline bool operator>=(const const_iterator& other) const noexcept 32020: { return i >= other.i; } 32020: 32020: inline iterator &operator++() { ++i; return *this; } 32020: inline iterator operator++(int) { Node *n = i; ++i; return n; } 32020: inline iterator &operator--() { i--; return *this; } 32020: inline iterator operator--(int) { Node *n = i; i--; return n; } 32020: inline iterator &operator+=(difference_type j) { i+=j; return *this; } 32020: inline iterator &operator-=(difference_type j) { i-=j; return *this; } 32020: inline iterator operator+(difference_type j) const { return iterator(i+j); } 32020: inline iterator operator-(difference_type j) const { return iterator(i-j); } 32020: friend inline iterator operator+(difference_type j, iterator k) { return k + j; } 32020: inline int operator-(iterator j) const { return int(i - j.i); } 32020: }; 32020: friend class iterator; 32020: 32020: class const_iterator { 32020: public: 32020: Node *i; 32020: typedef std::random_access_iterator_tag iterator_category; 32020: 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef const T *pointer; 32020: typedef const T &reference; 32020: 32020: inline const_iterator() noexcept : i(nullptr) {} 32020: inline const_iterator(Node *n) noexcept : i(n) {} 32020: 32020: 32020: 32020: inline const_iterator(const const_iterator &o) noexcept : i(o.i) {} 32020: inline const_iterator &operator=(const const_iterator &o) noexcept 32020: { i = o.i; return *this; } 32020: 32020: 32020: 32020: 32020: inline const_iterator(const iterator &o) noexcept : i(o.i) {} 32020: 32020: inline const T &operator*() const { return i->t(); } 32020: inline const T *operator->() const { return &i->t(); } 32020: inline const T &operator[](difference_type j) const { return i[j].t(); } 32020: inline bool operator==(const const_iterator &o) const noexcept { return i == o.i; } 32020: inline bool operator!=(const const_iterator &o) const noexcept { return i != o.i; } 32020: inline bool operator<(const const_iterator& other) const noexcept { return i < other.i; } 32020: inline bool operator<=(const const_iterator& other) const noexcept { return i <= other.i; } 32020: inline bool operator>(const const_iterator& other) const noexcept { return i > other.i; } 32020: inline bool operator>=(const const_iterator& other) const noexcept { return i >= other.i; } 32020: inline const_iterator &operator++() { ++i; return *this; } 32020: inline const_iterator operator++(int) { Node *n = i; ++i; return n; } 32020: inline const_iterator &operator--() { i--; return *this; } 32020: inline const_iterator operator--(int) { Node *n = i; i--; return n; } 32020: inline const_iterator &operator+=(difference_type j) { i+=j; return *this; } 32020: inline const_iterator &operator-=(difference_type j) { i-=j; return *this; } 32020: inline const_iterator operator+(difference_type j) const { return const_iterator(i+j); } 32020: inline const_iterator operator-(difference_type j) const { return const_iterator(i-j); } 32020: friend inline const_iterator operator+(difference_type j, const_iterator k) { return k + j; } 32020: inline int operator-(const_iterator j) const { return int(i - j.i); } 32020: }; 32020: friend class const_iterator; 32020: 32020: 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: inline iterator begin() { detach(); return reinterpret_cast(p.begin()); } 32020: inline const_iterator begin() const noexcept { return reinterpret_cast(p.begin()); } 32020: inline const_iterator cbegin() const noexcept { return reinterpret_cast(p.begin()); } 32020: inline const_iterator constBegin() const noexcept { return reinterpret_cast(p.begin()); } 32020: inline iterator end() { detach(); return reinterpret_cast(p.end()); } 32020: inline const_iterator end() const noexcept { return reinterpret_cast(p.end()); } 32020: inline const_iterator cend() const noexcept { return reinterpret_cast(p.end()); } 32020: inline const_iterator constEnd() const noexcept { return reinterpret_cast(p.end()); } 32020: reverse_iterator rbegin() { return reverse_iterator(end()); } 32020: reverse_iterator rend() { return reverse_iterator(begin()); } 32020: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 32020: iterator insert(iterator before, const T &t); 32020: iterator erase(iterator pos); 32020: iterator erase(iterator first, iterator last); 32020: 32020: 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: inline int count() const { return p.size(); } 32020: inline int length() const { return p.size(); } 32020: inline T& first() { static_cast(false && (!isEmpty())); return *begin(); } 32020: inline const T& constFirst() const { return first(); } 32020: inline const T& first() const { static_cast(false && (!isEmpty())); return at(0); } 32020: T& last() { static_cast(false && (!isEmpty())); return *(--end()); } 32020: const T& last() const { static_cast(false && (!isEmpty())); return at(count() - 1); } 32020: inline const T& constLast() const { return last(); } 32020: inline void removeFirst() { static_cast(false && (!isEmpty())); erase(begin()); } 32020: inline void removeLast() { static_cast(false && (!isEmpty())); erase(--end()); } 32020: inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } 32020: inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } 32020: QList mid(int pos, int length = -1) const; 32020: 32020: T value(int i) const; 32020: T value(int i, const T &defaultValue) const; 32020: 32020: 32020: inline void push_back(const T &t) { append(t); } 32020: inline void push_front(const T &t) { prepend(t); } 32020: inline T& front() { return first(); } 32020: inline const T& front() const { return first(); } 32020: inline T& back() { return last(); } 32020: inline const T& back() const { return last(); } 32020: inline void pop_front() { removeFirst(); } 32020: inline void pop_back() { removeLast(); } 32020: inline bool empty() const { return isEmpty(); } 32020: typedef int size_type; 32020: typedef T value_type; 32020: typedef value_type *pointer; 32020: typedef const value_type *const_pointer; 32020: typedef value_type &reference; 32020: typedef const value_type &const_reference; 32020: 32020: typedef qptrdiff difference_type; 32020: 32020: 32020: QList &operator+=(const QList &l); 32020: inline QList operator+(const QList &l) const 32020: { QList n = *this; n += l; return n; } 32020: inline QList &operator+=(const T &t) 32020: { append(t); return *this; } 32020: inline QList &operator<< (const T &t) 32020: { append(t); return *this; } 32020: inline QList &operator<<(const QList &l) 32020: { *this += l; return *this; } 32020: 32020: static QList fromVector(const QVector &vector); 32020: QVector toVector() const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QList(set.begin(), set.end()) instead."))) 32020: static QList fromSet(const QSet &set); 32020: __attribute__ ((__deprecated__("Use QSet(list.begin(), list.end()) instead."))) 32020: QSet toSet() const; 32020: 32020: __attribute__ ((__deprecated__("Use QList(list.begin(), list.end()) instead."))) 32020: static inline QList fromStdList(const std::list &list) 32020: { return QList(list.begin(), list.end()); } 32020: __attribute__ ((__deprecated__("Use std::list(list.begin(), list.end()) instead."))) 32020: inline std::list toStdList() const 32020: { return std::list(begin(), end()); } 32020: 32020: 32020: private: 32020: Node *detach_helper_grow(int i, int n); 32020: void detach_helper(int alloc); 32020: void detach_helper(); 32020: void dealloc(QListData::Data *d); 32020: 32020: void node_construct(Node *n, const T &t); 32020: void node_destruct(Node *n); 32020: void node_copy(Node *from, Node *to, Node *src); 32020: void node_destruct(Node *from, Node *to); 32020: 32020: bool isValidIterator(const iterator &i) const noexcept 32020: { 32020: const std::less less = {}; 32020: return !less(i.i, cbegin().i) && !less(cend().i, i.i); 32020: } 32020: 32020: private: 32020: inline bool op_eq_impl(const QList &other, QListData::NotArrayCompatibleLayout) const; 32020: inline bool op_eq_impl(const QList &other, QListData::ArrayCompatibleLayout) const; 32020: inline bool contains_impl(const T &, QListData::NotArrayCompatibleLayout) const; 32020: inline bool contains_impl(const T &, QListData::ArrayCompatibleLayout) const; 32020: inline int count_impl(const T &, QListData::NotArrayCompatibleLayout) const; 32020: inline int count_impl(const T &, QListData::ArrayCompatibleLayout) const; 32020: }; 32020: 32020: 32020: template ::value_type, 32020: QtPrivate::IfIsInputIterator = true> 32020: QList(InputIterator, InputIterator) -> QList; 32020: # 462 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 3 4 32020: template 32020: inline void QList::node_construct(Node *n, const T &t) 32020: { 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) n->v = new T(t); 32020: else if (QTypeInfo::isComplex) new (n) T(t); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: else ::memcpy(n, static_cast(&t), sizeof(T)); 32020: 32020: } 32020: 32020: template 32020: inline void QList::node_destruct(Node *n) 32020: { 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) delete reinterpret_cast(n->v); 32020: else if (QTypeInfo::isComplex) reinterpret_cast(n)->~T(); 32020: } 32020: 32020: template 32020: inline void QList::node_copy(Node *from, Node *to, Node *src) 32020: { 32020: Node *current = from; 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 32020: try { 32020: while(current != to) { 32020: current->v = new T(*reinterpret_cast(src->v)); 32020: ++current; 32020: ++src; 32020: } 32020: } catch (...) { 32020: while (current-- != from) 32020: delete reinterpret_cast(current->v); 32020: throw; 32020: } 32020: 32020: } else if (QTypeInfo::isComplex) { 32020: try { 32020: while(current != to) { 32020: new (current) T(*reinterpret_cast(src)); 32020: ++current; 32020: ++src; 32020: } 32020: } catch (...) { 32020: while (current-- != from) 32020: (reinterpret_cast(current))->~T(); 32020: throw; 32020: } 32020: } else { 32020: if (src != from && to - from > 0) 32020: memcpy(from, src, (to - from) * sizeof(Node)); 32020: } 32020: } 32020: 32020: template 32020: inline void QList::node_destruct(Node *from, Node *to) 32020: { 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) 32020: while(from != to) --to, delete reinterpret_cast(to->v); 32020: else if (QTypeInfo::isComplex) 32020: while (from != to) --to, reinterpret_cast(to)->~T(); 32020: } 32020: 32020: template 32020: inline QList &QList::operator=(const QList &l) 32020: { 32020: if (d != l.d) { 32020: QList tmp(l); 32020: tmp.swap(*this); 32020: } 32020: return *this; 32020: } 32020: template 32020: inline typename QList::iterator QList::insert(iterator before, const T &t) 32020: { 32020: static_cast(false && (isValidIterator(before))); 32020: 32020: int iBefore = int(before.i - reinterpret_cast(p.begin())); 32020: Node *n = nullptr; 32020: if (d->ref.isShared()) 32020: n = detach_helper_grow(iBefore, 1); 32020: else 32020: n = reinterpret_cast(p.insert(iBefore)); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: p.remove(iBefore); 32020: throw; 32020: } 32020: return n; 32020: } 32020: template 32020: inline typename QList::iterator QList::erase(iterator it) 32020: { 32020: static_cast(false && (isValidIterator(it))); 32020: if (d->ref.isShared()) { 32020: int offset = int(it.i - reinterpret_cast(p.begin())); 32020: it = begin(); 32020: it += offset; 32020: } 32020: node_destruct(it.i); 32020: return reinterpret_cast(p.erase(reinterpret_cast(it.i))); 32020: } 32020: template 32020: inline const T &QList::at(int i) const 32020: { static_cast(false && (i >= 0 && i < p.size())); 32020: return reinterpret_cast(p.at(i))->t(); } 32020: template 32020: inline const T &QList::operator[](int i) const 32020: { static_cast(false && (i >= 0 && i < p.size())); 32020: return reinterpret_cast(p.at(i))->t(); } 32020: template 32020: inline T &QList::operator[](int i) 32020: { static_cast(false && (i >= 0 && i < p.size())); 32020: detach(); return reinterpret_cast(p.at(i))->t(); } 32020: template 32020: inline void QList::removeAt(int i) 32020: { 32020: 32020: 32020: 32020: if (i < 0 || i >= p.size()) { 32020: 32020: 32020: 32020: return; 32020: } 32020: detach(); 32020: node_destruct(reinterpret_cast(p.at(i))); p.remove(i); 32020: } 32020: template 32020: inline T QList::takeAt(int i) 32020: { static_cast(false && (i >= 0 && i < p.size())); 32020: detach(); Node *n = reinterpret_cast(p.at(i)); T t = std::move(n->t()); node_destruct(n); 32020: p.remove(i); return t; } 32020: template 32020: inline T QList::takeFirst() 32020: { T t = std::move(first()); removeFirst(); return t; } 32020: template 32020: inline T QList::takeLast() 32020: { T t = std::move(last()); removeLast(); return t; } 32020: 32020: template 32020: void QList::reserve(int alloc) 32020: { 32020: if (d->alloc < alloc) { 32020: if (d->ref.isShared()) 32020: detach_helper(alloc); 32020: else 32020: p.realloc(alloc); 32020: } 32020: } 32020: 32020: template 32020: void QList::append(const T &t) 32020: { 32020: if (d->ref.isShared()) { 32020: Node *n = detach_helper_grow(0x7fffffff, 1); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: --d->end; 32020: throw; 32020: } 32020: } else { 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 32020: Node *n = reinterpret_cast(p.append()); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: --d->end; 32020: throw; 32020: } 32020: } else { 32020: Node *n, copy; 32020: node_construct(©, t); 32020: try { 32020: n = reinterpret_cast(p.append());; 32020: } catch (...) { 32020: node_destruct(©); 32020: throw; 32020: } 32020: *n = copy; 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline void QList::prepend(const T &t) 32020: { 32020: if (d->ref.isShared()) { 32020: Node *n = detach_helper_grow(0, 1); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: ++d->begin; 32020: throw; 32020: } 32020: } else { 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 32020: Node *n = reinterpret_cast(p.prepend()); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: ++d->begin; 32020: throw; 32020: } 32020: } else { 32020: Node *n, copy; 32020: node_construct(©, t); 32020: try { 32020: n = reinterpret_cast(p.prepend());; 32020: } catch (...) { 32020: node_destruct(©); 32020: throw; 32020: } 32020: *n = copy; 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline void QList::insert(int i, const T &t) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: if (d->ref.isShared()) { 32020: Node *n = detach_helper_grow(i, 1); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: p.remove(i); 32020: throw; 32020: } 32020: } else { 32020: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 32020: Node *n = reinterpret_cast(p.insert(i)); 32020: try { 32020: node_construct(n, t); 32020: } catch (...) { 32020: p.remove(i); 32020: throw; 32020: } 32020: } else { 32020: Node *n, copy; 32020: node_construct(©, t); 32020: try { 32020: n = reinterpret_cast(p.insert(i));; 32020: } catch (...) { 32020: node_destruct(©); 32020: throw; 32020: } 32020: *n = copy; 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline void QList::replace(int i, const T &t) 32020: { 32020: static_cast(false && (i >= 0 && i < p.size())); 32020: detach(); 32020: reinterpret_cast(p.at(i))->t() = t; 32020: } 32020: 32020: template 32020: inline void QList::swapItemsAt(int i, int j) 32020: { 32020: static_cast(false && (i >= 0 && i < p.size() && j >= 0 && j < p.size())) 32020: ; 32020: detach(); 32020: qSwap(d->array[d->begin + i], d->array[d->begin + j]); 32020: } 32020: 32020: template 32020: inline void QList::move(int from, int to) 32020: { 32020: static_cast(false && (from >= 0 && from < p.size() && to >= 0 && to < p.size())) 32020: ; 32020: detach(); 32020: p.move(from, to); 32020: } 32020: 32020: template 32020: QList QList::mid(int pos, int alength) const 32020: { 32020: using namespace QtPrivate; 32020: switch (QContainerImplHelper::mid(size(), &pos, &alength)) { 32020: case QContainerImplHelper::Null: 32020: case QContainerImplHelper::Empty: 32020: return QList(); 32020: case QContainerImplHelper::Full: 32020: return *this; 32020: case QContainerImplHelper::Subset: 32020: break; 32020: } 32020: 32020: QList cpy; 32020: if (alength <= 0) 32020: return cpy; 32020: cpy.reserve(alength); 32020: cpy.d->end = alength; 32020: try { 32020: cpy.node_copy(reinterpret_cast(cpy.p.begin()), 32020: reinterpret_cast(cpy.p.end()), 32020: reinterpret_cast(p.begin() + pos)); 32020: } catch (...) { 32020: 32020: cpy.d->end = 0; 32020: throw; 32020: } 32020: return cpy; 32020: } 32020: 32020: template 32020: T QList::value(int i) const 32020: { 32020: if (i < 0 || i >= p.size()) { 32020: return T(); 32020: } 32020: return reinterpret_cast(p.at(i))->t(); 32020: } 32020: 32020: template 32020: T QList::value(int i, const T& defaultValue) const 32020: { 32020: return ((i < 0 || i >= p.size()) ? defaultValue : reinterpret_cast(p.at(i))->t()); 32020: } 32020: 32020: template 32020: typename QList::Node *QList::detach_helper_grow(int i, int c) 32020: { 32020: Node *n = reinterpret_cast(p.begin()); 32020: QListData::Data *x = p.detach_grow(&i, c); 32020: try { 32020: node_copy(reinterpret_cast(p.begin()), 32020: reinterpret_cast(p.begin() + i), n); 32020: } catch (...) { 32020: p.dispose(); 32020: d = x; 32020: throw; 32020: } 32020: try { 32020: node_copy(reinterpret_cast(p.begin() + i + c), 32020: reinterpret_cast(p.end()), n + i); 32020: } catch (...) { 32020: node_destruct(reinterpret_cast(p.begin()), 32020: reinterpret_cast(p.begin() + i)); 32020: p.dispose(); 32020: d = x; 32020: throw; 32020: } 32020: 32020: if (!x->ref.deref()) 32020: dealloc(x); 32020: 32020: return reinterpret_cast(p.begin() + i); 32020: } 32020: 32020: template 32020: void QList::detach_helper(int alloc) 32020: { 32020: Node *n = reinterpret_cast(p.begin()); 32020: QListData::Data *x = p.detach(alloc); 32020: try { 32020: node_copy(reinterpret_cast(p.begin()), reinterpret_cast(p.end()), n); 32020: } catch (...) { 32020: p.dispose(); 32020: d = x; 32020: throw; 32020: } 32020: 32020: if (!x->ref.deref()) 32020: dealloc(x); 32020: } 32020: 32020: template 32020: void QList::detach_helper() 32020: { 32020: detach_helper(d->alloc); 32020: } 32020: 32020: template 32020: QList::QList(const QList &l) 32020: : QListSpecialMethods(l), d(l.d) 32020: { 32020: if (!d->ref.ref()) { 32020: p.detach(d->alloc); 32020: 32020: try { 32020: node_copy(reinterpret_cast(p.begin()), 32020: reinterpret_cast(p.end()), 32020: reinterpret_cast(l.p.begin())); 32020: } catch (...) { 32020: QListData::dispose(d); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: QList::~QList() 32020: { 32020: if (!d->ref.deref()) 32020: dealloc(d); 32020: } 32020: 32020: template 32020: template > 32020: QList::QList(InputIterator first, InputIterator last) 32020: : QList() 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, first, last); 32020: std::copy(first, last, std::back_inserter(*this)); 32020: } 32020: 32020: template 32020: bool QList::operator==(const QList &l) const 32020: { 32020: if (d == l.d) 32020: return true; 32020: if (p.size() != l.p.size()) 32020: return false; 32020: return this->op_eq_impl(l, MemoryLayout()); 32020: } 32020: 32020: template 32020: inline bool QList::op_eq_impl(const QList &l, QListData::NotArrayCompatibleLayout) const 32020: { 32020: Node *i = reinterpret_cast(p.begin()); 32020: Node *e = reinterpret_cast(p.end()); 32020: Node *li = reinterpret_cast(l.p.begin()); 32020: for (; i != e; ++i, ++li) { 32020: if (!(i->t() == li->t())) 32020: return false; 32020: } 32020: return true; 32020: } 32020: 32020: template 32020: inline bool QList::op_eq_impl(const QList &l, QListData::ArrayCompatibleLayout) const 32020: { 32020: const T *lb = reinterpret_cast(l.p.begin()); 32020: const T *b = reinterpret_cast(p.begin()); 32020: const T *e = reinterpret_cast(p.end()); 32020: return std::equal(b, e, (lb)); 32020: } 32020: 32020: template 32020: void QList::dealloc(QListData::Data *data) 32020: { 32020: node_destruct(reinterpret_cast(data->array + data->begin), 32020: reinterpret_cast(data->array + data->end)); 32020: QListData::dispose(data); 32020: } 32020: 32020: 32020: template 32020: void QList::clear() 32020: { 32020: *this = QList(); 32020: } 32020: 32020: template 32020: int QList::removeAll(const T &_t) 32020: { 32020: int index = indexOf(_t); 32020: if (index == -1) 32020: return 0; 32020: 32020: const T t = _t; 32020: detach(); 32020: 32020: Node *i = reinterpret_cast(p.at(index)); 32020: Node *e = reinterpret_cast(p.end()); 32020: Node *n = i; 32020: node_destruct(i); 32020: while (++i != e) { 32020: if (i->t() == t) 32020: node_destruct(i); 32020: else 32020: *n++ = *i; 32020: } 32020: 32020: int removedCount = int(e - n); 32020: d->end -= removedCount; 32020: return removedCount; 32020: } 32020: 32020: template 32020: bool QList::removeOne(const T &_t) 32020: { 32020: int index = indexOf(_t); 32020: if (index != -1) { 32020: removeAt(index); 32020: return true; 32020: } 32020: return false; 32020: } 32020: 32020: template 32020: typename QList::iterator QList::erase(typename QList::iterator afirst, 32020: typename QList::iterator alast) 32020: { 32020: static_cast(false && (isValidIterator(afirst))); 32020: static_cast(false && (isValidIterator(alast))); 32020: 32020: if (d->ref.isShared()) { 32020: 32020: int offsetfirst = int(afirst.i - reinterpret_cast(p.begin())); 32020: int offsetlast = int(alast.i - reinterpret_cast(p.begin())); 32020: afirst = begin(); 32020: alast = afirst; 32020: afirst += offsetfirst; 32020: alast += offsetlast; 32020: } 32020: 32020: for (Node *n = afirst.i; n < alast.i; ++n) 32020: node_destruct(n); 32020: int idx = afirst - begin(); 32020: p.remove(idx, alast - afirst); 32020: return begin() + idx; 32020: } 32020: 32020: template 32020: QList &QList::operator+=(const QList &l) 32020: { 32020: if (!l.isEmpty()) { 32020: if (d == &QListData::shared_null) { 32020: *this = l; 32020: } else { 32020: Node *n = (d->ref.isShared()) 32020: ? detach_helper_grow(0x7fffffff, l.size()) 32020: : reinterpret_cast(p.append(l.p)); 32020: try { 32020: node_copy(n, reinterpret_cast(p.end()), 32020: reinterpret_cast(l.p.begin())); 32020: } catch (...) { 32020: 32020: d->end -= int(reinterpret_cast(p.end()) - n); 32020: throw; 32020: } 32020: } 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline void QList::append(const QList &t) 32020: { 32020: *this += t; 32020: } 32020: 32020: template 32020: int QList::indexOf(const T &t, int from) const 32020: { 32020: return QtPrivate::indexOf(*this, t, from); 32020: } 32020: 32020: namespace QtPrivate 32020: { 32020: template 32020: int indexOf(const QList &list, const U &u, int from) 32020: { 32020: typedef typename QList::Node Node; 32020: 32020: if (from < 0) 32020: from = qMax(from + list.p.size(), 0); 32020: if (from < list.p.size()) { 32020: Node *n = reinterpret_cast(list.p.at(from -1)); 32020: Node *e = reinterpret_cast(list.p.end()); 32020: while (++n != e) 32020: if (n->t() == u) 32020: return int(n - reinterpret_cast(list.p.begin())); 32020: } 32020: return -1; 32020: } 32020: } 32020: 32020: template 32020: int QList::lastIndexOf(const T &t, int from) const 32020: { 32020: return QtPrivate::lastIndexOf(*this, t, from); 32020: } 32020: 32020: namespace QtPrivate 32020: { 32020: template 32020: int lastIndexOf(const QList &list, const U &u, int from) 32020: { 32020: typedef typename QList::Node Node; 32020: 32020: if (from < 0) 32020: from += list.p.size(); 32020: else if (from >= list.p.size()) 32020: from = list.p.size()-1; 32020: if (from >= 0) { 32020: Node *b = reinterpret_cast(list.p.begin()); 32020: Node *n = reinterpret_cast(list.p.at(from + 1)); 32020: while (n-- != b) { 32020: if (n->t() == u) 32020: return int(n - b); 32020: } 32020: } 32020: return -1; 32020: } 32020: } 32020: 32020: template 32020: bool QList::contains(const T &t) const 32020: { 32020: return contains_impl(t, MemoryLayout()); 32020: } 32020: 32020: template 32020: inline bool QList::contains_impl(const T &t, QListData::NotArrayCompatibleLayout) const 32020: { 32020: Node *e = reinterpret_cast(p.end()); 32020: Node *i = reinterpret_cast(p.begin()); 32020: for (; i != e; ++i) 32020: if (i->t() == t) 32020: return true; 32020: return false; 32020: } 32020: 32020: template 32020: inline bool QList::contains_impl(const T &t, QListData::ArrayCompatibleLayout) const 32020: { 32020: const T *b = reinterpret_cast(p.begin()); 32020: const T *e = reinterpret_cast(p.end()); 32020: return std::find(b, e, t) != e; 32020: } 32020: 32020: template 32020: int QList::count(const T &t) const 32020: { 32020: return this->count_impl(t, MemoryLayout()); 32020: } 32020: 32020: template 32020: inline int QList::count_impl(const T &t, QListData::NotArrayCompatibleLayout) const 32020: { 32020: int c = 0; 32020: Node *e = reinterpret_cast(p.end()); 32020: Node *i = reinterpret_cast(p.begin()); 32020: for (; i != e; ++i) 32020: if (i->t() == t) 32020: ++c; 32020: return c; 32020: } 32020: 32020: template 32020: inline int QList::count_impl(const T &t, QListData::ArrayCompatibleLayout) const 32020: { 32020: return int(std::count(reinterpret_cast(p.begin()), 32020: reinterpret_cast(p.end()), 32020: t)); 32020: } 32020: 32020: template 32020: QVector QList::toVector() const 32020: { 32020: return QVector(begin(), end()); 32020: } 32020: 32020: template 32020: QList QList::fromVector(const QVector &vector) 32020: { 32020: return vector.toList(); 32020: } 32020: 32020: template 32020: QList QVector::toList() const 32020: { 32020: return QList(begin(), end()); 32020: } 32020: 32020: template 32020: QVector QVector::fromList(const QList &list) 32020: { 32020: return list.toVector(); 32020: } 32020: 32020: 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; } }; 32020: 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() { static_cast(false && (item_exists())); return *n; } inline const T &value() const { static_cast(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; } }; 32020: 32020: template 32020: uint qHash(const QList &key, uint seed = 0) 32020: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 32020: { 32020: return qHashRange(key.cbegin(), key.cend(), seed); 32020: } 32020: 32020: template 32020: bool operator<(const QList &lhs, const QList &rhs) 32020: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), 32020: rhs.begin(), rhs.end()))) 32020: { 32020: return std::lexicographical_compare(lhs.begin(), lhs.end(), 32020: rhs.begin(), rhs.end()); 32020: } 32020: 32020: template 32020: inline bool operator>(const QList &lhs, const QList &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return rhs < lhs; 32020: } 32020: 32020: template 32020: inline bool operator<=(const QList &lhs, const QList &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return !(lhs > rhs); 32020: } 32020: 32020: template 32020: inline bool operator>=(const QList &lhs, const QList &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return !(lhs < rhs); 32020: } 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearraylist.h" 1 3 4 32020: # 42 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearraylist.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearraylist.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef QListIterator QByteArrayListIterator; 32020: typedef QMutableListIterator QMutableByteArrayListIterator; 32020: 32020: 32020: 32020: typedef QList QByteArrayList; 32020: 32020: namespace QtPrivate { 32020: QByteArray __attribute__((visibility("default"))) QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength); 32020: int __attribute__((visibility("default"))) QByteArrayList_indexOf(const QByteArrayList *that, const char *needle, int from); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template <> struct QListSpecialMethods 32020: 32020: { 32020: 32020: protected: 32020: ~QListSpecialMethods() = default; 32020: 32020: public: 32020: inline QByteArray join() const 32020: { return QtPrivate::QByteArrayList_join(self(), nullptr, 0); } 32020: inline QByteArray join(const QByteArray &sep) const 32020: { return QtPrivate::QByteArrayList_join(self(), sep.constData(), sep.size()); } 32020: inline QByteArray join(char sep) const 32020: { return QtPrivate::QByteArrayList_join(self(), &sep, 1); } 32020: 32020: inline int indexOf(const char *needle, int from = 0) const 32020: { return QtPrivate::QByteArrayList_indexOf(self(), needle, from); } 32020: 32020: private: 32020: typedef QList Self; 32020: Self *self() { return static_cast(this); } 32020: const Self *self() const { return static_cast(this); } 32020: }; 32020: 32020: 32020: # 1196 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 1 3 4 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qregexp.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qregexp.h" 3 4 32020: 32020: 32020: 32020: struct QRegExpPrivate; 32020: class QStringList; 32020: class QRegExp; 32020: 32020: __attribute__((visibility("default"))) uint qHash(const QRegExp &key, uint seed = 0) noexcept; 32020: 32020: class __attribute__((visibility("default"))) QRegExp 32020: { 32020: public: 32020: enum PatternSyntax { 32020: RegExp, 32020: Wildcard, 32020: FixedString, 32020: RegExp2, 32020: WildcardUnix, 32020: W3CXmlSchema11 }; 32020: enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; 32020: 32020: QRegExp(); 32020: explicit QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, 32020: PatternSyntax syntax = RegExp); 32020: QRegExp(const QRegExp &rx); 32020: ~QRegExp(); 32020: QRegExp &operator=(const QRegExp &rx); 32020: QRegExp &operator=(QRegExp &&other) noexcept { swap(other); return *this; } 32020: void swap(QRegExp &other) noexcept { qSwap(priv, other.priv); } 32020: 32020: bool operator==(const QRegExp &rx) const; 32020: inline bool operator!=(const QRegExp &rx) const { return !operator==(rx); } 32020: 32020: bool isEmpty() const; 32020: bool isValid() const; 32020: QString pattern() const; 32020: void setPattern(const QString &pattern); 32020: Qt::CaseSensitivity caseSensitivity() const; 32020: void setCaseSensitivity(Qt::CaseSensitivity cs); 32020: PatternSyntax patternSyntax() const; 32020: void setPatternSyntax(PatternSyntax syntax); 32020: 32020: bool isMinimal() const; 32020: void setMinimal(bool minimal); 32020: 32020: bool exactMatch(const QString &str) const; 32020: 32020: int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const; 32020: int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const; 32020: int matchedLength() const; 32020: 32020: int captureCount() const; 32020: QStringList capturedTexts() const; 32020: QStringList capturedTexts(); 32020: QString cap(int nth = 0) const; 32020: QString cap(int nth = 0); 32020: int pos(int nth = 0) const; 32020: int pos(int nth = 0); 32020: QString errorString() const; 32020: QString errorString(); 32020: 32020: 32020: static QString escape(const QString &str); 32020: 32020: friend __attribute__((visibility("default"))) uint qHash(const QRegExp &key, uint seed) noexcept; 32020: 32020: private: 32020: QRegExpPrivate *priv; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegExp &); 32020: 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringmatcher.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringmatcher.h" 3 4 32020: 32020: 32020: 32020: class QStringMatcherPrivate; 32020: 32020: class __attribute__((visibility("default"))) QStringMatcher 32020: { 32020: public: 32020: QStringMatcher(); 32020: explicit QStringMatcher(const QString &pattern, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QStringMatcher(const QChar *uc, int len, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QStringMatcher(QStringView pattern, 32020: Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: QStringMatcher(const QStringMatcher &other); 32020: ~QStringMatcher(); 32020: 32020: QStringMatcher &operator=(const QStringMatcher &other); 32020: 32020: void setPattern(const QString &pattern); 32020: void setCaseSensitivity(Qt::CaseSensitivity cs); 32020: 32020: int indexIn(const QString &str, int from = 0) const; 32020: int indexIn(const QChar *str, int length, int from = 0) const; 32020: qsizetype indexIn(QStringView str, qsizetype from = 0) const; 32020: QString pattern() const; 32020: inline Qt::CaseSensitivity caseSensitivity() const { return q_cs; } 32020: 32020: private: 32020: QStringMatcherPrivate *d_ptr; 32020: QString q_pattern; 32020: Qt::CaseSensitivity q_cs; 32020: struct Data { 32020: uchar q_skiptable[256]; 32020: const QChar *uc; 32020: int len; 32020: }; 32020: union { 32020: uint q_data[256]; 32020: Data p; 32020: }; 32020: }; 32020: 32020: 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 2 3 4 32020: 32020: 32020: 32020: class QRegExp; 32020: class QRegularExpression; 32020: 32020: 32020: typedef QListIterator QStringListIterator; 32020: typedef QMutableListIterator QMutableStringListIterator; 32020: 32020: 32020: class QStringList; 32020: 32020: 32020: 32020: 32020: template <> struct QListSpecialMethods 32020: 32020: { 32020: 32020: protected: 32020: ~QListSpecialMethods() = default; 32020: 32020: public: 32020: inline void sort(Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: inline int removeDuplicates(); 32020: 32020: 32020: inline QString join(const QString &sep) const; 32020: 32020: inline QString join(QStringView sep) const; 32020: inline QString join(QLatin1String sep) const; 32020: inline QString join(QChar sep) const; 32020: 32020: inline QStringList filter(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline QStringList &replaceInStrings(QStringView before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: 32020: inline QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline QStringList &replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: inline QStringList &replaceInStrings(const QString &before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: inline QStringList &replaceInStrings(QStringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 32020: 32020: 32020: 32020: inline QStringList filter(const QRegExp &rx) const; 32020: inline QStringList &replaceInStrings(const QRegExp &rx, const QString &after); 32020: 32020: 32020: 32020: inline QStringList filter(const QRegularExpression &re) const; 32020: inline QStringList &replaceInStrings(const QRegularExpression &re, const QString &after); 32020: 32020: 32020: 32020: private: 32020: inline QStringList *self(); 32020: inline const QStringList *self() const; 32020: }; 32020: 32020: 32020: class QStringList : public QList 32020: { 32020: 32020: public: 32020: inline QStringList() noexcept { } 32020: inline explicit QStringList(const QString &i) { append(i); } 32020: inline QStringList(const QList &l) : QList(l) { } 32020: inline QStringList(QList &&l) noexcept : QList(std::move(l)) { } 32020: inline QStringList(std::initializer_list args) : QList(args) { } 32020: template = true> 32020: inline QStringList(InputIterator first, InputIterator last) 32020: : QList(first, last) { } 32020: 32020: QStringList &operator=(const QList &other) 32020: { QList::operator=(other); return *this; } 32020: QStringList &operator=(QList &&other) noexcept 32020: { QList::operator=(std::move(other)); return *this; } 32020: 32020: 32020: inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: inline bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: inline bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 32020: 32020: inline QStringList operator+(const QStringList &other) const 32020: { QStringList n = *this; n += other; return n; } 32020: inline QStringList &operator<<(const QString &str) 32020: { append(str); return *this; } 32020: inline QStringList &operator<<(const QStringList &l) 32020: { *this += l; return *this; } 32020: inline QStringList &operator<<(const QList &l) 32020: { *this += l; return *this; } 32020: 32020: inline int indexOf(QStringView str, int from = 0) const; 32020: inline int indexOf(QLatin1String str, int from = 0) const; 32020: 32020: inline int lastIndexOf(QStringView str, int from = -1) const; 32020: inline int lastIndexOf(QLatin1String str, int from = -1) const; 32020: 32020: 32020: inline int indexOf(const QRegExp &rx, int from = 0) const; 32020: inline int lastIndexOf(const QRegExp &rx, int from = -1) const; 32020: inline int indexOf(QRegExp &rx, int from = 0) const; 32020: inline int lastIndexOf(QRegExp &rx, int from = -1) const; 32020: 32020: 32020: 32020: inline int indexOf(const QRegularExpression &re, int from = 0) const; 32020: inline int lastIndexOf(const QRegularExpression &re, int from = -1) const; 32020: 32020: 32020: using QList::indexOf; 32020: using QList::lastIndexOf; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: inline QStringList *QListSpecialMethods::self() 32020: { return static_cast(this); } 32020: inline const QStringList *QListSpecialMethods::self() const 32020: { return static_cast(this); } 32020: 32020: namespace QtPrivate { 32020: void __attribute__((visibility("default"))) QStringList_sort(QStringList *that, Qt::CaseSensitivity cs); 32020: int __attribute__((visibility("default"))) QStringList_removeDuplicates(QStringList *that); 32020: QString __attribute__((visibility("default"))) QStringList_join(const QStringList *that, QStringView sep); 32020: QString __attribute__((visibility("default"))) QStringList_join(const QStringList *that, const QChar *sep, int seplen); 32020: __attribute__((visibility("default"))) QString QStringList_join(const QStringList &list, QLatin1String sep); 32020: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, QStringView str, 32020: Qt::CaseSensitivity cs); 32020: 32020: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QString &str, 32020: Qt::CaseSensitivity cs); 32020: 32020: 32020: 32020: bool __attribute__((visibility("default"))) QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); 32020: 32020: bool __attribute__((visibility("default"))) QStringList_contains(const QStringList *that, QStringView str, Qt::CaseSensitivity cs); 32020: bool __attribute__((visibility("default"))) QStringList_contains(const QStringList *that, QLatin1String str, Qt::CaseSensitivity cs); 32020: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, QStringView before, QStringView after, 32020: Qt::CaseSensitivity cs); 32020: 32020: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, 32020: Qt::CaseSensitivity cs); 32020: 32020: 32020: 32020: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after); 32020: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegExp &re); 32020: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from); 32020: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from); 32020: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, QRegExp &rx, int from); 32020: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, QRegExp &rx, int from); 32020: 32020: 32020: 32020: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegularExpression &rx, const QString &after); 32020: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegularExpression &re); 32020: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegularExpression &re, int from); 32020: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegularExpression &re, int from); 32020: 32020: } 32020: 32020: inline void QListSpecialMethods::sort(Qt::CaseSensitivity cs) 32020: { 32020: QtPrivate::QStringList_sort(self(), cs); 32020: } 32020: 32020: inline int QListSpecialMethods::removeDuplicates() 32020: { 32020: return QtPrivate::QStringList_removeDuplicates(self()); 32020: } 32020: 32020: 32020: inline QString QListSpecialMethods::join(const QString &sep) const 32020: { 32020: return QtPrivate::QStringList_join(self(), sep.constData(), sep.length()); 32020: } 32020: 32020: 32020: inline QString QListSpecialMethods::join(QStringView sep) const 32020: { 32020: return QtPrivate::QStringList_join(self(), sep); 32020: } 32020: 32020: QString QListSpecialMethods::join(QLatin1String sep) const 32020: { 32020: return QtPrivate::QStringList_join(*self(), sep); 32020: } 32020: 32020: inline QString QListSpecialMethods::join(QChar sep) const 32020: { 32020: return QtPrivate::QStringList_join(self(), &sep, 1); 32020: } 32020: 32020: inline QStringList QListSpecialMethods::filter(QStringView str, Qt::CaseSensitivity cs) const 32020: { 32020: return QtPrivate::QStringList_filter(self(), str, cs); 32020: } 32020: 32020: 32020: inline QStringList QListSpecialMethods::filter(const QString &str, Qt::CaseSensitivity cs) const 32020: { 32020: return QtPrivate::QStringList_filter(self(), str, cs); 32020: } 32020: 32020: 32020: 32020: inline bool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const 32020: { 32020: return QtPrivate::QStringList_contains(this, str, cs); 32020: } 32020: 32020: 32020: inline bool QStringList::contains(QLatin1String str, Qt::CaseSensitivity cs) const 32020: { 32020: return QtPrivate::QStringList_contains(this, str, cs); 32020: } 32020: 32020: inline bool QStringList::contains(QStringView str, Qt::CaseSensitivity cs) const 32020: { 32020: return QtPrivate::QStringList_contains(this, str, cs); 32020: } 32020: 32020: inline QStringList &QListSpecialMethods::replaceInStrings(QStringView before, QStringView after, Qt::CaseSensitivity cs) 32020: { 32020: QtPrivate::QStringList_replaceInStrings(self(), before, after, cs); 32020: return *self(); 32020: } 32020: 32020: 32020: inline QStringList &QListSpecialMethods::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) 32020: { 32020: QtPrivate::QStringList_replaceInStrings(self(), before, after, cs); 32020: return *self(); 32020: } 32020: 32020: inline QStringList &QListSpecialMethods::replaceInStrings(QStringView before, const QString &after, Qt::CaseSensitivity cs) 32020: { 32020: QtPrivate::QStringList_replaceInStrings(self(), before, qToStringViewIgnoringNull(after), cs); 32020: return *self(); 32020: } 32020: 32020: inline QStringList &QListSpecialMethods::replaceInStrings(const QString &before, QStringView after, Qt::CaseSensitivity cs) 32020: { 32020: QtPrivate::QStringList_replaceInStrings(self(), QStringView(before), after, cs); 32020: return *self(); 32020: } 32020: 32020: 32020: inline QStringList operator+(const QList &one, const QStringList &other) 32020: { 32020: QStringList n = one; 32020: n += other; 32020: return n; 32020: } 32020: 32020: inline int QStringList::indexOf(QStringView string, int from) const 32020: { 32020: return QtPrivate::indexOf(*this, string, from); 32020: } 32020: 32020: inline int QStringList::indexOf(QLatin1String string, int from) const 32020: { 32020: return QtPrivate::indexOf(*this, string, from); 32020: } 32020: 32020: inline int QStringList::lastIndexOf(QStringView string, int from) const 32020: { 32020: return QtPrivate::lastIndexOf(*this, string, from); 32020: } 32020: 32020: inline int QStringList::lastIndexOf(QLatin1String string, int from) const 32020: { 32020: return QtPrivate::lastIndexOf(*this, string, from); 32020: } 32020: 32020: 32020: inline QStringList &QListSpecialMethods::replaceInStrings(const QRegExp &rx, const QString &after) 32020: { 32020: QtPrivate::QStringList_replaceInStrings(self(), rx, after); 32020: return *self(); 32020: } 32020: 32020: inline QStringList QListSpecialMethods::filter(const QRegExp &rx) const 32020: { 32020: return QtPrivate::QStringList_filter(self(), rx); 32020: } 32020: 32020: inline int QStringList::indexOf(const QRegExp &rx, int from) const 32020: { 32020: return QtPrivate::QStringList_indexOf(this, rx, from); 32020: } 32020: 32020: inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const 32020: { 32020: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 32020: } 32020: 32020: inline int QStringList::indexOf(QRegExp &rx, int from) const 32020: { 32020: return QtPrivate::QStringList_indexOf(this, rx, from); 32020: } 32020: 32020: inline int QStringList::lastIndexOf(QRegExp &rx, int from) const 32020: { 32020: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 32020: } 32020: 32020: 32020: 32020: inline QStringList &QListSpecialMethods::replaceInStrings(const QRegularExpression &rx, const QString &after) 32020: { 32020: QtPrivate::QStringList_replaceInStrings(self(), rx, after); 32020: return *self(); 32020: } 32020: 32020: inline QStringList QListSpecialMethods::filter(const QRegularExpression &rx) const 32020: { 32020: return QtPrivate::QStringList_filter(self(), rx); 32020: } 32020: 32020: inline int QStringList::indexOf(const QRegularExpression &rx, int from) const 32020: { 32020: return QtPrivate::QStringList_indexOf(this, rx, from); 32020: } 32020: 32020: inline int QStringList::lastIndexOf(const QRegularExpression &rx, int from) const 32020: { 32020: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 32020: } 32020: 32020: 32020: 32020: 32020: inline 32020: QList QStringView::split(QStringView sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const 32020: { 32020: static_cast(false && (int(m_size) == m_size)); 32020: QString s = QString::fromRawData(data(), int(m_size)); 32020: const auto split = s.splitRef(sep.toString(), behavior, cs); 32020: QList result; 32020: for (const QStringRef &r : split) 32020: result.append(QStringView(m_data + r.position(), r.size())); 32020: return result; 32020: } 32020: 32020: inline 32020: QList QStringView::split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const 32020: { 32020: static_cast(false && (int(m_size) == m_size)); 32020: QString s = QString::fromRawData(data(), int(m_size)); 32020: const auto split = s.splitRef(sep, behavior, cs); 32020: QList result; 32020: for (const QStringRef &r : split) 32020: result.append(QStringView(m_data + r.position(), r.size())); 32020: return result; 32020: } 32020: 32020: 32020: # 1197 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h" 2 3 4 32020: # 42 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 2 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcolor.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qrgba64.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qrgba64.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qprocessordetection.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qrgba64.h" 2 3 4 32020: 32020: 32020: 32020: class QRgba64 { 32020: quint64 rgba; 32020: 32020: 32020: 32020: enum Shifts { 32020: 32020: 32020: 32020: 32020: 32020: 32020: RedShift = 0, 32020: GreenShift = 16, 32020: BlueShift = 32, 32020: AlphaShift = 48 32020: 32020: }; 32020: 32020: explicit inline __attribute__((always_inline)) constexpr QRgba64(quint64 c) : rgba(c) { } 32020: public: 32020: QRgba64() = default; 32020: 32020: constexpr static 32020: QRgba64 fromRgba64(quint64 c) 32020: { 32020: return QRgba64(c); 32020: } 32020: constexpr static 32020: QRgba64 fromRgba64(quint16 red, quint16 green, quint16 blue, quint16 alpha) 32020: { 32020: return fromRgba64(quint64(red) << RedShift 32020: | quint64(green) << GreenShift 32020: | quint64(blue) << BlueShift 32020: | quint64(alpha) << AlphaShift); 32020: } 32020: constexpr static QRgba64 fromRgba(quint8 red, quint8 green, quint8 blue, quint8 alpha) 32020: { 32020: QRgba64 rgb64 = fromRgba64(red, green, blue, alpha); 32020: 32020: rgb64.rgba |= rgb64.rgba << 8; 32020: return rgb64; 32020: } 32020: constexpr static 32020: QRgba64 fromArgb32(uint rgb) 32020: { 32020: return fromRgba(quint8(rgb >> 16), quint8(rgb >> 8), quint8(rgb), quint8(rgb >> 24)); 32020: } 32020: 32020: constexpr bool isOpaque() const 32020: { 32020: return (rgba & alphaMask()) == alphaMask(); 32020: } 32020: constexpr bool isTransparent() const 32020: { 32020: return (rgba & alphaMask()) == 0; 32020: } 32020: 32020: constexpr quint16 red() const { return quint16(rgba >> RedShift); } 32020: constexpr quint16 green() const { return quint16(rgba >> GreenShift); } 32020: constexpr quint16 blue() const { return quint16(rgba >> BlueShift); } 32020: constexpr quint16 alpha() const { return quint16(rgba >> AlphaShift); } 32020: void setRed(quint16 _red) { rgba = (rgba & ~(static_cast(0xffffULL) << RedShift)) | (quint64(_red) << RedShift); } 32020: void setGreen(quint16 _green) { rgba = (rgba & ~(static_cast(0xffffULL) << GreenShift)) | (quint64(_green) << GreenShift); } 32020: void setBlue(quint16 _blue) { rgba = (rgba & ~(static_cast(0xffffULL) << BlueShift)) | (quint64(_blue) << BlueShift); } 32020: void setAlpha(quint16 _alpha) { rgba = (rgba & ~(static_cast(0xffffULL) << AlphaShift)) | (quint64(_alpha) << AlphaShift); } 32020: 32020: constexpr quint8 red8() const { return div_257(red()); } 32020: constexpr quint8 green8() const { return div_257(green()); } 32020: constexpr quint8 blue8() const { return div_257(blue()); } 32020: constexpr quint8 alpha8() const { return div_257(alpha()); } 32020: constexpr uint toArgb32() const 32020: { 32020: 32020: quint64 br = rgba & static_cast(0xffff0000ffffULL); 32020: quint64 ag = (rgba >> 16) & static_cast(0xffff0000ffffULL); 32020: br += static_cast(0x8000000080ULL); 32020: ag += static_cast(0x8000000080ULL); 32020: br = (br - ((br >> 8) & static_cast(0xffff0000ffffULL))) >> 8; 32020: ag = (ag - ((ag >> 8) & static_cast(0xffff0000ffffULL))); 32020: 32020: 32020: 32020: 32020: 32020: 32020: return ((ag >> 16) & 0xff000000) 32020: | ((br << 16) & 0xff0000) 32020: | (ag & 0xff00) 32020: | ((br >> 32) & 0xff); 32020: 32020: 32020: 32020: 32020: } 32020: constexpr ushort toRgb16() const 32020: { 32020: return ushort((red() & 0xf800) | ((green() >> 10) << 5) | (blue() >> 11)); 32020: } 32020: 32020: constexpr QRgba64 premultiplied() const 32020: { 32020: if (isOpaque()) 32020: return *this; 32020: if (isTransparent()) 32020: return QRgba64::fromRgba64(0); 32020: const quint64 a = alpha(); 32020: quint64 br = (rgba & static_cast(0xffff0000ffffULL)) * a; 32020: quint64 ag = ((rgba >> 16) & static_cast(0xffff0000ffffULL)) * a; 32020: br = (br + ((br >> 16) & static_cast(0xffff0000ffffULL)) + static_cast(0x800000008000ULL)); 32020: ag = (ag + ((ag >> 16) & static_cast(0xffff0000ffffULL)) + static_cast(0x800000008000ULL)); 32020: 32020: 32020: 32020: 32020: 32020: br = (br >> 16) & static_cast(0xffff0000ffffULL); 32020: ag = ag & static_cast(0xffff0000ULL); 32020: return fromRgba64((a << 48) | br | ag); 32020: 32020: } 32020: 32020: constexpr QRgba64 unpremultiplied() const 32020: { 32020: 32020: return unpremultiplied_32bit(); 32020: 32020: 32020: 32020: } 32020: 32020: constexpr operator quint64() const 32020: { 32020: return rgba; 32020: } 32020: 32020: QRgba64 operator=(quint64 _rgba) 32020: { 32020: rgba = _rgba; 32020: return *this; 32020: } 32020: 32020: private: 32020: static constexpr inline __attribute__((always_inline)) quint64 alphaMask() { return static_cast(0xffffULL) << AlphaShift; } 32020: 32020: static constexpr inline __attribute__((always_inline)) quint8 div_257_floor(uint x) { return quint8((x - (x >> 8)) >> 8); } 32020: static constexpr inline __attribute__((always_inline)) quint8 div_257(quint16 x) { return div_257_floor(x + 128U); } 32020: constexpr inline __attribute__((always_inline)) QRgba64 unpremultiplied_32bit() const 32020: { 32020: if (isOpaque() || isTransparent()) 32020: return *this; 32020: const quint32 a = alpha(); 32020: const quint16 r = quint16((red() * 0xffff + a/2) / a); 32020: const quint16 g = quint16((green() * 0xffff + a/2) / a); 32020: const quint16 b = quint16((blue() * 0xffff + a/2) / a); 32020: return fromRgba64(r, g, b, quint16(a)); 32020: } 32020: constexpr inline __attribute__((always_inline)) QRgba64 unpremultiplied_64bit() const 32020: { 32020: if (isOpaque() || isTransparent()) 32020: return *this; 32020: const quint64 a = alpha(); 32020: const quint64 fa = (static_cast(0xffff00008000ULL) + a/2) / a; 32020: const quint16 r = quint16((red() * fa + 0x80000000) >> 32); 32020: const quint16 g = quint16((green() * fa + 0x80000000) >> 32); 32020: const quint16 b = quint16((blue() * fa + 0x80000000) >> 32); 32020: return fromRgba64(r, g, b, quint16(a)); 32020: } 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QRgba64)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRgba64 >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QRgba64) }; static inline const char *name() { return "QRgba64"; } }; 32020: 32020: constexpr inline QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a) 32020: { 32020: return QRgba64::fromRgba64(r, g, b, a); 32020: } 32020: 32020: constexpr inline QRgba64 qRgba64(quint64 c) 32020: { 32020: return QRgba64::fromRgba64(c); 32020: } 32020: 32020: constexpr inline QRgba64 qPremultiply(QRgba64 c) 32020: { 32020: return c.premultiplied(); 32020: } 32020: 32020: constexpr inline QRgba64 qUnpremultiply(QRgba64 c) 32020: { 32020: return c.unpremultiplied(); 32020: } 32020: 32020: inline constexpr uint qRed(QRgba64 rgb) 32020: { return rgb.red8(); } 32020: 32020: inline constexpr uint qGreen(QRgba64 rgb) 32020: { return rgb.green8(); } 32020: 32020: inline constexpr uint qBlue(QRgba64 rgb) 32020: { return rgb.blue8(); } 32020: 32020: inline constexpr uint qAlpha(QRgba64 rgb) 32020: { return rgb.alpha8(); } 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcolor.h" 2 3 4 32020: 32020: 32020: 32020: 32020: class QColor; 32020: class QColormap; 32020: class QVariant; 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QColor &); 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QColor &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QColor &); 32020: 32020: 32020: class __attribute__((visibility("default"))) QColor 32020: { 32020: public: 32020: enum Spec { Invalid, Rgb, Hsv, Cmyk, Hsl, ExtendedRgb }; 32020: enum NameFormat { HexRgb, HexArgb }; 32020: 32020: constexpr QColor() noexcept 32020: : cspec(Invalid), ct((0x7fff * 2 + 1), 0, 0, 0, 0) {} 32020: QColor(Qt::GlobalColor color) noexcept; 32020: constexpr QColor(int r, int g, int b, int a = 255) noexcept 32020: : cspec(isRgbaValid(r, g, b, a) ? Rgb : Invalid), 32020: ct(ushort(cspec == Rgb ? a * 0x0101 : 0), 32020: ushort(cspec == Rgb ? r * 0x0101 : 0), 32020: ushort(cspec == Rgb ? g * 0x0101 : 0), 32020: ushort(cspec == Rgb ? b * 0x0101 : 0), 32020: 0) {} 32020: QColor(QRgb rgb) noexcept; 32020: QColor(QRgba64 rgba64) noexcept; 32020: 32020: inline QColor(const QString& name); 32020: 32020: explicit inline QColor(QStringView name); 32020: inline QColor(const char *aname) : QColor(QLatin1String(aname)) {} 32020: inline QColor(QLatin1String name); 32020: QColor(Spec spec) noexcept; 32020: 32020: 32020: 32020: constexpr QColor(const QColor &color) noexcept 32020: : cspec(color.cspec), ct(color.ct) 32020: {} 32020: constexpr QColor(QColor &&other) noexcept : cspec(other.cspec), ct(other.ct) {} 32020: QColor &operator=(QColor &&other) noexcept 32020: { cspec = other.cspec; ct = other.ct; return *this; } 32020: QColor &operator=(const QColor &) noexcept; 32020: 32020: 32020: QColor &operator=(Qt::GlobalColor color) noexcept; 32020: 32020: bool isValid() const noexcept; 32020: 32020: 32020: QString name() const; 32020: QString name(NameFormat format) const; 32020: 32020: 32020: void setNamedColor(const QString& name); 32020: 32020: void setNamedColor(QStringView name); 32020: void setNamedColor(QLatin1String name); 32020: 32020: static QStringList colorNames(); 32020: 32020: inline Spec spec() const noexcept 32020: { return cspec; } 32020: 32020: int alpha() const noexcept; 32020: void setAlpha(int alpha); 32020: 32020: qreal alphaF() const noexcept; 32020: void setAlphaF(qreal alpha); 32020: 32020: int red() const noexcept; 32020: int green() const noexcept; 32020: int blue() const noexcept; 32020: void setRed(int red); 32020: void setGreen(int green); 32020: void setBlue(int blue); 32020: 32020: qreal redF() const noexcept; 32020: qreal greenF() const noexcept; 32020: qreal blueF() const noexcept; 32020: void setRedF(qreal red); 32020: void setGreenF(qreal green); 32020: void setBlueF(qreal blue); 32020: 32020: void getRgb(int *r, int *g, int *b, int *a = nullptr) const; 32020: void setRgb(int r, int g, int b, int a = 255); 32020: 32020: void getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = nullptr) const; 32020: void setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); 32020: 32020: QRgba64 rgba64() const noexcept; 32020: void setRgba64(QRgba64 rgba) noexcept; 32020: 32020: QRgb rgba() const noexcept; 32020: void setRgba(QRgb rgba) noexcept; 32020: 32020: QRgb rgb() const noexcept; 32020: void setRgb(QRgb rgb) noexcept; 32020: 32020: int hue() const noexcept; 32020: int saturation() const noexcept; 32020: int hsvHue() const noexcept; 32020: int hsvSaturation() const noexcept; 32020: int value() const noexcept; 32020: 32020: qreal hueF() const noexcept; 32020: qreal saturationF() const noexcept; 32020: qreal hsvHueF() const noexcept; 32020: qreal hsvSaturationF() const noexcept; 32020: qreal valueF() const noexcept; 32020: 32020: void getHsv(int *h, int *s, int *v, int *a = nullptr) const; 32020: void setHsv(int h, int s, int v, int a = 255); 32020: 32020: void getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = nullptr) const; 32020: void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); 32020: 32020: int cyan() const noexcept; 32020: int magenta() const noexcept; 32020: int yellow() const noexcept; 32020: int black() const noexcept; 32020: 32020: qreal cyanF() const noexcept; 32020: qreal magentaF() const noexcept; 32020: qreal yellowF() const noexcept; 32020: qreal blackF() const noexcept; 32020: 32020: void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr); 32020: void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const; 32020: void setCmyk(int c, int m, int y, int k, int a = 255); 32020: 32020: void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr); 32020: void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr) const; 32020: void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); 32020: 32020: int hslHue() const noexcept; 32020: int hslSaturation() const noexcept; 32020: int lightness() const noexcept; 32020: 32020: qreal hslHueF() const noexcept; 32020: qreal hslSaturationF() const noexcept; 32020: qreal lightnessF() const noexcept; 32020: 32020: void getHsl(int *h, int *s, int *l, int *a = nullptr) const; 32020: void setHsl(int h, int s, int l, int a = 255); 32020: 32020: void getHslF(qreal *h, qreal *s, qreal *l, qreal *a = nullptr) const; 32020: void setHslF(qreal h, qreal s, qreal l, qreal a = 1.0); 32020: 32020: QColor toRgb() const noexcept; 32020: QColor toHsv() const noexcept; 32020: QColor toCmyk() const noexcept; 32020: QColor toHsl() const noexcept; 32020: QColor toExtendedRgb() const noexcept; 32020: 32020: [[nodiscard]] QColor convertTo(Spec colorSpec) const noexcept; 32020: 32020: static QColor fromRgb(QRgb rgb) noexcept; 32020: static QColor fromRgba(QRgb rgba) noexcept; 32020: 32020: static QColor fromRgb(int r, int g, int b, int a = 255); 32020: static QColor fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); 32020: 32020: static QColor fromRgba64(ushort r, ushort g, ushort b, ushort a = (0x7fff * 2 + 1)) noexcept; 32020: static QColor fromRgba64(QRgba64 rgba) noexcept; 32020: 32020: static QColor fromHsv(int h, int s, int v, int a = 255); 32020: static QColor fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); 32020: 32020: static QColor fromCmyk(int c, int m, int y, int k, int a = 255); 32020: static QColor fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); 32020: 32020: static QColor fromHsl(int h, int s, int l, int a = 255); 32020: static QColor fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0); 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QColor::lighter() instead"))) 32020: [[nodiscard]] QColor light(int f = 150) const noexcept; 32020: __attribute__ ((__deprecated__("Use QColor::darker() instead"))) 32020: [[nodiscard]] QColor dark(int f = 200) const noexcept; 32020: 32020: [[nodiscard]] QColor lighter(int f = 150) const noexcept; 32020: [[nodiscard]] QColor darker(int f = 200) const noexcept; 32020: 32020: bool operator==(const QColor &c) const noexcept; 32020: bool operator!=(const QColor &c) const noexcept; 32020: 32020: operator QVariant() const; 32020: 32020: 32020: static bool isValidColor(const QString &name); 32020: 32020: static bool isValidColor(QStringView) noexcept; 32020: static bool isValidColor(QLatin1String) noexcept; 32020: 32020: private: 32020: 32020: void invalidate() noexcept; 32020: template 32020: bool setColorFromString(String name); 32020: 32020: static constexpr bool isRgbaValid(int r, int g, int b, int a = 255) noexcept __attribute__((const)) 32020: { 32020: return uint(r) <= 255 && uint(g) <= 255 && uint(b) <= 255 && uint(a) <= 255; 32020: } 32020: 32020: Spec cspec; 32020: union CT { 32020: 32020: CT() {} 32020: constexpr explicit CT(ushort a1, ushort a2, ushort a3, ushort a4, ushort a5) noexcept 32020: : array{a1, a2, a3, a4, a5} {} 32020: 32020: struct { 32020: ushort alpha; 32020: ushort red; 32020: ushort green; 32020: ushort blue; 32020: ushort pad; 32020: } argb; 32020: struct { 32020: ushort alpha; 32020: ushort hue; 32020: ushort saturation; 32020: ushort value; 32020: ushort pad; 32020: } ahsv; 32020: struct { 32020: ushort alpha; 32020: ushort cyan; 32020: ushort magenta; 32020: ushort yellow; 32020: ushort black; 32020: } acmyk; 32020: struct { 32020: ushort alpha; 32020: ushort hue; 32020: ushort saturation; 32020: ushort lightness; 32020: ushort pad; 32020: } ahsl; 32020: struct { 32020: ushort alphaF16; 32020: ushort redF16; 32020: ushort greenF16; 32020: ushort blueF16; 32020: ushort pad; 32020: } argbExtended; 32020: ushort array[5]; 32020: } ct; 32020: 32020: friend class QColormap; 32020: 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QColor &); 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QColor &); 32020: 32020: 32020: 32020: public: 32020: constexpr explicit QColor(Spec spec, ushort a1, ushort a2, ushort a3, ushort a4, ushort a5=0) noexcept 32020: : cspec(spec), ct(a1, a2, a3, a4, a5) {} 32020: 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QColor)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QColor >::value, isDummy = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QColor) }; static inline const char *name() { return "QColor"; } }; 32020: 32020: inline QColor::QColor(QLatin1String aname) 32020: { setNamedColor(aname); } 32020: 32020: inline QColor::QColor(QStringView aname) 32020: { setNamedColor(aname); } 32020: 32020: 32020: inline QColor::QColor(const QString& aname) 32020: { setNamedColor(aname); } 32020: 32020: 32020: inline bool QColor::isValid() const noexcept 32020: { return cspec != Invalid; } 32020: 32020: 32020: namespace QColorConstants 32020: { 32020: namespace Svg {} 32020: 32020: 32020: 32020: constexpr __attribute__((__unused__)) QColor Color0 {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Color1 {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor White {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkGray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Gray {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0xa0 * 0x101, 0xa4 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor LightGray {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkRed {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkGreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkBlue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkCyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkMagenta {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor DarkYellow {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor Transparent {QColor::Rgb, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: 32020: 32020: namespace Svg { 32020: constexpr __attribute__((__unused__)) QColor aliceblue {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xf8 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor antiquewhite {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xeb * 0x101, 0xd7 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor aqua {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor aquamarine {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0xd4 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor azure {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor beige {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xdc * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor bisque {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xc4 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor blanchedalmond {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xeb * 0x101, 0xcd * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor blueviolet {QColor::Rgb, 0xff * 0x101, 0x8a * 0x101, 0x2b * 0x101, 0xe2 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor brown {QColor::Rgb, 0xff * 0x101, 0xa5 * 0x101, 0x2a * 0x101, 0x2a * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor burlywood {QColor::Rgb, 0xff * 0x101, 0xde * 0x101, 0xb8 * 0x101, 0x87 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor cadetblue {QColor::Rgb, 0xff * 0x101, 0x5f * 0x101, 0x9e * 0x101, 0xa0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor chartreuse {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor chocolate {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0x69 * 0x101, 0x1e * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor coral {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x7f * 0x101, 0x50 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor cornflowerblue {QColor::Rgb, 0xff * 0x101, 0x64 * 0x101, 0x95 * 0x101, 0xed * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor cornsilk {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf8 * 0x101, 0xdc * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor crimson {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0x14 * 0x101, 0x3c * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x8b * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkcyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x8b * 0x101, 0x8b * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkgoldenrod {QColor::Rgb, 0xff * 0x101, 0xb8 * 0x101, 0x86 * 0x101, 0x0b * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkgray {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x64 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkgrey {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkkhaki {QColor::Rgb, 0xff * 0x101, 0xbd * 0x101, 0xb7 * 0x101, 0x6b * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkmagenta {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x8b * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkolivegreen {QColor::Rgb, 0xff * 0x101, 0x55 * 0x101, 0x6b * 0x101, 0x2f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkorange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x8c * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkorchid {QColor::Rgb, 0xff * 0x101, 0x99 * 0x101, 0x32 * 0x101, 0xcc * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkred {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darksalmon {QColor::Rgb, 0xff * 0x101, 0xe9 * 0x101, 0x96 * 0x101, 0x7a * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkseagreen {QColor::Rgb, 0xff * 0x101, 0x8f * 0x101, 0xbc * 0x101, 0x8f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkslateblue {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0x3d * 0x101, 0x8b * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkslategray {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkslategrey {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkturquoise {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xce * 0x101, 0xd1 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor darkviolet {QColor::Rgb, 0xff * 0x101, 0x94 * 0x101, 0x00 * 0x101, 0xd3 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor deeppink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x14 * 0x101, 0x93 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor deepskyblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xbf * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor dimgray {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor dimgrey {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor dodgerblue {QColor::Rgb, 0xff * 0x101, 0x1e * 0x101, 0x90 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor firebrick {QColor::Rgb, 0xff * 0x101, 0xb2 * 0x101, 0x22 * 0x101, 0x22 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor floralwhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor forestgreen {QColor::Rgb, 0xff * 0x101, 0x22 * 0x101, 0x8b * 0x101, 0x22 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor fuchsia {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor gainsboro {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0xdc * 0x101, 0xdc * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor ghostwhite {QColor::Rgb, 0xff * 0x101, 0xf8 * 0x101, 0xf8 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor gold {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xd7 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor goldenrod {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0xa5 * 0x101, 0x20 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor gray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor greenyellow {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xff * 0x101, 0x2f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor grey {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor honeydew {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xf0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor hotpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x69 * 0x101, 0xb4 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor indianred {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x5c * 0x101, 0x5c * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor indigo {QColor::Rgb, 0xff * 0x101, 0x4b * 0x101, 0x00 * 0x101, 0x82 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor ivory {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor khaki {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xe6 * 0x101, 0x8c * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lavender {QColor::Rgb, 0xff * 0x101, 0xe6 * 0x101, 0xe6 * 0x101, 0xfa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lavenderblush {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101, 0xf5 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lawngreen {QColor::Rgb, 0xff * 0x101, 0x7c * 0x101, 0xfc * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lemonchiffon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xcd * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightblue {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xd8 * 0x101, 0xe6 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightcoral {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightcyan {QColor::Rgb, 0xff * 0x101, 0xe0 * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightgoldenrodyellow {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101, 0xd2 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightgray {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightgreen {QColor::Rgb, 0xff * 0x101, 0x90 * 0x101, 0xee * 0x101, 0x90 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightgrey {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xb6 * 0x101, 0xc1 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightsalmon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa0 * 0x101, 0x7a * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightseagreen {QColor::Rgb, 0xff * 0x101, 0x20 * 0x101, 0xb2 * 0x101, 0xaa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightskyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xfa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightslategray {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightslategrey {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightsteelblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xc4 * 0x101, 0xde * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lightyellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xe0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor lime {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor limegreen {QColor::Rgb, 0xff * 0x101, 0x32 * 0x101, 0xcd * 0x101, 0x32 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor linen {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101, 0xe6 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor maroon {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumaquamarine {QColor::Rgb, 0xff * 0x101, 0x66 * 0x101, 0xcd * 0x101, 0xaa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xcd * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumorchid {QColor::Rgb, 0xff * 0x101, 0xba * 0x101, 0x55 * 0x101, 0xd3 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumpurple {QColor::Rgb, 0xff * 0x101, 0x93 * 0x101, 0x70 * 0x101, 0xdb * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumseagreen {QColor::Rgb, 0xff * 0x101, 0x3c * 0x101, 0xb3 * 0x101, 0x71 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumslateblue {QColor::Rgb, 0xff * 0x101, 0x7b * 0x101, 0x68 * 0x101, 0xee * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumspringgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xfa * 0x101, 0x9a * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumturquoise {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0xd1 * 0x101, 0xcc * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mediumvioletred {QColor::Rgb, 0xff * 0x101, 0xc7 * 0x101, 0x15 * 0x101, 0x85 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor midnightblue {QColor::Rgb, 0xff * 0x101, 0x19 * 0x101, 0x19 * 0x101, 0x70 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mintcream {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xff * 0x101, 0xfa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor mistyrose {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xe1 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor moccasin {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xb5 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor navajowhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xde * 0x101, 0xad * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor navy {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor oldlace {QColor::Rgb, 0xff * 0x101, 0xfd * 0x101, 0xf5 * 0x101, 0xe6 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor olive {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor olivedrab {QColor::Rgb, 0xff * 0x101, 0x6b * 0x101, 0x8e * 0x101, 0x23 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor orange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa5 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor orangered {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x45 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor orchid {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0x70 * 0x101, 0xd6 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor palegoldenrod {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0xe8 * 0x101, 0xaa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor palegreen {QColor::Rgb, 0xff * 0x101, 0x98 * 0x101, 0xfb * 0x101, 0x98 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor paleturquoise {QColor::Rgb, 0xff * 0x101, 0xaf * 0x101, 0xee * 0x101, 0xee * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor palevioletred {QColor::Rgb, 0xff * 0x101, 0xdb * 0x101, 0x70 * 0x101, 0x93 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor papayawhip {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xef * 0x101, 0xd5 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor peachpuff {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xda * 0x101, 0xb9 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor peru {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x85 * 0x101, 0x3f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor pink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xc0 * 0x101, 0xcb * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor plum {QColor::Rgb, 0xff * 0x101, 0xdd * 0x101, 0xa0 * 0x101, 0xdd * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor powderblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xe0 * 0x101, 0xe6 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor purple {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor rosybrown {QColor::Rgb, 0xff * 0x101, 0xbc * 0x101, 0x8f * 0x101, 0x8f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor royalblue {QColor::Rgb, 0xff * 0x101, 0x41 * 0x101, 0x69 * 0x101, 0xe1 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor saddlebrown {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x45 * 0x101, 0x13 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor salmon {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0x80 * 0x101, 0x72 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor sandybrown {QColor::Rgb, 0xff * 0x101, 0xf4 * 0x101, 0xa4 * 0x101, 0x60 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor seagreen {QColor::Rgb, 0xff * 0x101, 0x2e * 0x101, 0x8b * 0x101, 0x57 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor seashell {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf5 * 0x101, 0xee * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor sienna {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0x52 * 0x101, 0x2d * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor silver {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor skyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xeb * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor slateblue {QColor::Rgb, 0xff * 0x101, 0x6a * 0x101, 0x5a * 0x101, 0xcd * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor slategray {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor slategrey {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor snow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor springgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x7f * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor steelblue {QColor::Rgb, 0xff * 0x101, 0x46 * 0x101, 0x82 * 0x101, 0xb4 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor tan {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0xb4 * 0x101, 0x8c * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor teal {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor thistle {QColor::Rgb, 0xff * 0x101, 0xd8 * 0x101, 0xbf * 0x101, 0xd8 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor tomato {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x63 * 0x101, 0x47 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor turquoise {QColor::Rgb, 0xff * 0x101, 0x40 * 0x101, 0xe0 * 0x101, 0xd0 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor violet {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0x82 * 0x101, 0xee * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor wheat {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xde * 0x101, 0xb3 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor white {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor whitesmoke {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xf5 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101}; 32020: constexpr __attribute__((__unused__)) QColor yellowgreen {QColor::Rgb, 0xff * 0x101, 0x9a * 0x101, 0xcd * 0x101, 0x32 * 0x101}; 32020: } 32020: 32020: } 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qshareddata.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qshareddata.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qshareddata.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 2 3 4 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 3 4 32020: 32020: 32020: struct __attribute__((visibility("default"))) QHashData 32020: { 32020: struct Node { 32020: Node *next; 32020: uint h; 32020: }; 32020: 32020: Node *fakeNext; 32020: Node **buckets; 32020: QtPrivate::RefCount ref; 32020: int size; 32020: int nodeSize; 32020: short userNumBits; 32020: short numBits; 32020: int numBuckets; 32020: uint seed; 32020: uint sharable : 1; 32020: uint strictAlignment : 1; 32020: uint reserved : 30; 32020: 32020: void *allocateNode(int nodeAlign); 32020: void freeNode(void *node); 32020: QHashData *detach_helper(void (*node_duplicate)(Node *, void *), void (*node_delete)(Node *), 32020: int nodeSize, int nodeAlign); 32020: bool willGrow(); 32020: void hasShrunk(); 32020: void rehash(int hint); 32020: void free_helper(void (*node_delete)(Node *)); 32020: Node *firstNode(); 32020: 32020: 32020: 32020: 32020: static Node *nextNode(Node *node); 32020: static Node *previousNode(Node *node); 32020: 32020: static const QHashData shared_null; 32020: }; 32020: 32020: inline bool QHashData::willGrow() 32020: { 32020: if (size >= numBuckets) { 32020: rehash(numBits + 1); 32020: return true; 32020: } else { 32020: return false; 32020: } 32020: } 32020: 32020: inline void QHashData::hasShrunk() 32020: { 32020: if (size <= (numBuckets >> 3) && numBits > userNumBits) { 32020: try { 32020: rehash(qMax(int(numBits) - 2, int(userNumBits))); 32020: } catch (const std::bad_alloc &) { 32020: 32020: } 32020: } 32020: } 32020: 32020: inline QHashData::Node *QHashData::firstNode() 32020: { 32020: Node *e = reinterpret_cast(this); 32020: Node **bucket = buckets; 32020: int n = numBuckets; 32020: while (n--) { 32020: if (*bucket != e) 32020: return *bucket; 32020: ++bucket; 32020: } 32020: return e; 32020: } 32020: 32020: struct QHashDummyValue 32020: { 32020: }; 32020: 32020: constexpr bool operator==(const QHashDummyValue &, const QHashDummyValue &) noexcept 32020: { 32020: return true; 32020: } 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), 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) || qIsRelocatable(), 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"; } }; 32020: 32020: template 32020: struct QHashNode 32020: { 32020: QHashNode *next; 32020: const uint h; 32020: const Key key; 32020: T value; 32020: 32020: inline QHashNode(const Key &key0, const T &value0, uint hash, QHashNode *n) 32020: : next(n), h(hash), key(key0), value(value0) {} 32020: inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; } 32020: 32020: private: 32020: QHashNode(const QHashNode &) = delete; QHashNode &operator=(const QHashNode &) = delete; 32020: }; 32020: 32020: 32020: template 32020: struct QHashNode 32020: { 32020: union { 32020: QHashNode *next; 32020: QHashDummyValue value; 32020: }; 32020: const uint h; 32020: const Key key; 32020: 32020: inline QHashNode(const Key &key0, const QHashDummyValue &, uint hash, QHashNode *n) 32020: : next(n), h(hash), key(key0) {} 32020: inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; } 32020: 32020: private: 32020: QHashNode(const QHashNode &) = delete; QHashNode &operator=(const QHashNode &) = delete; 32020: }; 32020: # 224 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 3 4 32020: template 32020: class QHash 32020: { 32020: typedef QHashNode Node; 32020: 32020: union { 32020: QHashData *d; 32020: QHashNode *e; 32020: }; 32020: 32020: static inline Node *concrete(QHashData::Node *node) { 32020: return reinterpret_cast(node); 32020: } 32020: 32020: static inline int alignOfNode() { return qMax(sizeof(void*), alignof(Node)); } 32020: 32020: public: 32020: inline QHash() noexcept : d(const_cast(&QHashData::shared_null)) { } 32020: inline QHash(std::initializer_list > list) 32020: : d(const_cast(&QHashData::shared_null)) 32020: { 32020: reserve(int(list.size())); 32020: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 32020: insert(it->first, it->second); 32020: } 32020: QHash(const QHash &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } 32020: ~QHash() { if (!d->ref.deref()) freeData(d); } 32020: 32020: QHash &operator=(const QHash &other); 32020: QHash(QHash &&other) noexcept : d(other.d) { other.d = const_cast(&QHashData::shared_null); } 32020: QHash &operator=(QHash &&other) noexcept 32020: { QHash moved(std::move(other)); swap(moved); return *this; } 32020: 32020: 32020: 32020: 32020: template = true> 32020: QHash(InputIterator f, InputIterator l) 32020: : QHash() 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, f, l); 32020: for (; f != l; ++f) 32020: insert(f.key(), f.value()); 32020: } 32020: 32020: template = true> 32020: QHash(InputIterator f, InputIterator l) 32020: : QHash() 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, f, l); 32020: for (; f != l; ++f) 32020: insert(f->first, f->second); 32020: } 32020: 32020: void swap(QHash &other) noexcept { qSwap(d, other.d); } 32020: 32020: bool operator==(const QHash &other) const; 32020: bool operator!=(const QHash &other) const { return !(*this == other); } 32020: 32020: inline int size() const { return d->size; } 32020: 32020: inline bool isEmpty() const { return d->size == 0; } 32020: 32020: inline int capacity() const { return d->numBuckets; } 32020: void reserve(int size); 32020: inline void squeeze() { reserve(1); } 32020: 32020: inline void detach() { if (d->ref.isShared()) detach_helper(); } 32020: inline bool isDetached() const { return !d->ref.isShared(); } 32020: 32020: inline void setSharable(bool sharable) { if (!sharable) detach(); if (d != &QHashData::shared_null) d->sharable = sharable; } 32020: 32020: bool isSharedWith(const QHash &other) const { return d == other.d; } 32020: 32020: void clear(); 32020: 32020: int remove(const Key &key); 32020: T take(const Key &key); 32020: 32020: bool contains(const Key &key) const; 32020: const Key key(const T &value) const; 32020: const Key key(const T &value, const Key &defaultKey) const; 32020: const T value(const Key &key) const; 32020: const T value(const Key &key, const T &defaultValue) const; 32020: T &operator[](const Key &key); 32020: const T operator[](const Key &key) const; 32020: 32020: QList keys() const; 32020: QList keys(const T &value) const; 32020: QList values() const; 32020: 32020: __attribute__ ((__deprecated__("Use QMultiHash for hashes storing multiple values with the same key."))) QList uniqueKeys() const; 32020: __attribute__ ((__deprecated__("Use QMultiHash for hashes storing multiple values with the same key."))) QList values(const Key &key) const; 32020: 32020: int count(const Key &key) const; 32020: 32020: class const_iterator; 32020: 32020: class iterator 32020: { 32020: friend class const_iterator; 32020: friend class QHash; 32020: friend class QSet; 32020: QHashData::Node *i; 32020: 32020: public: 32020: 32020: 32020: 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef T *pointer; 32020: typedef T &reference; 32020: 32020: inline iterator() : i(nullptr) { } 32020: explicit inline iterator(void *node) : i(reinterpret_cast(node)) { } 32020: 32020: inline const Key &key() const { return concrete(i)->key; } 32020: inline T &value() const { return concrete(i)->value; } 32020: inline T &operator*() const { return concrete(i)->value; } 32020: inline T *operator->() const { return &concrete(i)->value; } 32020: inline bool operator==(const iterator &o) const { return i == o.i; } 32020: inline bool operator!=(const iterator &o) const { return i != o.i; } 32020: 32020: inline iterator &operator++() { 32020: i = QHashData::nextNode(i); 32020: return *this; 32020: } 32020: inline iterator operator++(int) { 32020: iterator r = *this; 32020: i = QHashData::nextNode(i); 32020: return r; 32020: } 32020: 32020: inline __attribute__ ((__deprecated__)) iterator &operator--() 32020: { 32020: i = QHashData::previousNode(i); 32020: return *this; 32020: } 32020: inline __attribute__ ((__deprecated__)) iterator operator--(int) 32020: { 32020: iterator r = *this; 32020: i = QHashData::previousNode(i); 32020: return r; 32020: } 32020: inline __attribute__ ((__deprecated__)) iterator operator+(int j) const 32020: { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 32020: inline __attribute__ ((__deprecated__)) iterator operator-(int j) const { return operator+(-j); } 32020: inline __attribute__ ((__deprecated__)) iterator &operator+=(int j) { return *this = *this + j; } 32020: inline __attribute__ ((__deprecated__)) iterator &operator-=(int j) { return *this = *this - j; } 32020: friend inline __attribute__ ((__deprecated__)) iterator operator+(int j, iterator k) { return k + j; } 32020: 32020: 32020: 32020: public: 32020: inline bool operator==(const const_iterator &o) const 32020: { return i == o.i; } 32020: inline bool operator!=(const const_iterator &o) const 32020: { return i != o.i; } 32020: 32020: }; 32020: friend class iterator; 32020: 32020: class const_iterator 32020: { 32020: friend class iterator; 32020: friend class QHash; 32020: friend class QMultiHash; 32020: friend class QSet; 32020: QHashData::Node *i; 32020: 32020: public: 32020: 32020: 32020: 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef const T *pointer; 32020: typedef const T &reference; 32020: 32020: constexpr inline const_iterator() : i(nullptr) { } 32020: explicit inline const_iterator(void *node) 32020: : i(reinterpret_cast(node)) { } 32020: 32020: 32020: 32020: inline const_iterator(const iterator &o) 32020: 32020: { i = o.i; } 32020: 32020: inline const Key &key() const { return concrete(i)->key; } 32020: inline const T &value() const { return concrete(i)->value; } 32020: inline const T &operator*() const { return concrete(i)->value; } 32020: inline const T *operator->() const { return &concrete(i)->value; } 32020: constexpr inline bool operator==(const const_iterator &o) const { return i == o.i; } 32020: constexpr inline bool operator!=(const const_iterator &o) const { return i != o.i; } 32020: 32020: inline const_iterator &operator++() { 32020: i = QHashData::nextNode(i); 32020: return *this; 32020: } 32020: inline const_iterator operator++(int) { 32020: const_iterator r = *this; 32020: i = QHashData::nextNode(i); 32020: return r; 32020: } 32020: 32020: inline __attribute__ ((__deprecated__)) const_iterator &operator--() 32020: { 32020: i = QHashData::previousNode(i); 32020: return *this; 32020: } 32020: inline __attribute__ ((__deprecated__)) const_iterator operator--(int) 32020: { 32020: const_iterator r = *this; 32020: i = QHashData::previousNode(i); 32020: return r; 32020: } 32020: inline __attribute__ ((__deprecated__)) const_iterator operator+(int j) const 32020: { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 32020: inline __attribute__ ((__deprecated__)) const_iterator operator-(int j) const { return operator+(-j); } 32020: inline __attribute__ ((__deprecated__)) const_iterator &operator+=(int j) { return *this = *this + j; } 32020: inline __attribute__ ((__deprecated__)) const_iterator &operator-=(int j) { return *this = *this - j; } 32020: friend inline __attribute__ ((__deprecated__)) const_iterator operator+(int j, const_iterator k) 32020: { 32020: return k + j; 32020: } 32020: # 463 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 3 4 32020: }; 32020: friend class const_iterator; 32020: 32020: class key_iterator 32020: { 32020: const_iterator i; 32020: 32020: public: 32020: typedef typename const_iterator::iterator_category iterator_category; 32020: typedef typename const_iterator::difference_type difference_type; 32020: typedef Key value_type; 32020: typedef const Key *pointer; 32020: typedef const Key &reference; 32020: 32020: key_iterator() = default; 32020: explicit key_iterator(const_iterator o) : i(o) { } 32020: 32020: const Key &operator*() const { return i.key(); } 32020: const Key *operator->() const { return &i.key(); } 32020: bool operator==(key_iterator o) const { return i == o.i; } 32020: bool operator!=(key_iterator o) const { return i != o.i; } 32020: 32020: inline key_iterator &operator++() { ++i; return *this; } 32020: inline key_iterator operator++(int) { return key_iterator(i++);} 32020: 32020: inline __attribute__ ((__deprecated__)) key_iterator &operator--() 32020: { 32020: --i; 32020: return *this; 32020: } 32020: inline __attribute__ ((__deprecated__)) key_iterator operator--(int) { return key_iterator(i--); } 32020: 32020: const_iterator base() const { return i; } 32020: }; 32020: 32020: typedef QKeyValueIterator const_key_value_iterator; 32020: typedef QKeyValueIterator key_value_iterator; 32020: 32020: 32020: inline iterator begin() { detach(); return iterator(d->firstNode()); } 32020: inline const_iterator begin() const { return const_iterator(d->firstNode()); } 32020: inline const_iterator cbegin() const { return const_iterator(d->firstNode()); } 32020: inline const_iterator constBegin() const { return const_iterator(d->firstNode()); } 32020: inline iterator end() { detach(); return iterator(e); } 32020: inline const_iterator end() const { return const_iterator(e); } 32020: inline const_iterator cend() const { return const_iterator(e); } 32020: inline const_iterator constEnd() const { return const_iterator(e); } 32020: inline key_iterator keyBegin() const { return key_iterator(begin()); } 32020: inline key_iterator keyEnd() const { return key_iterator(end()); } 32020: inline key_value_iterator keyValueBegin() { return key_value_iterator(begin()); } 32020: inline key_value_iterator keyValueEnd() { return key_value_iterator(end()); } 32020: inline const_key_value_iterator keyValueBegin() const { return const_key_value_iterator(begin()); } 32020: inline const_key_value_iterator constKeyValueBegin() const { return const_key_value_iterator(begin()); } 32020: inline const_key_value_iterator keyValueEnd() const { return const_key_value_iterator(end()); } 32020: inline const_key_value_iterator constKeyValueEnd() const { return const_key_value_iterator(end()); } 32020: 32020: QPair equal_range(const Key &key); 32020: QPair equal_range(const Key &key) const noexcept; 32020: iterator erase(iterator it) { return erase(const_iterator(it.i)); } 32020: iterator erase(const_iterator it); 32020: 32020: 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: inline int count() const { return d->size; } 32020: iterator find(const Key &key); 32020: const_iterator find(const Key &key) const; 32020: const_iterator constFind(const Key &key) const; 32020: iterator insert(const Key &key, const T &value); 32020: void insert(const QHash &hash); 32020: 32020: __attribute__ ((__deprecated__("Use QMultiHash for hashes storing multiple values with the same key."))) iterator insertMulti(const Key &key, const T &value); 32020: __attribute__ ((__deprecated__("Use QMultiHash for hashes storing multiple values with the same key."))) QHash &unite(const QHash &other); 32020: 32020: 32020: 32020: typedef T mapped_type; 32020: typedef Key key_type; 32020: typedef qptrdiff difference_type; 32020: typedef int size_type; 32020: 32020: inline bool empty() const { return isEmpty(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: void detach_helper(); 32020: void freeData(QHashData *d); 32020: Node **findNode(const Key &key, uint *hp = nullptr) const; 32020: Node **findNode(const Key &key, uint h) const; 32020: Node *createNode(uint h, const Key &key, const T &value, Node **nextNode); 32020: void deleteNode(Node *node); 32020: static void deleteNode2(QHashData::Node *node); 32020: 32020: static void duplicateNode(QHashData::Node *originalNode, void *newNode); 32020: 32020: bool isValidIterator(const iterator &it) const noexcept 32020: { return isValidNode(it.i); } 32020: bool isValidIterator(const const_iterator &it) const noexcept 32020: { return isValidNode(it.i); } 32020: bool isValidNode(QHashData::Node *node) const noexcept 32020: { 32020: 32020: 32020: 32020: 32020: 32020: (void)node;; 32020: return true; 32020: 32020: } 32020: friend class QSet; 32020: friend class QMultiHash; 32020: }; 32020: 32020: 32020: template 32020: inline void QHash::deleteNode(Node *node) 32020: { 32020: deleteNode2(reinterpret_cast(node)); 32020: d->freeNode(node); 32020: } 32020: 32020: template 32020: inline void QHash::deleteNode2(QHashData::Node *node) 32020: { 32020: 32020: 32020: 32020: concrete(node)->~Node(); 32020: 32020: } 32020: 32020: template 32020: inline void QHash::duplicateNode(QHashData::Node *node, void *newNode) 32020: { 32020: Node *concreteNode = concrete(node); 32020: new (newNode) Node(concreteNode->key, concreteNode->value, concreteNode->h, nullptr); 32020: } 32020: 32020: template 32020: inline typename QHash::Node * 32020: QHash::createNode(uint ah, const Key &akey, const T &avalue, Node **anextNode) 32020: { 32020: Node *node = new (d->allocateNode(alignOfNode())) Node(akey, avalue, ah, *anextNode); 32020: *anextNode = node; 32020: ++d->size; 32020: return node; 32020: } 32020: 32020: template 32020: void QHash::freeData(QHashData *x) 32020: { 32020: x->free_helper(deleteNode2); 32020: } 32020: 32020: template 32020: inline void QHash::clear() 32020: { 32020: *this = QHash(); 32020: } 32020: 32020: template 32020: void QHash::detach_helper() 32020: { 32020: QHashData *x = d->detach_helper(duplicateNode, deleteNode2, sizeof(Node), alignOfNode()); 32020: if (!d->ref.deref()) 32020: freeData(d); 32020: d = x; 32020: } 32020: 32020: template 32020: inline QHash &QHash::operator=(const QHash &other) 32020: { 32020: if (d != other.d) { 32020: QHashData *o = other.d; 32020: o->ref.ref(); 32020: if (!d->ref.deref()) 32020: freeData(d); 32020: d = o; 32020: if (!d->sharable) 32020: detach_helper(); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline const T QHash::value(const Key &akey) const 32020: { 32020: Node *node; 32020: if (d->size == 0 || (node = *findNode(akey)) == e) { 32020: return T(); 32020: } else { 32020: return node->value; 32020: } 32020: } 32020: 32020: template 32020: inline const T QHash::value(const Key &akey, const T &adefaultValue) const 32020: { 32020: Node *node; 32020: if (d->size == 0 || (node = *findNode(akey)) == e) { 32020: return adefaultValue; 32020: } else { 32020: return node->value; 32020: } 32020: } 32020: 32020: template 32020: QList QHash::keys() const 32020: { 32020: QList res; 32020: res.reserve(size()); 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: res.append(i.key()); 32020: ++i; 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: QList QHash::keys(const T &avalue) const 32020: { 32020: QList res; 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: if (i.value() == avalue) 32020: res.append(i.key()); 32020: ++i; 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: const Key QHash::key(const T &avalue) const 32020: { 32020: return key(avalue, Key()); 32020: } 32020: 32020: template 32020: const Key QHash::key(const T &avalue, const Key &defaultValue) const 32020: { 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: if (i.value() == avalue) 32020: return i.key(); 32020: ++i; 32020: } 32020: 32020: return defaultValue; 32020: } 32020: 32020: template 32020: QList QHash::values() const 32020: { 32020: QList res; 32020: res.reserve(size()); 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: res.append(i.value()); 32020: ++i; 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: int QHash::count(const Key &akey) const 32020: { 32020: int cnt = 0; 32020: Node *node = *findNode(akey); 32020: if (node != e) { 32020: do { 32020: ++cnt; 32020: } while ((node = node->next) != e && node->key == akey); 32020: } 32020: return cnt; 32020: } 32020: 32020: template 32020: inline const T QHash::operator[](const Key &akey) const 32020: { 32020: return value(akey); 32020: } 32020: 32020: template 32020: inline T &QHash::operator[](const Key &akey) 32020: { 32020: detach(); 32020: 32020: uint h; 32020: Node **node = findNode(akey, &h); 32020: if (*node == e) { 32020: if (d->willGrow()) 32020: node = findNode(akey, h); 32020: return createNode(h, akey, T(), node)->value; 32020: } 32020: return (*node)->value; 32020: } 32020: 32020: template 32020: inline typename QHash::iterator QHash::insert(const Key &akey, 32020: const T &avalue) 32020: { 32020: detach(); 32020: 32020: uint h; 32020: Node **node = findNode(akey, &h); 32020: if (*node == e) { 32020: if (d->willGrow()) 32020: node = findNode(akey, h); 32020: return iterator(createNode(h, akey, avalue, node)); 32020: } 32020: 32020: if (!std::is_same::value) 32020: (*node)->value = avalue; 32020: return iterator(*node); 32020: } 32020: 32020: template 32020: inline void QHash::insert(const QHash &hash) 32020: { 32020: if (d == hash.d) 32020: return; 32020: 32020: detach(); 32020: 32020: QHashData::Node *i = hash.d->firstNode(); 32020: QHashData::Node *end = reinterpret_cast(hash.e); 32020: while (i != end) { 32020: Node *n = concrete(i); 32020: Node **node = findNode(n->key, n->h); 32020: if (*node == e) { 32020: if (d->willGrow()) 32020: node = findNode(n->key, n->h); 32020: createNode(n->h, n->key, n->value, node); 32020: } else { 32020: if (!std::is_same::value) 32020: (*node)->value = n->value; 32020: } 32020: i = QHashData::nextNode(i); 32020: } 32020: } 32020: 32020: template 32020: int QHash::remove(const Key &akey) 32020: { 32020: if (isEmpty()) 32020: return 0; 32020: detach(); 32020: 32020: int oldSize = d->size; 32020: Node **node = findNode(akey); 32020: if (*node != e) { 32020: bool deleteNext = true; 32020: do { 32020: Node *next = (*node)->next; 32020: deleteNext = (next != e && next->key == (*node)->key); 32020: deleteNode(*node); 32020: *node = next; 32020: --d->size; 32020: } while (deleteNext); 32020: d->hasShrunk(); 32020: } 32020: return oldSize - d->size; 32020: } 32020: 32020: template 32020: T QHash::take(const Key &akey) 32020: { 32020: if (isEmpty()) 32020: return T(); 32020: detach(); 32020: 32020: Node **node = findNode(akey); 32020: if (*node != e) { 32020: T t = std::move((*node)->value); 32020: Node *next = (*node)->next; 32020: deleteNode(*node); 32020: *node = next; 32020: --d->size; 32020: d->hasShrunk(); 32020: return t; 32020: } 32020: return T(); 32020: } 32020: 32020: template 32020: typename QHash::iterator QHash::erase(const_iterator it) 32020: { 32020: static_cast(false && (isValidIterator(it))); 32020: 32020: if (it == const_iterator(e)) 32020: return iterator(it.i); 32020: 32020: if (d->ref.isShared()) { 32020: 32020: int bucketNum = (it.i->h % d->numBuckets); 32020: const_iterator bucketIterator(*(d->buckets + bucketNum)); 32020: int stepsFromBucketStartToIte = 0; 32020: while (bucketIterator != it) { 32020: ++stepsFromBucketStartToIte; 32020: ++bucketIterator; 32020: } 32020: detach(); 32020: it = const_iterator(*(d->buckets + bucketNum)); 32020: while (stepsFromBucketStartToIte > 0) { 32020: --stepsFromBucketStartToIte; 32020: ++it; 32020: } 32020: } 32020: 32020: iterator ret(it.i); 32020: ++ret; 32020: 32020: Node *node = concrete(it.i); 32020: Node **node_ptr = reinterpret_cast(&d->buckets[node->h % d->numBuckets]); 32020: while (*node_ptr != node) 32020: node_ptr = &(*node_ptr)->next; 32020: *node_ptr = node->next; 32020: deleteNode(node); 32020: --d->size; 32020: return ret; 32020: } 32020: 32020: template 32020: inline void QHash::reserve(int asize) 32020: { 32020: detach(); 32020: d->rehash(-qMax(asize, 1)); 32020: } 32020: 32020: template 32020: inline typename QHash::const_iterator QHash::find(const Key &akey) const 32020: { 32020: return const_iterator(*findNode(akey)); 32020: } 32020: 32020: template 32020: inline typename QHash::const_iterator QHash::constFind(const Key &akey) const 32020: { 32020: return const_iterator(*findNode(akey)); 32020: } 32020: 32020: template 32020: inline typename QHash::iterator QHash::find(const Key &akey) 32020: { 32020: detach(); 32020: return iterator(*findNode(akey)); 32020: } 32020: 32020: template 32020: inline bool QHash::contains(const Key &akey) const 32020: { 32020: return *findNode(akey) != e; 32020: } 32020: 32020: template 32020: typename QHash::Node **QHash::findNode(const Key &akey, uint h) const 32020: { 32020: Node **node; 32020: 32020: if (d->numBuckets) { 32020: node = reinterpret_cast(&d->buckets[h % d->numBuckets]); 32020: static_cast(false && (*node == e || (*node)->next)); 32020: while (*node != e && !(*node)->same_key(h, akey)) 32020: node = &(*node)->next; 32020: } else { 32020: node = const_cast(reinterpret_cast(&e)); 32020: } 32020: return node; 32020: } 32020: 32020: template 32020: typename QHash::Node **QHash::findNode(const Key &akey, 32020: uint *ahp) const 32020: { 32020: uint h = 0; 32020: 32020: if (d->numBuckets || ahp) { 32020: h = qHash(akey, d->seed); 32020: if (ahp) 32020: *ahp = h; 32020: } 32020: return findNode(akey, h); 32020: } 32020: 32020: template 32020: bool QHash::operator==(const QHash &other) const 32020: { 32020: if (d == other.d) 32020: return true; 32020: if (size() != other.size()) 32020: return false; 32020: 32020: const_iterator it = begin(); 32020: 32020: while (it != end()) { 32020: 32020: 32020: auto thisEqualRangeStart = it; 32020: const Key &thisEqualRangeKey = it.key(); 32020: size_type n = 0; 32020: do { 32020: ++it; 32020: ++n; 32020: } while (it != end() && it.key() == thisEqualRangeKey); 32020: 32020: const auto otherEqualRange = other.equal_range(thisEqualRangeKey); 32020: 32020: if (n != std::distance(otherEqualRange.first, otherEqualRange.second)) 32020: return false; 32020: 32020: 32020: if (!qt_is_permutation(thisEqualRangeStart, it, otherEqualRange.first, otherEqualRange.second)) 32020: return false; 32020: } 32020: 32020: return true; 32020: } 32020: 32020: template 32020: QPair::iterator, typename QHash::iterator> QHash::equal_range(const Key &akey) 32020: { 32020: detach(); 32020: auto pair = qAsConst(*this).equal_range(akey); 32020: return qMakePair(iterator(pair.first.i), iterator(pair.second.i)); 32020: } 32020: 32020: template 32020: QPair::const_iterator, typename QHash::const_iterator> QHash::equal_range(const Key &akey) const noexcept 32020: { 32020: Node *node = *findNode(akey); 32020: const_iterator firstIt = const_iterator(node); 32020: 32020: if (node != e) { 32020: 32020: 32020: 32020: 32020: while (node->next != e && node->next->key == akey) 32020: node = node->next; 32020: 32020: 32020: 32020: 32020: 32020: node = concrete(QHashData::nextNode(reinterpret_cast(node))); 32020: } 32020: 32020: return qMakePair(firstIt, const_iterator(node)); 32020: } 32020: 32020: template 32020: class QMultiHash : public QHash 32020: { 32020: public: 32020: QMultiHash() noexcept {} 32020: inline QMultiHash(std::initializer_list > list) 32020: { 32020: this->reserve(int(list.size())); 32020: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 32020: insert(it->first, it->second); 32020: } 32020: 32020: 32020: 32020: 32020: template = true> 32020: QMultiHash(InputIterator f, InputIterator l) 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, f, l); 32020: for (; f != l; ++f) 32020: insert(f.key(), f.value()); 32020: } 32020: 32020: template = true> 32020: QMultiHash(InputIterator f, InputIterator l) 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, f, l); 32020: for (; f != l; ++f) 32020: insert(f->first, f->second); 32020: } 32020: 32020: 32020: 32020: 32020: QMultiHash(const QHash &other) : QHash(other) {} 32020: QMultiHash(QHash &&other) noexcept : QHash(std::move(other)) {} 32020: void swap(QMultiHash &other) noexcept { QHash::swap(other); } 32020: 32020: inline typename QHash::iterator replace(const Key &key, const T &value) 32020: { return QHash::insert(key, value); } 32020: 32020: typename QHash::iterator insert(const Key &key, const T &value); 32020: 32020: inline QMultiHash &unite(const QMultiHash &other); 32020: 32020: inline QMultiHash &operator+=(const QMultiHash &other) 32020: { return unite(other); } 32020: inline QMultiHash operator+(const QMultiHash &other) const 32020: { QMultiHash result = *this; result += other; return result; } 32020: 32020: using QHash::contains; 32020: using QHash::remove; 32020: using QHash::count; 32020: using QHash::find; 32020: using QHash::constFind; 32020: using QHash::values; 32020: using QHash::findNode; 32020: using QHash::createNode; 32020: using QHash::concrete; 32020: using QHash::detach; 32020: 32020: using typename QHash::Node; 32020: using typename QHash::iterator; 32020: using typename QHash::const_iterator; 32020: 32020: bool contains(const Key &key, const T &value) const; 32020: 32020: int remove(const Key &key, const T &value); 32020: 32020: int count(const Key &key, const T &value) const; 32020: 32020: QList uniqueKeys() const; 32020: 32020: QList values(const Key &akey) const; 32020: 32020: typename QHash::iterator find(const Key &key, const T &value) { 32020: typename QHash::iterator i(find(key)); 32020: typename QHash::iterator end(this->end()); 32020: while (i != end && i.key() == key) { 32020: if (i.value() == value) 32020: return i; 32020: ++i; 32020: } 32020: return end; 32020: } 32020: typename QHash::const_iterator find(const Key &key, const T &value) const { 32020: typename QHash::const_iterator i(constFind(key)); 32020: typename QHash::const_iterator end(QHash::constEnd()); 32020: while (i != end && i.key() == key) { 32020: if (i.value() == value) 32020: return i; 32020: ++i; 32020: } 32020: return end; 32020: } 32020: typename QHash::const_iterator constFind(const Key &key, const T &value) const 32020: { return find(key, value); } 32020: private: 32020: T &operator[](const Key &key); 32020: const T operator[](const Key &key) const; 32020: }; 32020: 32020: template 32020: inline typename QHash::iterator QMultiHash::insert(const Key &akey, const T &avalue) 32020: { 32020: detach(); 32020: this->d->willGrow(); 32020: 32020: uint h; 32020: Node **nextNode = findNode(akey, &h); 32020: return iterator(createNode(h, akey, avalue, nextNode)); 32020: } 32020: 32020: template 32020: inline QMultiHash &QMultiHash::unite(const QMultiHash &other) 32020: { 32020: if (this->d == &QHashData::shared_null) { 32020: *this = other; 32020: } else { 32020: 32020: QMultiHash copy(other); 32020: const_iterator it = copy.constEnd(); 32020: while (it != copy.constBegin()) { 32020: it.i = QHashData::previousNode(it.i); 32020: insert(it.key(), it.value()); 32020: } 32020: # 1160 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qhash.h" 3 4 32020: } 32020: return *this; 32020: } 32020: 32020: 32020: template 32020: inline bool QMultiHash::contains(const Key &key, const T &value) const 32020: { 32020: return constFind(key, value) != QHash::constEnd(); 32020: } 32020: 32020: template 32020: inline int QMultiHash::remove(const Key &key, const T &value) 32020: { 32020: int n = 0; 32020: typename QHash::iterator i(find(key)); 32020: typename QHash::iterator end(QHash::end()); 32020: while (i != end && i.key() == key) { 32020: if (i.value() == value) { 32020: i = this->erase(i); 32020: ++n; 32020: } else { 32020: ++i; 32020: } 32020: } 32020: return n; 32020: } 32020: 32020: template 32020: inline int QMultiHash::count(const Key &key, const T &value) const 32020: { 32020: int n = 0; 32020: typename QHash::const_iterator i(constFind(key)); 32020: typename QHash::const_iterator end(QHash::constEnd()); 32020: while (i != end && i.key() == key) { 32020: if (i.value() == value) 32020: ++n; 32020: ++i; 32020: } 32020: return n; 32020: } 32020: 32020: template 32020: QList QMultiHash::uniqueKeys() const 32020: { 32020: QList res; 32020: res.reserve(QHash::size()); 32020: typename QHash::const_iterator i = QHash::begin(); 32020: if (i != QHash::end()) { 32020: for (;;) { 32020: const Key &aKey = i.key(); 32020: res.append(aKey); 32020: do { 32020: if (++i == QHash::end()) 32020: goto break_out_of_outer_loop; 32020: } while (aKey == i.key()); 32020: } 32020: } 32020: break_out_of_outer_loop: 32020: return res; 32020: } 32020: 32020: 32020: 32020: template 32020: typename QHash::iterator QHash::insertMulti(const Key &key, const T &value) { 32020: return static_cast *>(this)->insert(key, value); 32020: } 32020: 32020: template 32020: QHash &QHash::unite(const QHash &other) { 32020: return static_cast *>(this)->unite(other); 32020: } 32020: 32020: template 32020: QList QHash::values(const Key &akey) const 32020: { 32020: return static_cast *>(this)->values(akey); 32020: } 32020: 32020: template 32020: QList QHash::uniqueKeys() const 32020: { 32020: return static_cast *>(this)->uniqueKeys(); 32020: } 32020: 32020: 32020: template 32020: QList QMultiHash::values(const Key &akey) const 32020: { 32020: QList res; 32020: Node *node = *findNode(akey); 32020: if (node != this->e) { 32020: do { 32020: res.append(node->value); 32020: } while ((node = node->next) != this->e && node->key == akey); 32020: } 32020: return res; 32020: } 32020: 32020: 32020: template 32020: class QHashIterator 32020: { 32020: typedef typename QHash::const_iterator const_iterator; 32020: typedef const_iterator Item; 32020: QHash c; 32020: const_iterator i, n; 32020: inline bool item_exists() const { return n != c.constEnd(); } 32020: 32020: public: 32020: inline QHashIterator(const QHash &container) 32020: : c(container), i(c.constBegin()), n(c.constEnd()) 32020: { 32020: } 32020: inline QHashIterator &operator=(const QHash &container) 32020: { 32020: c = container; 32020: i = c.constBegin(); 32020: n = c.constEnd(); 32020: return *this; 32020: } 32020: inline void toFront() 32020: { 32020: i = c.constBegin(); 32020: n = c.constEnd(); 32020: } 32020: inline void toBack() 32020: { 32020: i = c.constEnd(); 32020: n = c.constEnd(); 32020: } 32020: inline bool hasNext() const { return i != c.constEnd(); } 32020: inline Item next() 32020: { 32020: n = i++; 32020: return n; 32020: } 32020: inline Item peekNext() const { return i; } 32020: inline const T &value() const 32020: { 32020: static_cast(false && (item_exists())); 32020: return *n; 32020: } 32020: inline const Key &key() const 32020: { 32020: static_cast(false && (item_exists())); 32020: return n.key(); 32020: } 32020: inline bool findNext(const T &t) 32020: { 32020: while ((n = i) != c.constEnd()) 32020: if (*i++ == t) 32020: return true; 32020: return false; 32020: } 32020: 32020: inline __attribute__ ((__deprecated__)) bool hasPrevious() const { return i != c.constBegin(); } 32020: inline __attribute__ ((__deprecated__)) Item previous() 32020: { 32020: n = --i; 32020: return n; 32020: } 32020: inline __attribute__ ((__deprecated__)) Item peekPrevious() const 32020: { 32020: const_iterator p = i; 32020: return --p; 32020: } 32020: inline bool __attribute__ ((__deprecated__)) findPrevious(const T &t) 32020: { 32020: while (i != c.constBegin()) 32020: if (*(n = --i) == t) 32020: return true; 32020: n = c.constEnd(); 32020: return false; 32020: } 32020: 32020: }; 32020: 32020: template 32020: class QMutableHashIterator 32020: { 32020: typedef typename QHash::iterator iterator; 32020: typedef typename QHash::const_iterator const_iterator; 32020: typedef iterator Item; 32020: QHash *c; 32020: iterator i, n; 32020: inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } 32020: 32020: public: 32020: inline QMutableHashIterator(QHash &container) : c(&container) 32020: { 32020: i = c->begin(); 32020: n = c->end(); 32020: } 32020: inline QMutableHashIterator &operator=(QHash &container) 32020: { 32020: c = &container; 32020: i = c->begin(); 32020: n = c->end(); 32020: return *this; 32020: } 32020: inline void toFront() 32020: { 32020: i = c->begin(); 32020: n = c->end(); 32020: } 32020: inline void toBack() 32020: { 32020: i = c->end(); 32020: n = c->end(); 32020: } 32020: inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } 32020: inline Item next() 32020: { 32020: n = i++; 32020: return n; 32020: } 32020: inline Item peekNext() const { return i; } 32020: inline void remove() 32020: { 32020: if (const_iterator(n) != c->constEnd()) { 32020: i = c->erase(n); 32020: n = c->end(); 32020: } 32020: } 32020: inline void setValue(const T &t) 32020: { 32020: if (const_iterator(n) != c->constEnd()) 32020: *n = t; 32020: } 32020: inline T &value() 32020: { 32020: static_cast(false && (item_exists())); 32020: return *n; 32020: } 32020: inline const T &value() const 32020: { 32020: static_cast(false && (item_exists())); 32020: return *n; 32020: } 32020: inline const Key &key() const 32020: { 32020: static_cast(false && (item_exists())); 32020: return n.key(); 32020: } 32020: inline bool findNext(const T &t) 32020: { 32020: while (const_iterator(n = i) != c->constEnd()) 32020: if (*i++ == t) 32020: return true; 32020: return false; 32020: } 32020: 32020: inline __attribute__ ((__deprecated__)) bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } 32020: inline __attribute__ ((__deprecated__)) Item previous() 32020: { 32020: n = --i; 32020: return n; 32020: } 32020: inline __attribute__ ((__deprecated__)) Item peekPrevious() const 32020: { 32020: iterator p = i; 32020: return --p; 32020: } 32020: inline __attribute__ ((__deprecated__)) bool findPrevious(const T &t) 32020: { 32020: while (const_iterator(i) != c->constBegin()) 32020: if (*(n = --i) == t) 32020: return true; 32020: n = c->end(); 32020: return false; 32020: } 32020: 32020: }; 32020: 32020: 32020: template 32020: uint qHash(const QHash &key, uint seed = 0) 32020: noexcept(noexcept(qHash(std::declval())) && noexcept(qHash(std::declval()))) 32020: { 32020: QtPrivate::QHashCombineCommutative hash; 32020: for (auto it = key.begin(), end = key.end(); it != end; ++it) { 32020: const Key &k = it.key(); 32020: const T &v = it.value(); 32020: seed = hash(seed, std::pair(k, v)); 32020: } 32020: return seed; 32020: } 32020: 32020: template 32020: inline uint qHash(const QMultiHash &key, uint seed = 0) 32020: noexcept(noexcept(qHash(std::declval())) && noexcept(qHash(std::declval()))) 32020: { 32020: const QHash &key2 = key; 32020: return qHash(key2, seed); 32020: } 32020: 32020: 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qshareddata.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: template class QSharedDataPointer; 32020: 32020: class 32020: 32020: __attribute__((visibility("default"))) 32020: 32020: QSharedData 32020: { 32020: public: 32020: mutable QAtomicInt ref; 32020: 32020: inline QSharedData() noexcept : ref(0) { } 32020: inline QSharedData(const QSharedData &) noexcept : ref(0) { } 32020: 32020: 32020: QSharedData &operator=(const QSharedData &) = delete; 32020: ~QSharedData() = default; 32020: }; 32020: 32020: template class QSharedDataPointer 32020: { 32020: public: 32020: typedef T Type; 32020: typedef T *pointer; 32020: 32020: inline void detach() { if (d && d->ref.loadRelaxed() != 1) detach_helper(); } 32020: inline T &operator*() { detach(); return *d; } 32020: inline const T &operator*() const { return *d; } 32020: inline T *operator->() { detach(); return d; } 32020: inline const T *operator->() const { return d; } 32020: inline operator T *() { detach(); return d; } 32020: inline operator const T *() const { return d; } 32020: inline T *data() { detach(); return d; } 32020: inline const T *data() const { return d; } 32020: inline const T *constData() const { return d; } 32020: 32020: inline bool operator==(const QSharedDataPointer &other) const { return d == other.d; } 32020: inline bool operator!=(const QSharedDataPointer &other) const { return d != other.d; } 32020: 32020: inline QSharedDataPointer() { d = nullptr; } 32020: inline ~QSharedDataPointer() { if (d && !d->ref.deref()) delete d; } 32020: 32020: explicit QSharedDataPointer(T *data) noexcept; 32020: inline QSharedDataPointer(const QSharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } 32020: inline QSharedDataPointer & operator=(const QSharedDataPointer &o) { 32020: if (o.d != d) { 32020: if (o.d) 32020: o.d->ref.ref(); 32020: T *old = d; 32020: d = o.d; 32020: if (old && !old->ref.deref()) 32020: delete old; 32020: } 32020: return *this; 32020: } 32020: inline QSharedDataPointer &operator=(T *o) { 32020: if (o != d) { 32020: if (o) 32020: o->ref.ref(); 32020: T *old = d; 32020: d = o; 32020: if (old && !old->ref.deref()) 32020: delete old; 32020: } 32020: return *this; 32020: } 32020: QSharedDataPointer(QSharedDataPointer &&o) noexcept : d(o.d) { o.d = nullptr; } 32020: inline QSharedDataPointer &operator=(QSharedDataPointer &&other) noexcept 32020: { 32020: QSharedDataPointer moved(std::move(other)); 32020: swap(moved); 32020: return *this; 32020: } 32020: 32020: inline bool operator!() const { return !d; } 32020: 32020: inline void swap(QSharedDataPointer &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: protected: 32020: T *clone(); 32020: 32020: private: 32020: void detach_helper(); 32020: 32020: T *d; 32020: }; 32020: 32020: template inline bool operator==(std::nullptr_t p1, const QSharedDataPointer &p2) 32020: { 32020: (void)p1;; 32020: return !p2; 32020: } 32020: 32020: template inline bool operator==(const QSharedDataPointer &p1, std::nullptr_t p2) 32020: { 32020: (void)p2;; 32020: return !p1; 32020: } 32020: 32020: template class QExplicitlySharedDataPointer 32020: { 32020: public: 32020: typedef T Type; 32020: typedef T *pointer; 32020: 32020: inline T &operator*() const { return *d; } 32020: inline T *operator->() { return d; } 32020: inline T *operator->() const { return d; } 32020: inline T *data() const { return d; } 32020: inline const T *constData() const { return d; } 32020: inline T *take() { T *x = d; d = nullptr; return x; } 32020: 32020: inline void detach() { if (d && d->ref.loadRelaxed() != 1) detach_helper(); } 32020: 32020: inline void reset() 32020: { 32020: if(d && !d->ref.deref()) 32020: delete d; 32020: 32020: d = nullptr; 32020: } 32020: 32020: inline operator bool () const { return d != nullptr; } 32020: 32020: inline bool operator==(const QExplicitlySharedDataPointer &other) const { return d == other.d; } 32020: inline bool operator!=(const QExplicitlySharedDataPointer &other) const { return d != other.d; } 32020: inline bool operator==(const T *ptr) const { return d == ptr; } 32020: inline bool operator!=(const T *ptr) const { return d != ptr; } 32020: 32020: inline QExplicitlySharedDataPointer() { d = nullptr; } 32020: inline ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref()) delete d; } 32020: 32020: explicit QExplicitlySharedDataPointer(T *data) noexcept; 32020: inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } 32020: 32020: template 32020: inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) 32020: 32020: 32020: 32020: : d(o.data()) 32020: 32020: { 32020: if(d) 32020: d->ref.ref(); 32020: } 32020: 32020: inline QExplicitlySharedDataPointer & operator=(const QExplicitlySharedDataPointer &o) { 32020: if (o.d != d) { 32020: if (o.d) 32020: o.d->ref.ref(); 32020: T *old = d; 32020: d = o.d; 32020: if (old && !old->ref.deref()) 32020: delete old; 32020: } 32020: return *this; 32020: } 32020: inline QExplicitlySharedDataPointer &operator=(T *o) { 32020: if (o != d) { 32020: if (o) 32020: o->ref.ref(); 32020: T *old = d; 32020: d = o; 32020: if (old && !old->ref.deref()) 32020: delete old; 32020: } 32020: return *this; 32020: } 32020: inline QExplicitlySharedDataPointer(QExplicitlySharedDataPointer &&o) noexcept : d(o.d) { o.d = nullptr; } 32020: inline QExplicitlySharedDataPointer &operator=(QExplicitlySharedDataPointer &&other) noexcept 32020: { 32020: QExplicitlySharedDataPointer moved(std::move(other)); 32020: swap(moved); 32020: return *this; 32020: } 32020: 32020: inline bool operator!() const { return !d; } 32020: 32020: inline void swap(QExplicitlySharedDataPointer &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: protected: 32020: T *clone(); 32020: 32020: private: 32020: void detach_helper(); 32020: 32020: T *d; 32020: }; 32020: 32020: template 32020: inline QSharedDataPointer::QSharedDataPointer(T *adata) noexcept 32020: : d(adata) 32020: { if (d) d->ref.ref(); } 32020: 32020: template 32020: inline T *QSharedDataPointer::clone() 32020: { 32020: return new T(*d); 32020: } 32020: 32020: template 32020: void QSharedDataPointer::detach_helper() 32020: { 32020: T *x = clone(); 32020: x->ref.ref(); 32020: if (!d->ref.deref()) 32020: delete d; 32020: d = x; 32020: } 32020: 32020: template 32020: inline T *QExplicitlySharedDataPointer::clone() 32020: { 32020: return new T(*d); 32020: } 32020: 32020: template 32020: void QExplicitlySharedDataPointer::detach_helper() 32020: { 32020: T *x = clone(); 32020: x->ref.ref(); 32020: if (!d->ref.deref()) 32020: delete d; 32020: d = x; 32020: } 32020: 32020: template 32020: inline QExplicitlySharedDataPointer::QExplicitlySharedDataPointer(T *adata) noexcept 32020: : d(adata) 32020: { if (d) d->ref.ref(); } 32020: 32020: template inline bool operator==(std::nullptr_t p1, const QExplicitlySharedDataPointer &p2) 32020: { 32020: (void)p1;; 32020: return !p2; 32020: } 32020: 32020: template inline bool operator==(const QExplicitlySharedDataPointer &p1, std::nullptr_t p2) 32020: { 32020: (void)p2;; 32020: return !p1; 32020: } 32020: 32020: template 32020: inline void swap(QSharedDataPointer &p1, QSharedDataPointer &p2) 32020: { p1.swap(p2); } 32020: 32020: template 32020: inline void swap(QExplicitlySharedDataPointer &p1, QExplicitlySharedDataPointer &p2) 32020: { p1.swap(p2); } 32020: 32020: template 32020: inline uint qHash(const QSharedDataPointer &ptr, uint seed = 0) noexcept 32020: { 32020: return qHash(ptr.data(), seed); 32020: } 32020: template 32020: inline uint qHash(const QExplicitlySharedDataPointer &ptr, uint seed = 0) noexcept 32020: { 32020: return qHash(ptr.data(), seed); 32020: } 32020: 32020: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial >(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable >(), 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"; } }; 32020: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial >(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable >(), 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"; } }; 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 1 3 4 32020: # 64 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 65 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 1 3 4 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvarlengtharray.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvarlengtharray.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainerfwd.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainerfwd.h" 3 4 32020: 32020: 32020: 32020: template class QCache; 32020: template class QHash; 32020: 32020: template class QLinkedList; 32020: 32020: template class QList; 32020: template class QMap; 32020: template class QMultiHash; 32020: template class QMultiMap; 32020: template struct QPair; 32020: template class QQueue; 32020: template class QSet; 32020: template class QStack; 32020: template class QVarLengthArray; 32020: template class QVector; 32020: using QByteArrayList = QList; 32020: class QStringList; 32020: 32020: 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvarlengtharray.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvarlengtharray.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/stdlib.h" 1 3 4 32020: # 55 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvarlengtharray.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class QVarLengthArray 32020: { 32020: public: 32020: QVarLengthArray() : QVarLengthArray(0) {} 32020: 32020: inline explicit QVarLengthArray(int size); 32020: 32020: inline QVarLengthArray(const QVarLengthArray &other) 32020: : a(Prealloc), s(0), ptr(reinterpret_cast(array)) 32020: { 32020: append(other.constData(), other.size()); 32020: } 32020: 32020: QVarLengthArray(std::initializer_list args) 32020: : QVarLengthArray(args.begin(), args.end()) 32020: { 32020: } 32020: 32020: template = true> 32020: inline QVarLengthArray(InputIterator first, InputIterator last) 32020: : QVarLengthArray() 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, first, last); 32020: std::copy(first, last, std::back_inserter(*this)); 32020: } 32020: 32020: inline ~QVarLengthArray() { 32020: if (QTypeInfo::isComplex) { 32020: T *i = ptr + s; 32020: while (i-- != ptr) 32020: i->~T(); 32020: } 32020: if (ptr != reinterpret_cast(array)) 32020: free(ptr); 32020: } 32020: inline QVarLengthArray &operator=(const QVarLengthArray &other) 32020: { 32020: if (this != &other) { 32020: clear(); 32020: append(other.constData(), other.size()); 32020: } 32020: return *this; 32020: } 32020: 32020: QVarLengthArray &operator=(std::initializer_list list) 32020: { 32020: resize(int(list.size())); 32020: std::copy(list.begin(), list.end(), 32020: (this->begin())); 32020: return *this; 32020: } 32020: 32020: inline void removeLast() { 32020: static_cast(false && (s > 0)); 32020: if (QTypeInfo::isComplex) 32020: ptr[s - 1].~T(); 32020: --s; 32020: } 32020: inline int size() const { return s; } 32020: inline int count() const { return s; } 32020: inline int length() const { return s; } 32020: inline T& first() { static_cast(false && (!isEmpty())); return *begin(); } 32020: inline const T& first() const { static_cast(false && (!isEmpty())); return *begin(); } 32020: T& last() { static_cast(false && (!isEmpty())); return *(end() - 1); } 32020: const T& last() const { static_cast(false && (!isEmpty())); return *(end() - 1); } 32020: inline bool isEmpty() const { return (s == 0); } 32020: inline void resize(int size); 32020: inline void clear() { resize(0); } 32020: inline void squeeze(); 32020: 32020: inline int capacity() const { return a; } 32020: inline void reserve(int size); 32020: 32020: inline int indexOf(const T &t, int from = 0) const; 32020: inline int lastIndexOf(const T &t, int from = -1) const; 32020: inline bool contains(const T &t) const; 32020: 32020: inline T &operator[](int idx) { 32020: static_cast(false && (idx >= 0 && idx < s)); 32020: return ptr[idx]; 32020: } 32020: inline const T &operator[](int idx) const { 32020: static_cast(false && (idx >= 0 && idx < s)); 32020: return ptr[idx]; 32020: } 32020: inline const T &at(int idx) const { return operator[](idx); } 32020: 32020: T value(int i) const; 32020: T value(int i, const T &defaultValue) const; 32020: 32020: inline void append(const T &t) { 32020: if (s == a) { 32020: T copy(t); 32020: realloc(s, s<<1); 32020: const int idx = s++; 32020: if (QTypeInfo::isComplex) { 32020: new (ptr + idx) T(std::move(copy)); 32020: } else { 32020: ptr[idx] = std::move(copy); 32020: } 32020: } else { 32020: const int idx = s++; 32020: if (QTypeInfo::isComplex) { 32020: new (ptr + idx) T(t); 32020: } else { 32020: ptr[idx] = t; 32020: } 32020: } 32020: } 32020: 32020: void append(T &&t) { 32020: if (s == a) 32020: realloc(s, s << 1); 32020: const int idx = s++; 32020: if (QTypeInfo::isComplex) 32020: new (ptr + idx) T(std::move(t)); 32020: else 32020: ptr[idx] = std::move(t); 32020: } 32020: 32020: void append(const T *buf, int size); 32020: inline QVarLengthArray &operator<<(const T &t) 32020: { append(t); return *this; } 32020: inline QVarLengthArray &operator<<(T &&t) 32020: { append(std::move(t)); return *this; } 32020: inline QVarLengthArray &operator+=(const T &t) 32020: { append(t); return *this; } 32020: inline QVarLengthArray &operator+=(T &&t) 32020: { append(std::move(t)); return *this; } 32020: 32020: void prepend(T &&t); 32020: void prepend(const T &t); 32020: void insert(int i, T &&t); 32020: void insert(int i, const T &t); 32020: void insert(int i, int n, const T &t); 32020: void replace(int i, const T &t); 32020: void remove(int i); 32020: void remove(int i, int n); 32020: 32020: 32020: inline T *data() { return ptr; } 32020: inline const T *data() const { return ptr; } 32020: inline const T * constData() const { return ptr; } 32020: typedef int size_type; 32020: typedef T value_type; 32020: typedef value_type *pointer; 32020: typedef const value_type *const_pointer; 32020: typedef value_type &reference; 32020: typedef const value_type &const_reference; 32020: typedef qptrdiff difference_type; 32020: 32020: 32020: typedef T* iterator; 32020: typedef const T* const_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: inline iterator begin() { return ptr; } 32020: inline const_iterator begin() const { return ptr; } 32020: inline const_iterator cbegin() const { return ptr; } 32020: inline const_iterator constBegin() const { return ptr; } 32020: inline iterator end() { return ptr + s; } 32020: inline const_iterator end() const { return ptr + s; } 32020: inline const_iterator cend() const { return ptr + s; } 32020: inline const_iterator constEnd() const { return ptr + s; } 32020: reverse_iterator rbegin() { return reverse_iterator(end()); } 32020: reverse_iterator rend() { return reverse_iterator(begin()); } 32020: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 32020: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 32020: iterator insert(const_iterator before, int n, const T &x); 32020: iterator insert(const_iterator before, T &&x); 32020: inline iterator insert(const_iterator before, const T &x) { return insert(before, 1, x); } 32020: iterator erase(const_iterator begin, const_iterator end); 32020: inline iterator erase(const_iterator pos) { return erase(pos, pos+1); } 32020: 32020: 32020: inline bool empty() const { return isEmpty(); } 32020: inline void push_back(const T &t) { append(t); } 32020: void push_back(T &&t) { append(std::move(t)); } 32020: inline void pop_back() { removeLast(); } 32020: inline T &front() { return first(); } 32020: inline const T &front() const { return first(); } 32020: inline T &back() { return last(); } 32020: inline const T &back() const { return last(); } 32020: void shrink_to_fit() { squeeze(); } 32020: 32020: private: 32020: void realloc(int size, int alloc); 32020: 32020: int a; 32020: int s; 32020: T *ptr; 32020: union { 32020: char array[Prealloc * sizeof(T)]; 32020: qint64 q_for_alignment_1; 32020: double q_for_alignment_2; 32020: }; 32020: 32020: bool isValidIterator(const const_iterator &i) const 32020: { 32020: const std::less less = {}; 32020: return !less(cend(), i) && !less(i, cbegin()); 32020: } 32020: }; 32020: 32020: 32020: template ::value_type, 32020: QtPrivate::IfIsInputIterator = true> 32020: QVarLengthArray(InputIterator, InputIterator) -> QVarLengthArray; 32020: 32020: 32020: template 32020: inline QVarLengthArray::QVarLengthArray(int asize) 32020: : s(asize) { 32020: static_assert(bool(Prealloc > 0), "QVarLengthArray Prealloc must be greater than 0."); 32020: static_cast(false && (s >= 0)); 32020: if (s > Prealloc) { 32020: ptr = reinterpret_cast(malloc(s * sizeof(T))); 32020: do { if (!(ptr)) qBadAlloc(); } while (false); 32020: a = s; 32020: } else { 32020: ptr = reinterpret_cast(array); 32020: a = Prealloc; 32020: } 32020: if (QTypeInfo::isComplex) { 32020: T *i = ptr + s; 32020: while (i != ptr) 32020: new (--i) T; 32020: } 32020: } 32020: 32020: template 32020: inline void QVarLengthArray::resize(int asize) 32020: { realloc(asize, qMax(asize, a)); } 32020: 32020: template 32020: inline void QVarLengthArray::reserve(int asize) 32020: { if (asize > a) realloc(s, asize); } 32020: 32020: template 32020: inline int QVarLengthArray::indexOf(const T &t, int from) const 32020: { 32020: if (from < 0) 32020: from = qMax(from + s, 0); 32020: if (from < s) { 32020: T *n = ptr + from - 1; 32020: T *e = ptr + s; 32020: while (++n != e) 32020: if (*n == t) 32020: return n - ptr; 32020: } 32020: return -1; 32020: } 32020: 32020: template 32020: inline int QVarLengthArray::lastIndexOf(const T &t, int from) const 32020: { 32020: if (from < 0) 32020: from += s; 32020: else if (from >= s) 32020: from = s - 1; 32020: if (from >= 0) { 32020: T *b = ptr; 32020: T *n = ptr + from + 1; 32020: while (n != b) { 32020: if (*--n == t) 32020: return n - b; 32020: } 32020: } 32020: return -1; 32020: } 32020: 32020: template 32020: inline bool QVarLengthArray::contains(const T &t) const 32020: { 32020: T *b = ptr; 32020: T *i = ptr + s; 32020: while (i != b) { 32020: if (*--i == t) 32020: return true; 32020: } 32020: return false; 32020: } 32020: 32020: template 32020: void QVarLengthArray::append(const T *abuf, int increment) 32020: { 32020: static_cast(false && (abuf)); 32020: if (increment <= 0) 32020: return; 32020: 32020: const int asize = s + increment; 32020: 32020: if (asize >= a) 32020: realloc(s, qMax(s*2, asize)); 32020: 32020: if (QTypeInfo::isComplex) { 32020: 32020: while (s < asize) 32020: new (ptr+(s++)) T(*abuf++); 32020: } else { 32020: memcpy(static_cast(&ptr[s]), static_cast(abuf), increment * sizeof(T)); 32020: s = asize; 32020: } 32020: } 32020: 32020: template 32020: inline void QVarLengthArray::squeeze() 32020: { realloc(s, s); } 32020: 32020: template 32020: void QVarLengthArray::realloc(int asize, int aalloc) 32020: { 32020: static_cast(false && (aalloc >= asize)); 32020: T *oldPtr = ptr; 32020: int osize = s; 32020: 32020: const int copySize = qMin(asize, osize); 32020: do { const bool valueOfExpression = copySize >= 0; static_cast(false && (valueOfExpression)); if (valueOfExpression){} else __builtin_unreachable(); } while (false); 32020: if (aalloc != a) { 32020: if (aalloc > Prealloc) { 32020: T* newPtr = reinterpret_cast(malloc(aalloc * sizeof(T))); 32020: do { if (!(newPtr)) qBadAlloc(); } while (false); 32020: 32020: ptr = newPtr; 32020: a = aalloc; 32020: } else { 32020: ptr = reinterpret_cast(array); 32020: a = Prealloc; 32020: } 32020: s = 0; 32020: if (!QTypeInfoQuery::isRelocatable) { 32020: try { 32020: 32020: while (s < copySize) { 32020: new (ptr+s) T(std::move(*(oldPtr+s))); 32020: (oldPtr+s)->~T(); 32020: s++; 32020: } 32020: } catch (...) { 32020: 32020: int sClean = s; 32020: while (sClean < osize) 32020: (oldPtr+(sClean++))->~T(); 32020: if (oldPtr != reinterpret_cast(array) && oldPtr != ptr) 32020: free(oldPtr); 32020: throw; 32020: } 32020: } else { 32020: memcpy(static_cast(ptr), static_cast(oldPtr), copySize * sizeof(T)); 32020: } 32020: } 32020: s = copySize; 32020: 32020: if (QTypeInfo::isComplex) { 32020: 32020: while (osize > asize) 32020: (oldPtr+(--osize))->~T(); 32020: } 32020: 32020: if (oldPtr != reinterpret_cast(array) && oldPtr != ptr) 32020: free(oldPtr); 32020: 32020: if (QTypeInfo::isComplex) { 32020: 32020: while (s < asize) 32020: new (ptr+(s++)) T; 32020: } else { 32020: s = asize; 32020: } 32020: } 32020: 32020: template 32020: T QVarLengthArray::value(int i) const 32020: { 32020: if (uint(i) >= uint(size())) { 32020: return T(); 32020: } 32020: return at(i); 32020: } 32020: template 32020: T QVarLengthArray::value(int i, const T &defaultValue) const 32020: { 32020: return (uint(i) >= uint(size())) ? defaultValue : at(i); 32020: } 32020: 32020: template 32020: inline void QVarLengthArray::insert(int i, T &&t) 32020: { static_cast(false && (i >= 0 && i <= s)); 32020: insert(cbegin() + i, std::move(t)); } 32020: template 32020: inline void QVarLengthArray::insert(int i, const T &t) 32020: { static_cast(false && (i >= 0 && i <= s)); 32020: insert(begin() + i, 1, t); } 32020: template 32020: inline void QVarLengthArray::insert(int i, int n, const T &t) 32020: { static_cast(false && (i >= 0 && i <= s)); 32020: insert(begin() + i, n, t); } 32020: template 32020: inline void QVarLengthArray::remove(int i, int n) 32020: { static_cast(false && (i >= 0 && n >= 0 && i + n <= s)); 32020: erase(begin() + i, begin() + i + n); } 32020: template 32020: inline void QVarLengthArray::remove(int i) 32020: { static_cast(false && (i >= 0 && i < s)); 32020: erase(begin() + i, begin() + i + 1); } 32020: template 32020: inline void QVarLengthArray::prepend(T &&t) 32020: { insert(cbegin(), std::move(t)); } 32020: template 32020: inline void QVarLengthArray::prepend(const T &t) 32020: { insert(begin(), 1, t); } 32020: 32020: template 32020: inline void QVarLengthArray::replace(int i, const T &t) 32020: { 32020: static_cast(false && (i >= 0 && i < s)); 32020: const T copy(t); 32020: data()[i] = copy; 32020: } 32020: 32020: template 32020: typename QVarLengthArray::iterator QVarLengthArray::insert(const_iterator before, T &&t) 32020: { 32020: static_cast(false && (isValidIterator(before))); 32020: 32020: int offset = int(before - ptr); 32020: reserve(s + 1); 32020: if (!QTypeInfo::isRelocatable) { 32020: T *b = ptr + offset; 32020: T *i = ptr + s; 32020: T *j = i + 1; 32020: 32020: if (i != b) { 32020: new (--j) T(std::move(*--i)); 32020: while (i != b) 32020: *--j = std::move(*--i); 32020: *b = std::move(t); 32020: } else { 32020: new (b) T(std::move(t)); 32020: } 32020: } else { 32020: T *b = ptr + offset; 32020: memmove(static_cast(b + 1), static_cast(b), (s - offset) * sizeof(T)); 32020: new (b) T(std::move(t)); 32020: } 32020: s += 1; 32020: return ptr + offset; 32020: } 32020: 32020: template 32020: typename QVarLengthArray::iterator QVarLengthArray::insert(const_iterator before, size_type n, const T &t) 32020: { 32020: static_cast(false && (isValidIterator(before))); 32020: 32020: int offset = int(before - ptr); 32020: if (n != 0) { 32020: resize(s + n); 32020: const T copy(t); 32020: if (!QTypeInfoQuery::isRelocatable) { 32020: T *b = ptr + offset; 32020: T *j = ptr + s; 32020: T *i = j - n; 32020: while (i != b) 32020: *--j = *--i; 32020: i = b + n; 32020: while (i != b) 32020: *--i = copy; 32020: } else { 32020: T *b = ptr + offset; 32020: T *i = b + n; 32020: memmove(static_cast(i), static_cast(b), (s - offset - n) * sizeof(T)); 32020: while (i != b) 32020: new (--i) T(copy); 32020: } 32020: } 32020: return ptr + offset; 32020: } 32020: 32020: template 32020: typename QVarLengthArray::iterator QVarLengthArray::erase(const_iterator abegin, const_iterator aend) 32020: { 32020: static_cast(false && (isValidIterator(abegin))); 32020: static_cast(false && (isValidIterator(aend))); 32020: 32020: int f = int(abegin - ptr); 32020: int l = int(aend - ptr); 32020: int n = l - f; 32020: if (QTypeInfo::isComplex) { 32020: std::copy(ptr + l, ptr + s, (ptr + f)); 32020: T *i = ptr + s; 32020: T *b = ptr + s - n; 32020: while (i != b) { 32020: --i; 32020: i->~T(); 32020: } 32020: } else { 32020: memmove(static_cast(ptr + f), static_cast(ptr + l), (s - l) * sizeof(T)); 32020: } 32020: s -= n; 32020: return ptr + f; 32020: } 32020: 32020: template 32020: bool operator==(const QVarLengthArray &l, const QVarLengthArray &r) 32020: { 32020: if (l.size() != r.size()) 32020: return false; 32020: const T *rb = r.begin(); 32020: const T *b = l.begin(); 32020: const T *e = l.end(); 32020: return std::equal(b, e, (rb)); 32020: } 32020: 32020: template 32020: bool operator!=(const QVarLengthArray &l, const QVarLengthArray &r) 32020: { 32020: return !(l == r); 32020: } 32020: 32020: template 32020: bool operator<(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 32020: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), 32020: rhs.begin(), rhs.end()))) 32020: { 32020: return std::lexicographical_compare(lhs.begin(), lhs.end(), 32020: rhs.begin(), rhs.end()); 32020: } 32020: 32020: template 32020: inline bool operator>(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return rhs < lhs; 32020: } 32020: 32020: template 32020: inline bool operator<=(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return !(lhs > rhs); 32020: } 32020: 32020: template 32020: inline bool operator>=(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 32020: noexcept(noexcept(lhs < rhs)) 32020: { 32020: return !(lhs < rhs); 32020: } 32020: 32020: template 32020: uint qHash(const QVarLengthArray &key, uint seed = 0) 32020: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 32020: { 32020: return qHashRange(key.cbegin(), key.cend(), seed); 32020: } 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/map" 1 3 4 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/map" 3 4 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/map" 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 1 3 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: # 75 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 99 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: enum _Rb_tree_color { _S_red = false, _S_black = true }; 32020: 32020: struct _Rb_tree_node_base 32020: { 32020: typedef _Rb_tree_node_base* _Base_ptr; 32020: typedef const _Rb_tree_node_base* _Const_Base_ptr; 32020: 32020: _Rb_tree_color _M_color; 32020: _Base_ptr _M_parent; 32020: _Base_ptr _M_left; 32020: _Base_ptr _M_right; 32020: 32020: static _Base_ptr 32020: _S_minimum(_Base_ptr __x) noexcept 32020: { 32020: while (__x->_M_left != 0) __x = __x->_M_left; 32020: return __x; 32020: } 32020: 32020: static _Const_Base_ptr 32020: _S_minimum(_Const_Base_ptr __x) noexcept 32020: { 32020: while (__x->_M_left != 0) __x = __x->_M_left; 32020: return __x; 32020: } 32020: 32020: static _Base_ptr 32020: _S_maximum(_Base_ptr __x) noexcept 32020: { 32020: while (__x->_M_right != 0) __x = __x->_M_right; 32020: return __x; 32020: } 32020: 32020: static _Const_Base_ptr 32020: _S_maximum(_Const_Base_ptr __x) noexcept 32020: { 32020: while (__x->_M_right != 0) __x = __x->_M_right; 32020: return __x; 32020: } 32020: }; 32020: 32020: 32020: template 32020: struct _Rb_tree_key_compare 32020: { 32020: _Key_compare _M_key_compare; 32020: 32020: _Rb_tree_key_compare() 32020: noexcept(is_nothrow_default_constructible<_Key_compare>::value) 32020: 32020: : _M_key_compare() 32020: { } 32020: 32020: _Rb_tree_key_compare(const _Key_compare& __comp) 32020: : _M_key_compare(__comp) 32020: { } 32020: 32020: 32020: 32020: _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default; 32020: 32020: _Rb_tree_key_compare(_Rb_tree_key_compare&& __x) 32020: noexcept(is_nothrow_copy_constructible<_Key_compare>::value) 32020: : _M_key_compare(__x._M_key_compare) 32020: { } 32020: 32020: }; 32020: 32020: 32020: struct _Rb_tree_header 32020: { 32020: _Rb_tree_node_base _M_header; 32020: size_t _M_node_count; 32020: 32020: _Rb_tree_header() noexcept 32020: { 32020: _M_header._M_color = _S_red; 32020: _M_reset(); 32020: } 32020: 32020: 32020: _Rb_tree_header(_Rb_tree_header&& __x) noexcept 32020: { 32020: if (__x._M_header._M_parent != nullptr) 32020: _M_move_data(__x); 32020: else 32020: { 32020: _M_header._M_color = _S_red; 32020: _M_reset(); 32020: } 32020: } 32020: 32020: 32020: void 32020: _M_move_data(_Rb_tree_header& __from) 32020: { 32020: _M_header._M_color = __from._M_header._M_color; 32020: _M_header._M_parent = __from._M_header._M_parent; 32020: _M_header._M_left = __from._M_header._M_left; 32020: _M_header._M_right = __from._M_header._M_right; 32020: _M_header._M_parent->_M_parent = &_M_header; 32020: _M_node_count = __from._M_node_count; 32020: 32020: __from._M_reset(); 32020: } 32020: 32020: void 32020: _M_reset() 32020: { 32020: _M_header._M_parent = 0; 32020: _M_header._M_left = &_M_header; 32020: _M_header._M_right = &_M_header; 32020: _M_node_count = 0; 32020: } 32020: }; 32020: 32020: template 32020: struct _Rb_tree_node : public _Rb_tree_node_base 32020: { 32020: typedef _Rb_tree_node<_Val>* _Link_type; 32020: # 231 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: __gnu_cxx::__aligned_membuf<_Val> _M_storage; 32020: 32020: _Val* 32020: _M_valptr() 32020: { return _M_storage._M_ptr(); } 32020: 32020: const _Val* 32020: _M_valptr() const 32020: { return _M_storage._M_ptr(); } 32020: 32020: }; 32020: 32020: __attribute__ ((__pure__)) _Rb_tree_node_base* 32020: _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); 32020: 32020: __attribute__ ((__pure__)) const _Rb_tree_node_base* 32020: _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); 32020: 32020: __attribute__ ((__pure__)) _Rb_tree_node_base* 32020: _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); 32020: 32020: __attribute__ ((__pure__)) const _Rb_tree_node_base* 32020: _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); 32020: 32020: template 32020: struct _Rb_tree_iterator 32020: { 32020: typedef _Tp value_type; 32020: typedef _Tp& reference; 32020: typedef _Tp* pointer; 32020: 32020: typedef bidirectional_iterator_tag iterator_category; 32020: typedef ptrdiff_t difference_type; 32020: 32020: typedef _Rb_tree_iterator<_Tp> _Self; 32020: typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; 32020: typedef _Rb_tree_node<_Tp>* _Link_type; 32020: 32020: _Rb_tree_iterator() noexcept 32020: : _M_node() { } 32020: 32020: explicit 32020: _Rb_tree_iterator(_Base_ptr __x) noexcept 32020: : _M_node(__x) { } 32020: 32020: reference 32020: operator*() const noexcept 32020: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return static_cast<_Link_type> (_M_node)->_M_valptr(); } 32020: 32020: _Self& 32020: operator++() noexcept 32020: { 32020: _M_node = _Rb_tree_increment(_M_node); 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator++(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _Rb_tree_increment(_M_node); 32020: return __tmp; 32020: } 32020: 32020: _Self& 32020: operator--() noexcept 32020: { 32020: _M_node = _Rb_tree_decrement(_M_node); 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator--(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _Rb_tree_decrement(_M_node); 32020: return __tmp; 32020: } 32020: 32020: friend bool 32020: operator==(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node == __y._M_node; } 32020: 32020: 32020: friend bool 32020: operator!=(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node != __y._M_node; } 32020: 32020: 32020: _Base_ptr _M_node; 32020: }; 32020: 32020: template 32020: struct _Rb_tree_const_iterator 32020: { 32020: typedef _Tp value_type; 32020: typedef const _Tp& reference; 32020: typedef const _Tp* pointer; 32020: 32020: typedef _Rb_tree_iterator<_Tp> iterator; 32020: 32020: typedef bidirectional_iterator_tag iterator_category; 32020: typedef ptrdiff_t difference_type; 32020: 32020: typedef _Rb_tree_const_iterator<_Tp> _Self; 32020: typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; 32020: typedef const _Rb_tree_node<_Tp>* _Link_type; 32020: 32020: _Rb_tree_const_iterator() noexcept 32020: : _M_node() { } 32020: 32020: explicit 32020: _Rb_tree_const_iterator(_Base_ptr __x) noexcept 32020: : _M_node(__x) { } 32020: 32020: _Rb_tree_const_iterator(const iterator& __it) noexcept 32020: : _M_node(__it._M_node) { } 32020: 32020: iterator 32020: _M_const_cast() const noexcept 32020: { return iterator(const_cast(_M_node)); } 32020: 32020: reference 32020: operator*() const noexcept 32020: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return static_cast<_Link_type>(_M_node)->_M_valptr(); } 32020: 32020: _Self& 32020: operator++() noexcept 32020: { 32020: _M_node = _Rb_tree_increment(_M_node); 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator++(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _Rb_tree_increment(_M_node); 32020: return __tmp; 32020: } 32020: 32020: _Self& 32020: operator--() noexcept 32020: { 32020: _M_node = _Rb_tree_decrement(_M_node); 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator--(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: _M_node = _Rb_tree_decrement(_M_node); 32020: return __tmp; 32020: } 32020: 32020: friend bool 32020: operator==(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node == __y._M_node; } 32020: 32020: 32020: friend bool 32020: operator!=(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_node != __y._M_node; } 32020: 32020: 32020: _Base_ptr _M_node; 32020: }; 32020: 32020: void 32020: _Rb_tree_insert_and_rebalance(const bool __insert_left, 32020: _Rb_tree_node_base* __x, 32020: _Rb_tree_node_base* __p, 32020: _Rb_tree_node_base& __header) throw (); 32020: 32020: _Rb_tree_node_base* 32020: _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, 32020: _Rb_tree_node_base& __header) throw (); 32020: 32020: 32020: template> 32020: struct __has_is_transparent 32020: { }; 32020: 32020: template 32020: struct __has_is_transparent<_Cmp, _SfinaeType, 32020: __void_t> 32020: { typedef void type; }; 32020: 32020: template 32020: using __has_is_transparent_t 32020: = typename __has_is_transparent<_Cmp, _SfinaeType>::type; 32020: 32020: 32020: 32020: template 32020: struct _Rb_tree_merge_helper { }; 32020: 32020: 32020: template > 32020: class _Rb_tree 32020: { 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_Rb_tree_node<_Val> >::other _Node_allocator; 32020: 32020: typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; 32020: 32020: protected: 32020: typedef _Rb_tree_node_base* _Base_ptr; 32020: typedef const _Rb_tree_node_base* _Const_Base_ptr; 32020: typedef _Rb_tree_node<_Val>* _Link_type; 32020: typedef const _Rb_tree_node<_Val>* _Const_Link_type; 32020: 32020: private: 32020: 32020: 32020: struct _Reuse_or_alloc_node 32020: { 32020: _Reuse_or_alloc_node(_Rb_tree& __t) 32020: : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t) 32020: { 32020: if (_M_root) 32020: { 32020: _M_root->_M_parent = 0; 32020: 32020: if (_M_nodes->_M_left) 32020: _M_nodes = _M_nodes->_M_left; 32020: } 32020: else 32020: _M_nodes = 0; 32020: } 32020: 32020: 32020: _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete; 32020: 32020: 32020: ~_Reuse_or_alloc_node() 32020: { _M_t._M_erase(static_cast<_Link_type>(_M_root)); } 32020: 32020: template 32020: _Link_type 32020: 32020: 32020: 32020: operator()(_Arg&& __arg) 32020: 32020: { 32020: _Link_type __node = static_cast<_Link_type>(_M_extract()); 32020: if (__node) 32020: { 32020: _M_t._M_destroy_node(__node); 32020: _M_t._M_construct_node(__node, std::forward<_Arg>(__arg)); 32020: return __node; 32020: } 32020: 32020: return _M_t._M_create_node(std::forward<_Arg>(__arg)); 32020: } 32020: 32020: private: 32020: _Base_ptr 32020: _M_extract() 32020: { 32020: if (!_M_nodes) 32020: return _M_nodes; 32020: 32020: _Base_ptr __node = _M_nodes; 32020: _M_nodes = _M_nodes->_M_parent; 32020: if (_M_nodes) 32020: { 32020: if (_M_nodes->_M_right == __node) 32020: { 32020: _M_nodes->_M_right = 0; 32020: 32020: if (_M_nodes->_M_left) 32020: { 32020: _M_nodes = _M_nodes->_M_left; 32020: 32020: while (_M_nodes->_M_right) 32020: _M_nodes = _M_nodes->_M_right; 32020: 32020: if (_M_nodes->_M_left) 32020: _M_nodes = _M_nodes->_M_left; 32020: } 32020: } 32020: else 32020: _M_nodes->_M_left = 0; 32020: } 32020: else 32020: _M_root = 0; 32020: 32020: return __node; 32020: } 32020: 32020: _Base_ptr _M_root; 32020: _Base_ptr _M_nodes; 32020: _Rb_tree& _M_t; 32020: }; 32020: 32020: 32020: 32020: struct _Alloc_node 32020: { 32020: _Alloc_node(_Rb_tree& __t) 32020: : _M_t(__t) { } 32020: 32020: template 32020: _Link_type 32020: 32020: 32020: 32020: operator()(_Arg&& __arg) const 32020: 32020: { return _M_t._M_create_node(std::forward<_Arg>(__arg)); } 32020: 32020: private: 32020: _Rb_tree& _M_t; 32020: }; 32020: 32020: public: 32020: typedef _Key key_type; 32020: typedef _Val value_type; 32020: typedef value_type* pointer; 32020: typedef const value_type* const_pointer; 32020: typedef value_type& reference; 32020: typedef const value_type& const_reference; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Alloc allocator_type; 32020: 32020: _Node_allocator& 32020: _M_get_Node_allocator() noexcept 32020: { return this->_M_impl; } 32020: 32020: const _Node_allocator& 32020: _M_get_Node_allocator() const noexcept 32020: { return this->_M_impl; } 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_M_get_Node_allocator()); } 32020: 32020: protected: 32020: _Link_type 32020: _M_get_node() 32020: { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); } 32020: 32020: void 32020: _M_put_node(_Link_type __p) noexcept 32020: { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); } 32020: # 611 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: template 32020: void 32020: _M_construct_node(_Link_type __node, _Args&&... __args) 32020: { 32020: try 32020: { 32020: ::new(__node) _Rb_tree_node<_Val>; 32020: _Alloc_traits::construct(_M_get_Node_allocator(), 32020: __node->_M_valptr(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: catch(...) 32020: { 32020: __node->~_Rb_tree_node<_Val>(); 32020: _M_put_node(__node); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: _Link_type 32020: _M_create_node(_Args&&... __args) 32020: { 32020: _Link_type __tmp = _M_get_node(); 32020: _M_construct_node(__tmp, std::forward<_Args>(__args)...); 32020: return __tmp; 32020: } 32020: 32020: 32020: void 32020: _M_destroy_node(_Link_type __p) noexcept 32020: { 32020: 32020: 32020: 32020: _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr()); 32020: __p->~_Rb_tree_node<_Val>(); 32020: 32020: } 32020: 32020: void 32020: _M_drop_node(_Link_type __p) noexcept 32020: { 32020: _M_destroy_node(__p); 32020: _M_put_node(__p); 32020: } 32020: 32020: template 32020: _Link_type 32020: _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen) 32020: { 32020: _Link_type __tmp = __node_gen(*__x->_M_valptr()); 32020: __tmp->_M_color = __x->_M_color; 32020: __tmp->_M_left = 0; 32020: __tmp->_M_right = 0; 32020: return __tmp; 32020: } 32020: 32020: protected: 32020: 32020: 32020: 32020: 32020: template 32020: 32020: struct _Rb_tree_impl 32020: : public _Node_allocator 32020: , public _Rb_tree_key_compare<_Key_compare> 32020: , public _Rb_tree_header 32020: { 32020: typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare; 32020: 32020: _Rb_tree_impl() 32020: noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value) 32020: 32020: 32020: : _Node_allocator() 32020: { } 32020: 32020: _Rb_tree_impl(const _Rb_tree_impl& __x) 32020: : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x)) 32020: , _Base_key_compare(__x._M_key_compare) 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: _Rb_tree_impl(_Rb_tree_impl&&) = default; 32020: 32020: explicit 32020: _Rb_tree_impl(_Node_allocator&& __a) 32020: : _Node_allocator(std::move(__a)) 32020: { } 32020: 32020: _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a) 32020: : _Node_allocator(std::move(__a)), 32020: _Base_key_compare(std::move(__x)), 32020: _Rb_tree_header(std::move(__x)) 32020: { } 32020: 32020: _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a) 32020: : _Node_allocator(std::move(__a)), _Base_key_compare(__comp) 32020: { } 32020: 32020: }; 32020: 32020: _Rb_tree_impl<_Compare> _M_impl; 32020: 32020: protected: 32020: _Base_ptr& 32020: _M_root() noexcept 32020: { return this->_M_impl._M_header._M_parent; } 32020: 32020: _Const_Base_ptr 32020: _M_root() const noexcept 32020: { return this->_M_impl._M_header._M_parent; } 32020: 32020: _Base_ptr& 32020: _M_leftmost() noexcept 32020: { return this->_M_impl._M_header._M_left; } 32020: 32020: _Const_Base_ptr 32020: _M_leftmost() const noexcept 32020: { return this->_M_impl._M_header._M_left; } 32020: 32020: _Base_ptr& 32020: _M_rightmost() noexcept 32020: { return this->_M_impl._M_header._M_right; } 32020: 32020: _Const_Base_ptr 32020: _M_rightmost() const noexcept 32020: { return this->_M_impl._M_header._M_right; } 32020: 32020: _Link_type 32020: _M_begin() noexcept 32020: { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } 32020: 32020: _Const_Link_type 32020: _M_begin() const noexcept 32020: { 32020: return static_cast<_Const_Link_type> 32020: (this->_M_impl._M_header._M_parent); 32020: } 32020: 32020: _Base_ptr 32020: _M_end() noexcept 32020: { return &this->_M_impl._M_header; } 32020: 32020: _Const_Base_ptr 32020: _M_end() const noexcept 32020: { return &this->_M_impl._M_header; } 32020: 32020: static const _Key& 32020: _S_key(_Const_Link_type __x) 32020: { 32020: 32020: 32020: 32020: static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{}, 32020: "comparison object must be invocable " 32020: "with two arguments of key type"); 32020: 32020: 32020: 32020: if constexpr (__is_invocable<_Compare&, const _Key&, const _Key&>{}) 32020: static_assert( 32020: is_invocable_v, 32020: "comparison object must be invocable as const"); 32020: 32020: 32020: 32020: return _KeyOfValue()(*__x->_M_valptr()); 32020: } 32020: 32020: static _Link_type 32020: _S_left(_Base_ptr __x) noexcept 32020: { return static_cast<_Link_type>(__x->_M_left); } 32020: 32020: static _Const_Link_type 32020: _S_left(_Const_Base_ptr __x) noexcept 32020: { return static_cast<_Const_Link_type>(__x->_M_left); } 32020: 32020: static _Link_type 32020: _S_right(_Base_ptr __x) noexcept 32020: { return static_cast<_Link_type>(__x->_M_right); } 32020: 32020: static _Const_Link_type 32020: _S_right(_Const_Base_ptr __x) noexcept 32020: { return static_cast<_Const_Link_type>(__x->_M_right); } 32020: 32020: static const _Key& 32020: _S_key(_Const_Base_ptr __x) 32020: { return _S_key(static_cast<_Const_Link_type>(__x)); } 32020: 32020: static _Base_ptr 32020: _S_minimum(_Base_ptr __x) noexcept 32020: { return _Rb_tree_node_base::_S_minimum(__x); } 32020: 32020: static _Const_Base_ptr 32020: _S_minimum(_Const_Base_ptr __x) noexcept 32020: { return _Rb_tree_node_base::_S_minimum(__x); } 32020: 32020: static _Base_ptr 32020: _S_maximum(_Base_ptr __x) noexcept 32020: { return _Rb_tree_node_base::_S_maximum(__x); } 32020: 32020: static _Const_Base_ptr 32020: _S_maximum(_Const_Base_ptr __x) noexcept 32020: { return _Rb_tree_node_base::_S_maximum(__x); } 32020: 32020: public: 32020: typedef _Rb_tree_iterator iterator; 32020: typedef _Rb_tree_const_iterator const_iterator; 32020: 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: 32020: using node_type = _Node_handle<_Key, _Val, _Node_allocator>; 32020: using insert_return_type = _Node_insert_return< 32020: conditional_t, const_iterator, iterator>, 32020: node_type>; 32020: 32020: 32020: pair<_Base_ptr, _Base_ptr> 32020: _M_get_insert_unique_pos(const key_type& __k); 32020: 32020: pair<_Base_ptr, _Base_ptr> 32020: _M_get_insert_equal_pos(const key_type& __k); 32020: 32020: pair<_Base_ptr, _Base_ptr> 32020: _M_get_insert_hint_unique_pos(const_iterator __pos, 32020: const key_type& __k); 32020: 32020: pair<_Base_ptr, _Base_ptr> 32020: _M_get_insert_hint_equal_pos(const_iterator __pos, 32020: const key_type& __k); 32020: 32020: private: 32020: 32020: template 32020: iterator 32020: _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); 32020: 32020: iterator 32020: _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); 32020: 32020: template 32020: iterator 32020: _M_insert_lower(_Base_ptr __y, _Arg&& __v); 32020: 32020: template 32020: iterator 32020: _M_insert_equal_lower(_Arg&& __x); 32020: 32020: iterator 32020: _M_insert_lower_node(_Base_ptr __p, _Link_type __z); 32020: 32020: iterator 32020: _M_insert_equal_lower_node(_Link_type __z); 32020: # 889 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: template 32020: _Link_type 32020: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&); 32020: 32020: template 32020: _Link_type 32020: _M_copy(const _Rb_tree& __x, _NodeGen& __gen) 32020: { 32020: _Link_type __root = _M_copy(__x._M_begin(), _M_end(), __gen); 32020: _M_leftmost() = _S_minimum(__root); 32020: _M_rightmost() = _S_maximum(__root); 32020: _M_impl._M_node_count = __x._M_impl._M_node_count; 32020: return __root; 32020: } 32020: 32020: _Link_type 32020: _M_copy(const _Rb_tree& __x) 32020: { 32020: _Alloc_node __an(*this); 32020: return _M_copy(__x, __an); 32020: } 32020: 32020: void 32020: _M_erase(_Link_type __x); 32020: 32020: iterator 32020: _M_lower_bound(_Link_type __x, _Base_ptr __y, 32020: const _Key& __k); 32020: 32020: const_iterator 32020: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 32020: const _Key& __k) const; 32020: 32020: iterator 32020: _M_upper_bound(_Link_type __x, _Base_ptr __y, 32020: const _Key& __k); 32020: 32020: const_iterator 32020: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 32020: const _Key& __k) const; 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: _Rb_tree() = default; 32020: 32020: 32020: _Rb_tree(const _Compare& __comp, 32020: const allocator_type& __a = allocator_type()) 32020: : _M_impl(__comp, _Node_allocator(__a)) { } 32020: 32020: _Rb_tree(const _Rb_tree& __x) 32020: : _M_impl(__x._M_impl) 32020: { 32020: if (__x._M_root() != 0) 32020: _M_root() = _M_copy(__x); 32020: } 32020: 32020: 32020: _Rb_tree(const allocator_type& __a) 32020: : _M_impl(_Node_allocator(__a)) 32020: { } 32020: 32020: _Rb_tree(const _Rb_tree& __x, const allocator_type& __a) 32020: : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a)) 32020: { 32020: if (__x._M_root() != nullptr) 32020: _M_root() = _M_copy(__x); 32020: } 32020: 32020: _Rb_tree(_Rb_tree&&) = default; 32020: 32020: _Rb_tree(_Rb_tree&& __x, const allocator_type& __a) 32020: : _Rb_tree(std::move(__x), _Node_allocator(__a)) 32020: { } 32020: 32020: private: 32020: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type) 32020: noexcept(is_nothrow_default_constructible<_Compare>::value) 32020: : _M_impl(std::move(__x._M_impl), std::move(__a)) 32020: { } 32020: 32020: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type) 32020: : _M_impl(__x._M_impl._M_key_compare, std::move(__a)) 32020: { 32020: if (__x._M_root() != nullptr) 32020: _M_move_data(__x, false_type{}); 32020: } 32020: 32020: public: 32020: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) 32020: noexcept( noexcept( 32020: _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(), 32020: std::declval())) ) 32020: : _Rb_tree(std::move(__x), std::move(__a), 32020: typename _Alloc_traits::is_always_equal{}) 32020: { } 32020: 32020: 32020: ~_Rb_tree() noexcept 32020: { _M_erase(_M_begin()); } 32020: 32020: _Rb_tree& 32020: operator=(const _Rb_tree& __x); 32020: 32020: 32020: _Compare 32020: key_comp() const 32020: { return _M_impl._M_key_compare; } 32020: 32020: iterator 32020: begin() noexcept 32020: { return iterator(this->_M_impl._M_header._M_left); } 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return const_iterator(this->_M_impl._M_header._M_left); } 32020: 32020: iterator 32020: end() noexcept 32020: { return iterator(&this->_M_impl._M_header); } 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return const_iterator(&this->_M_impl._M_header); } 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(end()); } 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(end()); } 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(begin()); } 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(begin()); } 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return _M_impl._M_node_count == 0; } 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_impl._M_node_count; } 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _Alloc_traits::max_size(_M_get_Node_allocator()); } 32020: 32020: void 32020: swap(_Rb_tree& __t) 32020: noexcept(__is_nothrow_swappable<_Compare>::value); 32020: 32020: 32020: 32020: template 32020: pair 32020: _M_insert_unique(_Arg&& __x); 32020: 32020: template 32020: iterator 32020: _M_insert_equal(_Arg&& __x); 32020: 32020: template 32020: iterator 32020: _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); 32020: 32020: template 32020: iterator 32020: _M_insert_unique_(const_iterator __pos, _Arg&& __x) 32020: { 32020: _Alloc_node __an(*this); 32020: return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an); 32020: } 32020: 32020: template 32020: iterator 32020: _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&); 32020: 32020: template 32020: iterator 32020: _M_insert_equal_(const_iterator __pos, _Arg&& __x) 32020: { 32020: _Alloc_node __an(*this); 32020: return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an); 32020: } 32020: 32020: template 32020: pair 32020: _M_emplace_unique(_Args&&... __args); 32020: 32020: template 32020: iterator 32020: _M_emplace_equal(_Args&&... __args); 32020: 32020: template 32020: iterator 32020: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args); 32020: 32020: template 32020: iterator 32020: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args); 32020: 32020: template 32020: using __same_value_type 32020: = is_same::value_type>; 32020: 32020: template 32020: __enable_if_t<__same_value_type<_InputIterator>::value> 32020: _M_insert_range_unique(_InputIterator __first, _InputIterator __last) 32020: { 32020: _Alloc_node __an(*this); 32020: for (; __first != __last; ++__first) 32020: _M_insert_unique_(end(), *__first, __an); 32020: } 32020: 32020: template 32020: __enable_if_t::value> 32020: _M_insert_range_unique(_InputIterator __first, _InputIterator __last) 32020: { 32020: for (; __first != __last; ++__first) 32020: _M_emplace_unique(*__first); 32020: } 32020: 32020: template 32020: __enable_if_t<__same_value_type<_InputIterator>::value> 32020: _M_insert_range_equal(_InputIterator __first, _InputIterator __last) 32020: { 32020: _Alloc_node __an(*this); 32020: for (; __first != __last; ++__first) 32020: _M_insert_equal_(end(), *__first, __an); 32020: } 32020: 32020: template 32020: __enable_if_t::value> 32020: _M_insert_range_equal(_InputIterator __first, _InputIterator __last) 32020: { 32020: _Alloc_node __an(*this); 32020: for (; __first != __last; ++__first) 32020: _M_emplace_equal(*__first); 32020: } 32020: # 1186 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: private: 32020: void 32020: _M_erase_aux(const_iterator __position); 32020: 32020: void 32020: _M_erase_aux(const_iterator __first, const_iterator __last); 32020: 32020: public: 32020: 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: iterator 32020: erase(const_iterator __position) 32020: { 32020: ; 32020: const_iterator __result = __position; 32020: ++__result; 32020: _M_erase_aux(__position); 32020: return __result._M_const_cast(); 32020: } 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: iterator 32020: erase(iterator __position) 32020: { 32020: ; 32020: iterator __result = __position; 32020: ++__result; 32020: _M_erase_aux(__position); 32020: return __result; 32020: } 32020: # 1235 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: size_type 32020: erase(const key_type& __x); 32020: 32020: 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: iterator 32020: erase(const_iterator __first, const_iterator __last) 32020: { 32020: _M_erase_aux(__first, __last); 32020: return __last._M_const_cast(); 32020: } 32020: # 1258 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: void 32020: clear() noexcept 32020: { 32020: _M_erase(_M_begin()); 32020: _M_impl._M_reset(); 32020: } 32020: 32020: 32020: iterator 32020: find(const key_type& __k); 32020: 32020: const_iterator 32020: find(const key_type& __k) const; 32020: 32020: size_type 32020: count(const key_type& __k) const; 32020: 32020: iterator 32020: lower_bound(const key_type& __k) 32020: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 32020: 32020: const_iterator 32020: lower_bound(const key_type& __k) const 32020: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 32020: 32020: iterator 32020: upper_bound(const key_type& __k) 32020: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 32020: 32020: const_iterator 32020: upper_bound(const key_type& __k) const 32020: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 32020: 32020: pair 32020: equal_range(const key_type& __k); 32020: 32020: pair 32020: equal_range(const key_type& __k) const; 32020: 32020: 32020: template> 32020: iterator 32020: _M_find_tr(const _Kt& __k) 32020: { 32020: const _Rb_tree* __const_this = this; 32020: return __const_this->_M_find_tr(__k)._M_const_cast(); 32020: } 32020: 32020: template> 32020: const_iterator 32020: _M_find_tr(const _Kt& __k) const 32020: { 32020: auto __j = _M_lower_bound_tr(__k); 32020: if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node))) 32020: __j = end(); 32020: return __j; 32020: } 32020: 32020: template> 32020: size_type 32020: _M_count_tr(const _Kt& __k) const 32020: { 32020: auto __p = _M_equal_range_tr(__k); 32020: return std::distance(__p.first, __p.second); 32020: } 32020: 32020: template> 32020: iterator 32020: _M_lower_bound_tr(const _Kt& __k) 32020: { 32020: const _Rb_tree* __const_this = this; 32020: return __const_this->_M_lower_bound_tr(__k)._M_const_cast(); 32020: } 32020: 32020: template> 32020: const_iterator 32020: _M_lower_bound_tr(const _Kt& __k) const 32020: { 32020: auto __x = _M_begin(); 32020: auto __y = _M_end(); 32020: while (__x != 0) 32020: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 32020: { 32020: __y = __x; 32020: __x = _S_left(__x); 32020: } 32020: else 32020: __x = _S_right(__x); 32020: return const_iterator(__y); 32020: } 32020: 32020: template> 32020: iterator 32020: _M_upper_bound_tr(const _Kt& __k) 32020: { 32020: const _Rb_tree* __const_this = this; 32020: return __const_this->_M_upper_bound_tr(__k)._M_const_cast(); 32020: } 32020: 32020: template> 32020: const_iterator 32020: _M_upper_bound_tr(const _Kt& __k) const 32020: { 32020: auto __x = _M_begin(); 32020: auto __y = _M_end(); 32020: while (__x != 0) 32020: if (_M_impl._M_key_compare(__k, _S_key(__x))) 32020: { 32020: __y = __x; 32020: __x = _S_left(__x); 32020: } 32020: else 32020: __x = _S_right(__x); 32020: return const_iterator(__y); 32020: } 32020: 32020: template> 32020: pair 32020: _M_equal_range_tr(const _Kt& __k) 32020: { 32020: const _Rb_tree* __const_this = this; 32020: auto __ret = __const_this->_M_equal_range_tr(__k); 32020: return { __ret.first._M_const_cast(), __ret.second._M_const_cast() }; 32020: } 32020: 32020: template> 32020: pair 32020: _M_equal_range_tr(const _Kt& __k) const 32020: { 32020: auto __low = _M_lower_bound_tr(__k); 32020: auto __high = __low; 32020: auto& __cmp = _M_impl._M_key_compare; 32020: while (__high != end() && !__cmp(__k, _S_key(__high._M_node))) 32020: ++__high; 32020: return { __low, __high }; 32020: } 32020: 32020: 32020: 32020: bool 32020: __rb_verify() const; 32020: 32020: 32020: _Rb_tree& 32020: operator=(_Rb_tree&&) 32020: noexcept(_Alloc_traits::_S_nothrow_move() 32020: && is_nothrow_move_assignable<_Compare>::value); 32020: 32020: template 32020: void 32020: _M_assign_unique(_Iterator, _Iterator); 32020: 32020: template 32020: void 32020: _M_assign_equal(_Iterator, _Iterator); 32020: 32020: private: 32020: 32020: void 32020: _M_move_data(_Rb_tree& __x, true_type) 32020: { _M_impl._M_move_data(__x._M_impl); } 32020: 32020: 32020: 32020: void 32020: _M_move_data(_Rb_tree&, false_type); 32020: 32020: 32020: void 32020: _M_move_assign(_Rb_tree&, true_type); 32020: 32020: 32020: 32020: void 32020: _M_move_assign(_Rb_tree&, false_type); 32020: 32020: 32020: 32020: public: 32020: 32020: insert_return_type 32020: _M_reinsert_node_unique(node_type&& __nh) 32020: { 32020: insert_return_type __ret; 32020: if (__nh.empty()) 32020: __ret.position = end(); 32020: else 32020: { 32020: ; 32020: 32020: auto __res = _M_get_insert_unique_pos(__nh._M_key()); 32020: if (__res.second) 32020: { 32020: __ret.position 32020: = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 32020: __nh._M_ptr = nullptr; 32020: __ret.inserted = true; 32020: } 32020: else 32020: { 32020: __ret.node = std::move(__nh); 32020: __ret.position = iterator(__res.first); 32020: __ret.inserted = false; 32020: } 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: iterator 32020: _M_reinsert_node_equal(node_type&& __nh) 32020: { 32020: iterator __ret; 32020: if (__nh.empty()) 32020: __ret = end(); 32020: else 32020: { 32020: ; 32020: auto __res = _M_get_insert_equal_pos(__nh._M_key()); 32020: if (__res.second) 32020: __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 32020: else 32020: __ret = _M_insert_equal_lower_node(__nh._M_ptr); 32020: __nh._M_ptr = nullptr; 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: iterator 32020: _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh) 32020: { 32020: iterator __ret; 32020: if (__nh.empty()) 32020: __ret = end(); 32020: else 32020: { 32020: ; 32020: auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key()); 32020: if (__res.second) 32020: { 32020: __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 32020: __nh._M_ptr = nullptr; 32020: } 32020: else 32020: __ret = iterator(__res.first); 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: iterator 32020: _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh) 32020: { 32020: iterator __ret; 32020: if (__nh.empty()) 32020: __ret = end(); 32020: else 32020: { 32020: ; 32020: auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key()); 32020: if (__res.second) 32020: __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 32020: else 32020: __ret = _M_insert_equal_lower_node(__nh._M_ptr); 32020: __nh._M_ptr = nullptr; 32020: } 32020: return __ret; 32020: } 32020: 32020: 32020: node_type 32020: extract(const_iterator __pos) 32020: { 32020: auto __ptr = _Rb_tree_rebalance_for_erase( 32020: __pos._M_const_cast()._M_node, _M_impl._M_header); 32020: --_M_impl._M_node_count; 32020: return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() }; 32020: } 32020: 32020: 32020: node_type 32020: extract(const key_type& __k) 32020: { 32020: node_type __nh; 32020: auto __pos = find(__k); 32020: if (__pos != end()) 32020: __nh = extract(const_iterator(__pos)); 32020: return __nh; 32020: } 32020: 32020: template 32020: using _Compatible_tree 32020: = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>; 32020: 32020: template 32020: friend class _Rb_tree_merge_helper; 32020: 32020: 32020: template 32020: void 32020: _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept 32020: { 32020: using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>; 32020: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 32020: { 32020: auto __pos = __i++; 32020: auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos)); 32020: if (__res.second) 32020: { 32020: auto& __src_impl = _Merge_helper::_S_get_impl(__src); 32020: auto __ptr = _Rb_tree_rebalance_for_erase( 32020: __pos._M_node, __src_impl._M_header); 32020: --__src_impl._M_node_count; 32020: _M_insert_node(__res.first, __res.second, 32020: static_cast<_Link_type>(__ptr)); 32020: } 32020: } 32020: } 32020: 32020: 32020: template 32020: void 32020: _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept 32020: { 32020: using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>; 32020: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 32020: { 32020: auto __pos = __i++; 32020: auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos)); 32020: if (__res.second) 32020: { 32020: auto& __src_impl = _Merge_helper::_S_get_impl(__src); 32020: auto __ptr = _Rb_tree_rebalance_for_erase( 32020: __pos._M_node, __src_impl._M_header); 32020: --__src_impl._M_node_count; 32020: _M_insert_node(__res.first, __res.second, 32020: static_cast<_Link_type>(__ptr)); 32020: } 32020: } 32020: } 32020: 32020: 32020: friend bool 32020: operator==(const _Rb_tree& __x, const _Rb_tree& __y) 32020: { 32020: return __x.size() == __y.size() 32020: && std::equal(__x.begin(), __x.end(), __y.begin()); 32020: } 32020: # 1627 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_tree.h" 3 32020: friend bool 32020: operator<(const _Rb_tree& __x, const _Rb_tree& __y) 32020: { 32020: return std::lexicographical_compare(__x.begin(), __x.end(), 32020: __y.begin(), __y.end()); 32020: } 32020: 32020: friend bool __attribute__ ((__deprecated__)) 32020: operator!=(const _Rb_tree& __x, const _Rb_tree& __y) 32020: { return !(__x == __y); } 32020: 32020: friend bool __attribute__ ((__deprecated__)) 32020: operator>(const _Rb_tree& __x, const _Rb_tree& __y) 32020: { return __y < __x; } 32020: 32020: friend bool __attribute__ ((__deprecated__)) 32020: operator<=(const _Rb_tree& __x, const _Rb_tree& __y) 32020: { return !(__y < __x); } 32020: 32020: friend bool __attribute__ ((__deprecated__)) 32020: operator>=(const _Rb_tree& __x, const _Rb_tree& __y) 32020: { return !(__x < __y); } 32020: 32020: }; 32020: 32020: template 32020: inline void 32020: swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 32020: { __x.swap(__y); } 32020: 32020: 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_move_data(_Rb_tree& __x, false_type) 32020: { 32020: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 32020: _M_move_data(__x, true_type()); 32020: else 32020: { 32020: _Alloc_node __an(*this); 32020: auto __lbd = 32020: [&__an](const value_type& __cval) 32020: { 32020: auto& __val = const_cast(__cval); 32020: return __an(std::move_if_noexcept(__val)); 32020: }; 32020: _M_root() = _M_copy(__x, __lbd); 32020: } 32020: } 32020: 32020: template 32020: inline void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_move_assign(_Rb_tree& __x, true_type) 32020: { 32020: clear(); 32020: if (__x._M_root() != nullptr) 32020: _M_move_data(__x, true_type()); 32020: std::__alloc_on_move(_M_get_Node_allocator(), 32020: __x._M_get_Node_allocator()); 32020: } 32020: 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_move_assign(_Rb_tree& __x, false_type) 32020: { 32020: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 32020: return _M_move_assign(__x, true_type{}); 32020: 32020: 32020: 32020: _Reuse_or_alloc_node __roan(*this); 32020: _M_impl._M_reset(); 32020: if (__x._M_root() != nullptr) 32020: { 32020: auto __lbd = 32020: [&__roan](const value_type& __cval) 32020: { 32020: auto& __val = const_cast(__cval); 32020: return __roan(std::move(__val)); 32020: }; 32020: _M_root() = _M_copy(__x, __lbd); 32020: __x.clear(); 32020: } 32020: } 32020: 32020: template 32020: inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: operator=(_Rb_tree&& __x) 32020: noexcept(_Alloc_traits::_S_nothrow_move() 32020: && is_nothrow_move_assignable<_Compare>::value) 32020: { 32020: _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare); 32020: _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>()); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_assign_unique(_Iterator __first, _Iterator __last) 32020: { 32020: _Reuse_or_alloc_node __roan(*this); 32020: _M_impl._M_reset(); 32020: for (; __first != __last; ++__first) 32020: _M_insert_unique_(end(), *__first, __roan); 32020: } 32020: 32020: template 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_assign_equal(_Iterator __first, _Iterator __last) 32020: { 32020: _Reuse_or_alloc_node __roan(*this); 32020: _M_impl._M_reset(); 32020: for (; __first != __last; ++__first) 32020: _M_insert_equal_(end(), *__first, __roan); 32020: } 32020: 32020: 32020: template 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: operator=(const _Rb_tree& __x) 32020: { 32020: if (this != &__x) 32020: { 32020: 32020: 32020: if (_Alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: auto& __this_alloc = this->_M_get_Node_allocator(); 32020: auto& __that_alloc = __x._M_get_Node_allocator(); 32020: if (!_Alloc_traits::_S_always_equal() 32020: && __this_alloc != __that_alloc) 32020: { 32020: 32020: 32020: clear(); 32020: std::__alloc_on_copy(__this_alloc, __that_alloc); 32020: } 32020: } 32020: 32020: 32020: _Reuse_or_alloc_node __roan(*this); 32020: _M_impl._M_reset(); 32020: _M_impl._M_key_compare = __x._M_impl._M_key_compare; 32020: if (__x._M_root() != 0) 32020: _M_root() = _M_copy(__x, __roan); 32020: } 32020: 32020: return *this; 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: 32020: 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_insert_(_Base_ptr __x, _Base_ptr __p, 32020: 32020: _Arg&& __v, 32020: 32020: 32020: 32020: _NodeGen& __node_gen) 32020: { 32020: bool __insert_left = (__x != 0 || __p == _M_end() 32020: || _M_impl._M_key_compare(_KeyOfValue()(__v), 32020: _S_key(__p))); 32020: 32020: _Link_type __z = __node_gen(std::forward<_Arg>(__v)); 32020: 32020: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 32020: this->_M_impl._M_header); 32020: ++_M_impl._M_node_count; 32020: return iterator(__z); 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: 32020: _M_insert_lower(_Base_ptr __p, _Arg&& __v) 32020: 32020: 32020: 32020: { 32020: bool __insert_left = (__p == _M_end() 32020: || !_M_impl._M_key_compare(_S_key(__p), 32020: _KeyOfValue()(__v))); 32020: 32020: _Link_type __z = _M_create_node(std::forward<_Arg>(__v)); 32020: 32020: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 32020: this->_M_impl._M_header); 32020: ++_M_impl._M_node_count; 32020: return iterator(__z); 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: 32020: _M_insert_equal_lower(_Arg&& __v) 32020: 32020: 32020: 32020: { 32020: _Link_type __x = _M_begin(); 32020: _Base_ptr __y = _M_end(); 32020: while (__x != 0) 32020: { 32020: __y = __x; 32020: __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? 32020: _S_left(__x) : _S_right(__x); 32020: } 32020: return _M_insert_lower(__y, std::forward<_Arg>(__v)); 32020: } 32020: 32020: template 32020: template 32020: typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type 32020: _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: 32020: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen) 32020: { 32020: 32020: _Link_type __top = _M_clone_node(__x, __node_gen); 32020: __top->_M_parent = __p; 32020: 32020: try 32020: { 32020: if (__x->_M_right) 32020: __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); 32020: __p = __top; 32020: __x = _S_left(__x); 32020: 32020: while (__x != 0) 32020: { 32020: _Link_type __y = _M_clone_node(__x, __node_gen); 32020: __p->_M_left = __y; 32020: __y->_M_parent = __p; 32020: if (__x->_M_right) 32020: __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); 32020: __p = __y; 32020: __x = _S_left(__x); 32020: } 32020: } 32020: catch(...) 32020: { 32020: _M_erase(__top); 32020: throw; 32020: } 32020: return __top; 32020: } 32020: 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_erase(_Link_type __x) 32020: { 32020: 32020: while (__x != 0) 32020: { 32020: _M_erase(_S_right(__x)); 32020: _Link_type __y = _S_left(__x); 32020: _M_drop_node(__x); 32020: __x = __y; 32020: } 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_lower_bound(_Link_type __x, _Base_ptr __y, 32020: const _Key& __k) 32020: { 32020: while (__x != 0) 32020: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 32020: __y = __x, __x = _S_left(__x); 32020: else 32020: __x = _S_right(__x); 32020: return iterator(__y); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::const_iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 32020: const _Key& __k) const 32020: { 32020: while (__x != 0) 32020: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 32020: __y = __x, __x = _S_left(__x); 32020: else 32020: __x = _S_right(__x); 32020: return const_iterator(__y); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_upper_bound(_Link_type __x, _Base_ptr __y, 32020: const _Key& __k) 32020: { 32020: while (__x != 0) 32020: if (_M_impl._M_key_compare(__k, _S_key(__x))) 32020: __y = __x, __x = _S_left(__x); 32020: else 32020: __x = _S_right(__x); 32020: return iterator(__y); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::const_iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 32020: const _Key& __k) const 32020: { 32020: while (__x != 0) 32020: if (_M_impl._M_key_compare(__k, _S_key(__x))) 32020: __y = __x, __x = _S_left(__x); 32020: else 32020: __x = _S_right(__x); 32020: return const_iterator(__y); 32020: } 32020: 32020: template 32020: pair::iterator, 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::iterator> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: equal_range(const _Key& __k) 32020: { 32020: _Link_type __x = _M_begin(); 32020: _Base_ptr __y = _M_end(); 32020: while (__x != 0) 32020: { 32020: if (_M_impl._M_key_compare(_S_key(__x), __k)) 32020: __x = _S_right(__x); 32020: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 32020: __y = __x, __x = _S_left(__x); 32020: else 32020: { 32020: _Link_type __xu(__x); 32020: _Base_ptr __yu(__y); 32020: __y = __x, __x = _S_left(__x); 32020: __xu = _S_right(__xu); 32020: return pair(_M_lower_bound(__x, __y, __k), 32020: _M_upper_bound(__xu, __yu, __k)); 32020: } 32020: } 32020: return pair(iterator(__y), 32020: iterator(__y)); 32020: } 32020: 32020: template 32020: pair::const_iterator, 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::const_iterator> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: equal_range(const _Key& __k) const 32020: { 32020: _Const_Link_type __x = _M_begin(); 32020: _Const_Base_ptr __y = _M_end(); 32020: while (__x != 0) 32020: { 32020: if (_M_impl._M_key_compare(_S_key(__x), __k)) 32020: __x = _S_right(__x); 32020: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 32020: __y = __x, __x = _S_left(__x); 32020: else 32020: { 32020: _Const_Link_type __xu(__x); 32020: _Const_Base_ptr __yu(__y); 32020: __y = __x, __x = _S_left(__x); 32020: __xu = _S_right(__xu); 32020: return pair(_M_lower_bound(__x, __y, __k), 32020: _M_upper_bound(__xu, __yu, __k)); 32020: } 32020: } 32020: return pair(const_iterator(__y), 32020: const_iterator(__y)); 32020: } 32020: 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: swap(_Rb_tree& __t) 32020: noexcept(__is_nothrow_swappable<_Compare>::value) 32020: { 32020: if (_M_root() == 0) 32020: { 32020: if (__t._M_root() != 0) 32020: _M_impl._M_move_data(__t._M_impl); 32020: } 32020: else if (__t._M_root() == 0) 32020: __t._M_impl._M_move_data(_M_impl); 32020: else 32020: { 32020: std::swap(_M_root(),__t._M_root()); 32020: std::swap(_M_leftmost(),__t._M_leftmost()); 32020: std::swap(_M_rightmost(),__t._M_rightmost()); 32020: 32020: _M_root()->_M_parent = _M_end(); 32020: __t._M_root()->_M_parent = __t._M_end(); 32020: std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); 32020: } 32020: 32020: std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); 32020: 32020: _Alloc_traits::_S_on_swap(_M_get_Node_allocator(), 32020: __t._M_get_Node_allocator()); 32020: } 32020: 32020: template 32020: pair::_Base_ptr, 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::_Base_ptr> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_get_insert_unique_pos(const key_type& __k) 32020: { 32020: typedef pair<_Base_ptr, _Base_ptr> _Res; 32020: _Link_type __x = _M_begin(); 32020: _Base_ptr __y = _M_end(); 32020: bool __comp = true; 32020: while (__x != 0) 32020: { 32020: __y = __x; 32020: __comp = _M_impl._M_key_compare(__k, _S_key(__x)); 32020: __x = __comp ? _S_left(__x) : _S_right(__x); 32020: } 32020: iterator __j = iterator(__y); 32020: if (__comp) 32020: { 32020: if (__j == begin()) 32020: return _Res(__x, __y); 32020: else 32020: --__j; 32020: } 32020: if (_M_impl._M_key_compare(_S_key(__j._M_node), __k)) 32020: return _Res(__x, __y); 32020: return _Res(__j._M_node, 0); 32020: } 32020: 32020: template 32020: pair::_Base_ptr, 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::_Base_ptr> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_get_insert_equal_pos(const key_type& __k) 32020: { 32020: typedef pair<_Base_ptr, _Base_ptr> _Res; 32020: _Link_type __x = _M_begin(); 32020: _Base_ptr __y = _M_end(); 32020: while (__x != 0) 32020: { 32020: __y = __x; 32020: __x = _M_impl._M_key_compare(__k, _S_key(__x)) ? 32020: _S_left(__x) : _S_right(__x); 32020: } 32020: return _Res(__x, __y); 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: pair::iterator, bool> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: 32020: _M_insert_unique(_Arg&& __v) 32020: 32020: 32020: 32020: { 32020: typedef pair _Res; 32020: pair<_Base_ptr, _Base_ptr> __res 32020: = _M_get_insert_unique_pos(_KeyOfValue()(__v)); 32020: 32020: if (__res.second) 32020: { 32020: _Alloc_node __an(*this); 32020: return _Res(_M_insert_(__res.first, __res.second, 32020: std::forward<_Arg>(__v), __an), 32020: true); 32020: } 32020: 32020: return _Res(iterator(__res.first), false); 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: 32020: _M_insert_equal(_Arg&& __v) 32020: 32020: 32020: 32020: { 32020: pair<_Base_ptr, _Base_ptr> __res 32020: = _M_get_insert_equal_pos(_KeyOfValue()(__v)); 32020: _Alloc_node __an(*this); 32020: return _M_insert_(__res.first, __res.second, 32020: std::forward<_Arg>(__v), __an); 32020: } 32020: 32020: template 32020: pair::_Base_ptr, 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::_Base_ptr> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_get_insert_hint_unique_pos(const_iterator __position, 32020: const key_type& __k) 32020: { 32020: iterator __pos = __position._M_const_cast(); 32020: typedef pair<_Base_ptr, _Base_ptr> _Res; 32020: 32020: 32020: if (__pos._M_node == _M_end()) 32020: { 32020: if (size() > 0 32020: && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k)) 32020: return _Res(0, _M_rightmost()); 32020: else 32020: return _M_get_insert_unique_pos(__k); 32020: } 32020: else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node))) 32020: { 32020: 32020: iterator __before = __pos; 32020: if (__pos._M_node == _M_leftmost()) 32020: return _Res(_M_leftmost(), _M_leftmost()); 32020: else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k)) 32020: { 32020: if (_S_right(__before._M_node) == 0) 32020: return _Res(0, __before._M_node); 32020: else 32020: return _Res(__pos._M_node, __pos._M_node); 32020: } 32020: else 32020: return _M_get_insert_unique_pos(__k); 32020: } 32020: else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 32020: { 32020: 32020: iterator __after = __pos; 32020: if (__pos._M_node == _M_rightmost()) 32020: return _Res(0, _M_rightmost()); 32020: else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node))) 32020: { 32020: if (_S_right(__pos._M_node) == 0) 32020: return _Res(0, __pos._M_node); 32020: else 32020: return _Res(__after._M_node, __after._M_node); 32020: } 32020: else 32020: return _M_get_insert_unique_pos(__k); 32020: } 32020: else 32020: 32020: return _Res(__pos._M_node, 0); 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: 32020: 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_insert_unique_(const_iterator __position, 32020: 32020: _Arg&& __v, 32020: 32020: 32020: 32020: _NodeGen& __node_gen) 32020: { 32020: pair<_Base_ptr, _Base_ptr> __res 32020: = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v)); 32020: 32020: if (__res.second) 32020: return _M_insert_(__res.first, __res.second, 32020: std::forward<_Arg>(__v), 32020: __node_gen); 32020: return iterator(__res.first); 32020: } 32020: 32020: template 32020: pair::_Base_ptr, 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::_Base_ptr> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) 32020: { 32020: iterator __pos = __position._M_const_cast(); 32020: typedef pair<_Base_ptr, _Base_ptr> _Res; 32020: 32020: 32020: if (__pos._M_node == _M_end()) 32020: { 32020: if (size() > 0 32020: && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost()))) 32020: return _Res(0, _M_rightmost()); 32020: else 32020: return _M_get_insert_equal_pos(__k); 32020: } 32020: else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 32020: { 32020: 32020: iterator __before = __pos; 32020: if (__pos._M_node == _M_leftmost()) 32020: return _Res(_M_leftmost(), _M_leftmost()); 32020: else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node))) 32020: { 32020: if (_S_right(__before._M_node) == 0) 32020: return _Res(0, __before._M_node); 32020: else 32020: return _Res(__pos._M_node, __pos._M_node); 32020: } 32020: else 32020: return _M_get_insert_equal_pos(__k); 32020: } 32020: else 32020: { 32020: 32020: iterator __after = __pos; 32020: if (__pos._M_node == _M_rightmost()) 32020: return _Res(0, _M_rightmost()); 32020: else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k)) 32020: { 32020: if (_S_right(__pos._M_node) == 0) 32020: return _Res(0, __pos._M_node); 32020: else 32020: return _Res(__after._M_node, __after._M_node); 32020: } 32020: else 32020: return _Res(0, 0); 32020: } 32020: } 32020: 32020: template 32020: 32020: template 32020: 32020: 32020: 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_insert_equal_(const_iterator __position, 32020: 32020: _Arg&& __v, 32020: 32020: 32020: 32020: _NodeGen& __node_gen) 32020: { 32020: pair<_Base_ptr, _Base_ptr> __res 32020: = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v)); 32020: 32020: if (__res.second) 32020: return _M_insert_(__res.first, __res.second, 32020: std::forward<_Arg>(__v), 32020: __node_gen); 32020: 32020: return _M_insert_equal_lower(std::forward<_Arg>(__v)); 32020: } 32020: 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) 32020: { 32020: bool __insert_left = (__x != 0 || __p == _M_end() 32020: || _M_impl._M_key_compare(_S_key(__z), 32020: _S_key(__p))); 32020: 32020: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 32020: this->_M_impl._M_header); 32020: ++_M_impl._M_node_count; 32020: return iterator(__z); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_insert_lower_node(_Base_ptr __p, _Link_type __z) 32020: { 32020: bool __insert_left = (__p == _M_end() 32020: || !_M_impl._M_key_compare(_S_key(__p), 32020: _S_key(__z))); 32020: 32020: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 32020: this->_M_impl._M_header); 32020: ++_M_impl._M_node_count; 32020: return iterator(__z); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_insert_equal_lower_node(_Link_type __z) 32020: { 32020: _Link_type __x = _M_begin(); 32020: _Base_ptr __y = _M_end(); 32020: while (__x != 0) 32020: { 32020: __y = __x; 32020: __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? 32020: _S_left(__x) : _S_right(__x); 32020: } 32020: return _M_insert_lower_node(__y, __z); 32020: } 32020: 32020: template 32020: template 32020: pair::iterator, bool> 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_emplace_unique(_Args&&... __args) 32020: { 32020: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 32020: 32020: try 32020: { 32020: typedef pair _Res; 32020: auto __res = _M_get_insert_unique_pos(_S_key(__z)); 32020: if (__res.second) 32020: return _Res(_M_insert_node(__res.first, __res.second, __z), true); 32020: 32020: _M_drop_node(__z); 32020: return _Res(iterator(__res.first), false); 32020: } 32020: catch(...) 32020: { 32020: _M_drop_node(__z); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_emplace_equal(_Args&&... __args) 32020: { 32020: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 32020: 32020: try 32020: { 32020: auto __res = _M_get_insert_equal_pos(_S_key(__z)); 32020: return _M_insert_node(__res.first, __res.second, __z); 32020: } 32020: catch(...) 32020: { 32020: _M_drop_node(__z); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args) 32020: { 32020: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 32020: 32020: try 32020: { 32020: auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z)); 32020: 32020: if (__res.second) 32020: return _M_insert_node(__res.first, __res.second, __z); 32020: 32020: _M_drop_node(__z); 32020: return iterator(__res.first); 32020: } 32020: catch(...) 32020: { 32020: _M_drop_node(__z); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args) 32020: { 32020: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 32020: 32020: try 32020: { 32020: auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z)); 32020: 32020: if (__res.second) 32020: return _M_insert_node(__res.first, __res.second, __z); 32020: 32020: return _M_insert_equal_lower_node(__z); 32020: } 32020: catch(...) 32020: { 32020: _M_drop_node(__z); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_erase_aux(const_iterator __position) 32020: { 32020: _Link_type __y = 32020: static_cast<_Link_type>(_Rb_tree_rebalance_for_erase 32020: (const_cast<_Base_ptr>(__position._M_node), 32020: this->_M_impl._M_header)); 32020: _M_drop_node(__y); 32020: --_M_impl._M_node_count; 32020: } 32020: 32020: template 32020: void 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: _M_erase_aux(const_iterator __first, const_iterator __last) 32020: { 32020: if (__first == begin() && __last == end()) 32020: clear(); 32020: else 32020: while (__first != __last) 32020: _M_erase_aux(__first++); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: erase(const _Key& __x) 32020: { 32020: pair __p = equal_range(__x); 32020: const size_type __old_size = size(); 32020: _M_erase_aux(__p.first, __p.second); 32020: return __old_size - size(); 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: find(const _Key& __k) 32020: { 32020: iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 32020: return (__j == end() 32020: || _M_impl._M_key_compare(__k, 32020: _S_key(__j._M_node))) ? end() : __j; 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, 32020: _Compare, _Alloc>::const_iterator 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: find(const _Key& __k) const 32020: { 32020: const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 32020: return (__j == end() 32020: || _M_impl._M_key_compare(__k, 32020: _S_key(__j._M_node))) ? end() : __j; 32020: } 32020: 32020: template 32020: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 32020: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 32020: count(const _Key& __k) const 32020: { 32020: pair __p = equal_range(__k); 32020: const size_type __n = std::distance(__p.first, __p.second); 32020: return __n; 32020: } 32020: 32020: __attribute__ ((__pure__)) unsigned int 32020: _Rb_tree_black_count(const _Rb_tree_node_base* __node, 32020: const _Rb_tree_node_base* __root) throw (); 32020: 32020: template 32020: bool 32020: _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const 32020: { 32020: if (_M_impl._M_node_count == 0 || begin() == end()) 32020: return _M_impl._M_node_count == 0 && begin() == end() 32020: && this->_M_impl._M_header._M_left == _M_end() 32020: && this->_M_impl._M_header._M_right == _M_end(); 32020: 32020: unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); 32020: for (const_iterator __it = begin(); __it != end(); ++__it) 32020: { 32020: _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); 32020: _Const_Link_type __L = _S_left(__x); 32020: _Const_Link_type __R = _S_right(__x); 32020: 32020: if (__x->_M_color == _S_red) 32020: if ((__L && __L->_M_color == _S_red) 32020: || (__R && __R->_M_color == _S_red)) 32020: return false; 32020: 32020: if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) 32020: return false; 32020: if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) 32020: return false; 32020: 32020: if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) 32020: return false; 32020: } 32020: 32020: if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) 32020: return false; 32020: if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) 32020: return false; 32020: return true; 32020: } 32020: 32020: 32020: 32020: template 32020: struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>, 32020: _Cmp2> 32020: { 32020: private: 32020: friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>; 32020: 32020: static auto& 32020: _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree) 32020: { return __tree._M_impl; } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/map" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 1 3 32020: # 66 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: class multimap; 32020: # 98 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template , 32020: typename _Alloc = std::allocator > > 32020: class map 32020: { 32020: public: 32020: typedef _Key key_type; 32020: typedef _Tp mapped_type; 32020: typedef std::pair value_type; 32020: typedef _Compare key_compare; 32020: typedef _Alloc allocator_type; 32020: 32020: private: 32020: # 128 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: public: 32020: class value_compare 32020: : public std::binary_function 32020: { 32020: friend class map<_Key, _Tp, _Compare, _Alloc>; 32020: protected: 32020: _Compare comp; 32020: 32020: value_compare(_Compare __c) 32020: : comp(__c) { } 32020: 32020: public: 32020: bool operator()(const value_type& __x, const value_type& __y) const 32020: { return comp(__x.first, __y.first); } 32020: }; 32020: 32020: private: 32020: 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind::other _Pair_alloc_type; 32020: 32020: typedef _Rb_tree, 32020: key_compare, _Pair_alloc_type> _Rep_type; 32020: 32020: 32020: _Rep_type _M_t; 32020: 32020: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 32020: 32020: public: 32020: 32020: 32020: typedef typename _Alloc_traits::pointer pointer; 32020: typedef typename _Alloc_traits::const_pointer const_pointer; 32020: typedef typename _Alloc_traits::reference reference; 32020: typedef typename _Alloc_traits::const_reference const_reference; 32020: typedef typename _Rep_type::iterator iterator; 32020: typedef typename _Rep_type::const_iterator const_iterator; 32020: typedef typename _Rep_type::size_type size_type; 32020: typedef typename _Rep_type::difference_type difference_type; 32020: typedef typename _Rep_type::reverse_iterator reverse_iterator; 32020: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 32020: 32020: 32020: using node_type = typename _Rep_type::node_type; 32020: using insert_return_type = typename _Rep_type::insert_return_type; 32020: # 185 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: map() = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: map(const _Compare& __comp, 32020: const allocator_type& __a = allocator_type()) 32020: : _M_t(__comp, _Pair_alloc_type(__a)) { } 32020: # 207 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: map(const map&) = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: map(map&&) = default; 32020: # 228 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: map(initializer_list __l, 32020: const _Compare& __comp = _Compare(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_t(__comp, _Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_unique(__l.begin(), __l.end()); } 32020: 32020: 32020: explicit 32020: map(const allocator_type& __a) 32020: : _M_t(_Pair_alloc_type(__a)) { } 32020: 32020: 32020: map(const map& __m, const allocator_type& __a) 32020: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 32020: 32020: 32020: map(map&& __m, const allocator_type& __a) 32020: noexcept(is_nothrow_copy_constructible<_Compare>::value 32020: && _Alloc_traits::_S_always_equal()) 32020: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 32020: 32020: 32020: map(initializer_list __l, const allocator_type& __a) 32020: : _M_t(_Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_unique(__l.begin(), __l.end()); } 32020: 32020: 32020: template 32020: map(_InputIterator __first, _InputIterator __last, 32020: const allocator_type& __a) 32020: : _M_t(_Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_unique(__first, __last); } 32020: # 272 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: map(_InputIterator __first, _InputIterator __last) 32020: : _M_t() 32020: { _M_t._M_insert_range_unique(__first, __last); } 32020: # 289 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: map(_InputIterator __first, _InputIterator __last, 32020: const _Compare& __comp, 32020: const allocator_type& __a = allocator_type()) 32020: : _M_t(__comp, _Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_unique(__first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ~map() = default; 32020: # 318 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: map& 32020: operator=(const map&) = default; 32020: 32020: 32020: map& 32020: operator=(map&&) = default; 32020: # 336 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: map& 32020: operator=(initializer_list __l) 32020: { 32020: _M_t._M_assign_unique(__l.begin(), __l.end()); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_M_t.get_allocator()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return _M_t.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return _M_t.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return _M_t.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return _M_t.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return _M_t.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return _M_t.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return _M_t.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return _M_t.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return _M_t.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return _M_t.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return _M_t.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return _M_t.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return _M_t.empty(); } 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_t.size(); } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _M_t.max_size(); } 32020: # 491 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: mapped_type& 32020: operator[](const key_type& __k) 32020: { 32020: 32020: 32020: 32020: iterator __i = lower_bound(__k); 32020: 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: 32020: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 32020: std::tuple(__k), 32020: std::tuple<>()); 32020: 32020: 32020: 32020: return (*__i).second; 32020: } 32020: 32020: 32020: mapped_type& 32020: operator[](key_type&& __k) 32020: { 32020: 32020: 32020: 32020: iterator __i = lower_bound(__k); 32020: 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::tuple<>()); 32020: return (*__i).second; 32020: } 32020: # 536 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: mapped_type& 32020: at(const key_type& __k) 32020: { 32020: iterator __i = lower_bound(__k); 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: __throw_out_of_range(("map::at")); 32020: return (*__i).second; 32020: } 32020: 32020: const mapped_type& 32020: at(const key_type& __k) const 32020: { 32020: const_iterator __i = lower_bound(__k); 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: __throw_out_of_range(("map::at")); 32020: return (*__i).second; 32020: } 32020: # 574 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: std::pair 32020: emplace(_Args&&... __args) 32020: { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } 32020: # 604 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: iterator 32020: emplace_hint(const_iterator __pos, _Args&&... __args) 32020: { 32020: return _M_t._M_emplace_hint_unique(__pos, 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: 32020: 32020: node_type 32020: extract(const_iterator __pos) 32020: { 32020: ; 32020: return _M_t.extract(__pos); 32020: } 32020: 32020: 32020: node_type 32020: extract(const key_type& __x) 32020: { return _M_t.extract(__x); } 32020: 32020: 32020: insert_return_type 32020: insert(node_type&& __nh) 32020: { return _M_t._M_reinsert_node_unique(std::move(__nh)); } 32020: 32020: 32020: iterator 32020: insert(const_iterator __hint, node_type&& __nh) 32020: { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); } 32020: 32020: template 32020: friend class std::_Rb_tree_merge_helper; 32020: 32020: template 32020: void 32020: merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source) 32020: { 32020: using _Merge_helper = _Rb_tree_merge_helper; 32020: _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source) 32020: { merge(__source); } 32020: 32020: template 32020: void 32020: merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source) 32020: { 32020: using _Merge_helper = _Rb_tree_merge_helper; 32020: _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source) 32020: { merge(__source); } 32020: # 689 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: pair 32020: try_emplace(const key_type& __k, _Args&&... __args) 32020: { 32020: iterator __i = lower_bound(__k); 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: { 32020: __i = emplace_hint(__i, std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)); 32020: return {__i, true}; 32020: } 32020: return {__i, false}; 32020: } 32020: 32020: 32020: template 32020: pair 32020: try_emplace(key_type&& __k, _Args&&... __args) 32020: { 32020: iterator __i = lower_bound(__k); 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: { 32020: __i = emplace_hint(__i, std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)); 32020: return {__i, true}; 32020: } 32020: return {__i, false}; 32020: } 32020: # 749 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: iterator 32020: try_emplace(const_iterator __hint, const key_type& __k, 32020: _Args&&... __args) 32020: { 32020: iterator __i; 32020: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 32020: if (__true_hint.second) 32020: __i = emplace_hint(iterator(__true_hint.second), 32020: std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)); 32020: else 32020: __i = iterator(__true_hint.first); 32020: return __i; 32020: } 32020: 32020: 32020: template 32020: iterator 32020: try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args) 32020: { 32020: iterator __i; 32020: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 32020: if (__true_hint.second) 32020: __i = emplace_hint(iterator(__true_hint.second), 32020: std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Args>(__args)...)); 32020: else 32020: __i = iterator(__true_hint.first); 32020: return __i; 32020: } 32020: # 802 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: std::pair 32020: insert(const value_type& __x) 32020: { return _M_t._M_insert_unique(__x); } 32020: 32020: 32020: 32020: 32020: std::pair 32020: insert(value_type&& __x) 32020: { return _M_t._M_insert_unique(std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, 32020: pair> 32020: insert(_Pair&& __x) 32020: { return _M_t._M_emplace_unique(std::forward<_Pair>(__x)); } 32020: # 829 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: void 32020: insert(std::initializer_list __list) 32020: { insert(__list.begin(), __list.end()); } 32020: # 858 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: iterator 32020: 32020: insert(const_iterator __position, const value_type& __x) 32020: 32020: 32020: 32020: { return _M_t._M_insert_unique_(__position, __x); } 32020: 32020: 32020: 32020: 32020: iterator 32020: insert(const_iterator __position, value_type&& __x) 32020: { return _M_t._M_insert_unique_(__position, std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, iterator> 32020: insert(const_iterator __position, _Pair&& __x) 32020: { 32020: return _M_t._M_emplace_hint_unique(__position, 32020: std::forward<_Pair>(__x)); 32020: } 32020: # 891 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: void 32020: insert(_InputIterator __first, _InputIterator __last) 32020: { _M_t._M_insert_range_unique(__first, __last); } 32020: # 916 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: pair 32020: insert_or_assign(const key_type& __k, _Obj&& __obj) 32020: { 32020: iterator __i = lower_bound(__k); 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: { 32020: __i = emplace_hint(__i, std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Obj>(__obj))); 32020: return {__i, true}; 32020: } 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return {__i, false}; 32020: } 32020: 32020: 32020: template 32020: pair 32020: insert_or_assign(key_type&& __k, _Obj&& __obj) 32020: { 32020: iterator __i = lower_bound(__k); 32020: if (__i == end() || key_comp()(__k, (*__i).first)) 32020: { 32020: __i = emplace_hint(__i, std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Obj>(__obj))); 32020: return {__i, true}; 32020: } 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return {__i, false}; 32020: } 32020: # 971 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: iterator 32020: insert_or_assign(const_iterator __hint, 32020: const key_type& __k, _Obj&& __obj) 32020: { 32020: iterator __i; 32020: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 32020: if (__true_hint.second) 32020: { 32020: return emplace_hint(iterator(__true_hint.second), 32020: std::piecewise_construct, 32020: std::forward_as_tuple(__k), 32020: std::forward_as_tuple( 32020: std::forward<_Obj>(__obj))); 32020: } 32020: __i = iterator(__true_hint.first); 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return __i; 32020: } 32020: 32020: 32020: template 32020: iterator 32020: insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj) 32020: { 32020: iterator __i; 32020: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 32020: if (__true_hint.second) 32020: { 32020: return emplace_hint(iterator(__true_hint.second), 32020: std::piecewise_construct, 32020: std::forward_as_tuple(std::move(__k)), 32020: std::forward_as_tuple( 32020: std::forward<_Obj>(__obj))); 32020: } 32020: __i = iterator(__true_hint.first); 32020: (*__i).second = std::forward<_Obj>(__obj); 32020: return __i; 32020: } 32020: # 1030 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: iterator 32020: erase(const_iterator __position) 32020: { return _M_t.erase(__position); } 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: iterator 32020: erase(iterator __position) 32020: { return _M_t.erase(__position); } 32020: # 1067 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: size_type 32020: erase(const key_type& __x) 32020: { return _M_t.erase(__x); } 32020: # 1087 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: iterator 32020: erase(const_iterator __first, const_iterator __last) 32020: { return _M_t.erase(__first, __last); } 32020: # 1121 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: void 32020: swap(map& __x) 32020: noexcept(__is_nothrow_swappable<_Compare>::value) 32020: { _M_t.swap(__x._M_t); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_t.clear(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: key_compare 32020: key_comp() const 32020: { return _M_t.key_comp(); } 32020: 32020: 32020: 32020: 32020: 32020: value_compare 32020: value_comp() const 32020: { return value_compare(_M_t.key_comp()); } 32020: # 1168 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: iterator 32020: find(const key_type& __x) 32020: { return _M_t.find(__x); } 32020: 32020: 32020: template 32020: auto 32020: find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) 32020: { return _M_t._M_find_tr(__x); } 32020: # 1193 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: const_iterator 32020: find(const key_type& __x) const 32020: { return _M_t.find(__x); } 32020: 32020: 32020: template 32020: auto 32020: find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) 32020: { return _M_t._M_find_tr(__x); } 32020: # 1214 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: size_type 32020: count(const key_type& __x) const 32020: { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } 32020: 32020: 32020: template 32020: auto 32020: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 32020: { return _M_t._M_count_tr(__x); } 32020: # 1257 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: iterator 32020: lower_bound(const key_type& __x) 32020: { return _M_t.lower_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: lower_bound(const _Kt& __x) 32020: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 32020: { return iterator(_M_t._M_lower_bound_tr(__x)); } 32020: # 1282 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: const_iterator 32020: lower_bound(const key_type& __x) const 32020: { return _M_t.lower_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: lower_bound(const _Kt& __x) const 32020: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 32020: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 32020: # 1302 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: iterator 32020: upper_bound(const key_type& __x) 32020: { return _M_t.upper_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: upper_bound(const _Kt& __x) 32020: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 32020: { return iterator(_M_t._M_upper_bound_tr(__x)); } 32020: # 1322 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: const_iterator 32020: upper_bound(const key_type& __x) const 32020: { return _M_t.upper_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: upper_bound(const _Kt& __x) const 32020: -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) 32020: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 32020: # 1351 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: std::pair 32020: equal_range(const key_type& __x) 32020: { return _M_t.equal_range(__x); } 32020: 32020: 32020: template 32020: auto 32020: equal_range(const _Kt& __x) 32020: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 32020: { return pair(_M_t._M_equal_range_tr(__x)); } 32020: # 1380 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: std::pair 32020: equal_range(const key_type& __x) const 32020: { return _M_t.equal_range(__x); } 32020: 32020: 32020: template 32020: auto 32020: equal_range(const _Kt& __x) const 32020: -> decltype(pair( 32020: _M_t._M_equal_range_tr(__x))) 32020: { 32020: return pair( 32020: _M_t._M_equal_range_tr(__x)); 32020: } 32020: 32020: 32020: 32020: template 32020: friend bool 32020: operator==(const map<_K1, _T1, _C1, _A1>&, 32020: const map<_K1, _T1, _C1, _A1>&); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: friend bool 32020: operator<(const map<_K1, _T1, _C1, _A1>&, 32020: const map<_K1, _T1, _C1, _A1>&); 32020: 32020: }; 32020: 32020: 32020: 32020: 32020: template>, 32020: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireNotAllocator<_Compare>, 32020: typename = _RequireAllocator<_Allocator>> 32020: map(_InputIterator, _InputIterator, 32020: _Compare = _Compare(), _Allocator = _Allocator()) 32020: -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 32020: _Compare, _Allocator>; 32020: 32020: template, 32020: typename _Allocator = allocator>, 32020: typename = _RequireNotAllocator<_Compare>, 32020: typename = _RequireAllocator<_Allocator>> 32020: map(initializer_list>, 32020: _Compare = _Compare(), _Allocator = _Allocator()) 32020: -> map<_Key, _Tp, _Compare, _Allocator>; 32020: 32020: template , 32020: typename = _RequireAllocator<_Allocator>> 32020: map(_InputIterator, _InputIterator, _Allocator) 32020: -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 32020: less<__iter_key_t<_InputIterator>>, _Allocator>; 32020: 32020: template> 32020: map(initializer_list>, _Allocator) 32020: -> map<_Key, _Tp, less<_Key>, _Allocator>; 32020: # 1461 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: inline bool 32020: operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return __x._M_t == __y._M_t; } 32020: # 1499 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_map.h" 3 32020: template 32020: inline bool 32020: operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return __x._M_t < __y._M_t; } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return __y < __x; } 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(map<_Key, _Tp, _Compare, _Alloc>& __x, 32020: map<_Key, _Tp, _Compare, _Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct 32020: _Rb_tree_merge_helper, 32020: _Cmp2> 32020: { 32020: private: 32020: friend class std::map<_Key, _Val, _Cmp1, _Alloc>; 32020: 32020: static auto& 32020: _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map) 32020: { return __map._M_t; } 32020: 32020: static auto& 32020: _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map) 32020: { return __map._M_t; } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 62 "/usr/arm-linux-gnueabihf/include/c++/10/map" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 1 3 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: template 32020: class map; 32020: # 96 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template , 32020: typename _Alloc = std::allocator > > 32020: class multimap 32020: { 32020: public: 32020: typedef _Key key_type; 32020: typedef _Tp mapped_type; 32020: typedef std::pair value_type; 32020: typedef _Compare key_compare; 32020: typedef _Alloc allocator_type; 32020: 32020: private: 32020: # 127 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: public: 32020: class value_compare 32020: : public std::binary_function 32020: { 32020: friend class multimap<_Key, _Tp, _Compare, _Alloc>; 32020: protected: 32020: _Compare comp; 32020: 32020: value_compare(_Compare __c) 32020: : comp(__c) { } 32020: 32020: public: 32020: bool operator()(const value_type& __x, const value_type& __y) const 32020: { return comp(__x.first, __y.first); } 32020: }; 32020: 32020: private: 32020: 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind::other _Pair_alloc_type; 32020: 32020: typedef _Rb_tree, 32020: key_compare, _Pair_alloc_type> _Rep_type; 32020: 32020: _Rep_type _M_t; 32020: 32020: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 32020: 32020: public: 32020: 32020: 32020: typedef typename _Alloc_traits::pointer pointer; 32020: typedef typename _Alloc_traits::const_pointer const_pointer; 32020: typedef typename _Alloc_traits::reference reference; 32020: typedef typename _Alloc_traits::const_reference const_reference; 32020: typedef typename _Rep_type::iterator iterator; 32020: typedef typename _Rep_type::const_iterator const_iterator; 32020: typedef typename _Rep_type::size_type size_type; 32020: typedef typename _Rep_type::difference_type difference_type; 32020: typedef typename _Rep_type::reverse_iterator reverse_iterator; 32020: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 32020: 32020: 32020: using node_type = typename _Rep_type::node_type; 32020: # 182 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: multimap() = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: multimap(const _Compare& __comp, 32020: const allocator_type& __a = allocator_type()) 32020: : _M_t(__comp, _Pair_alloc_type(__a)) { } 32020: # 204 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: multimap(const multimap&) = default; 32020: # 213 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: multimap(multimap&&) = default; 32020: # 225 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: multimap(initializer_list __l, 32020: const _Compare& __comp = _Compare(), 32020: const allocator_type& __a = allocator_type()) 32020: : _M_t(__comp, _Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_equal(__l.begin(), __l.end()); } 32020: 32020: 32020: explicit 32020: multimap(const allocator_type& __a) 32020: : _M_t(_Pair_alloc_type(__a)) { } 32020: 32020: 32020: multimap(const multimap& __m, const allocator_type& __a) 32020: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 32020: 32020: 32020: multimap(multimap&& __m, const allocator_type& __a) 32020: noexcept(is_nothrow_copy_constructible<_Compare>::value 32020: && _Alloc_traits::_S_always_equal()) 32020: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 32020: 32020: 32020: multimap(initializer_list __l, const allocator_type& __a) 32020: : _M_t(_Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_equal(__l.begin(), __l.end()); } 32020: 32020: 32020: template 32020: multimap(_InputIterator __first, _InputIterator __last, 32020: const allocator_type& __a) 32020: : _M_t(_Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_equal(__first, __last); } 32020: # 268 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: multimap(_InputIterator __first, _InputIterator __last) 32020: : _M_t() 32020: { _M_t._M_insert_range_equal(__first, __last); } 32020: # 284 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: multimap(_InputIterator __first, _InputIterator __last, 32020: const _Compare& __comp, 32020: const allocator_type& __a = allocator_type()) 32020: : _M_t(__comp, _Pair_alloc_type(__a)) 32020: { _M_t._M_insert_range_equal(__first, __last); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: ~multimap() = default; 32020: # 313 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: multimap& 32020: operator=(const multimap&) = default; 32020: 32020: 32020: multimap& 32020: operator=(multimap&&) = default; 32020: # 331 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: multimap& 32020: operator=(initializer_list __l) 32020: { 32020: _M_t._M_assign_equal(__l.begin(), __l.end()); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_M_t.get_allocator()); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return _M_t.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return _M_t.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return _M_t.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return _M_t.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return _M_t.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return _M_t.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return _M_t.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return _M_t.rend(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return _M_t.begin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return _M_t.end(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return _M_t.rbegin(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return _M_t.rend(); } 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return _M_t.empty(); } 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return _M_t.size(); } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _M_t.max_size(); } 32020: # 489 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: iterator 32020: emplace(_Args&&... __args) 32020: { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } 32020: # 516 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: iterator 32020: emplace_hint(const_iterator __pos, _Args&&... __args) 32020: { 32020: return _M_t._M_emplace_hint_equal(__pos, 32020: std::forward<_Args>(__args)...); 32020: } 32020: # 538 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: insert(const value_type& __x) 32020: { return _M_t._M_insert_equal(__x); } 32020: 32020: 32020: 32020: 32020: iterator 32020: insert(value_type&& __x) 32020: { return _M_t._M_insert_equal(std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, iterator> 32020: insert(_Pair&& __x) 32020: { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); } 32020: # 577 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: 32020: insert(const_iterator __position, const value_type& __x) 32020: 32020: 32020: 32020: { return _M_t._M_insert_equal_(__position, __x); } 32020: 32020: 32020: 32020: 32020: iterator 32020: insert(const_iterator __position, value_type&& __x) 32020: { return _M_t._M_insert_equal_(__position, std::move(__x)); } 32020: 32020: template 32020: __enable_if_t::value, iterator> 32020: insert(const_iterator __position, _Pair&& __x) 32020: { 32020: return _M_t._M_emplace_hint_equal(__position, 32020: std::forward<_Pair>(__x)); 32020: } 32020: # 611 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: void 32020: insert(_InputIterator __first, _InputIterator __last) 32020: { _M_t._M_insert_range_equal(__first, __last); } 32020: # 624 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: void 32020: insert(initializer_list __l) 32020: { this->insert(__l.begin(), __l.end()); } 32020: 32020: 32020: 32020: 32020: node_type 32020: extract(const_iterator __pos) 32020: { 32020: ; 32020: return _M_t.extract(__pos); 32020: } 32020: 32020: 32020: node_type 32020: extract(const key_type& __x) 32020: { return _M_t.extract(__x); } 32020: 32020: 32020: iterator 32020: insert(node_type&& __nh) 32020: { return _M_t._M_reinsert_node_equal(std::move(__nh)); } 32020: 32020: 32020: iterator 32020: insert(const_iterator __hint, node_type&& __nh) 32020: { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); } 32020: 32020: template 32020: friend class std::_Rb_tree_merge_helper; 32020: 32020: template 32020: void 32020: merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source) 32020: { 32020: using _Merge_helper = _Rb_tree_merge_helper; 32020: _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source) 32020: { merge(__source); } 32020: 32020: template 32020: void 32020: merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source) 32020: { 32020: using _Merge_helper = _Rb_tree_merge_helper; 32020: _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source)); 32020: } 32020: 32020: template 32020: void 32020: merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source) 32020: { merge(__source); } 32020: # 701 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: erase(const_iterator __position) 32020: { return _M_t.erase(__position); } 32020: 32020: 32020: __attribute ((__abi_tag__ ("cxx11"))) 32020: iterator 32020: erase(iterator __position) 32020: { return _M_t.erase(__position); } 32020: # 738 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: size_type 32020: erase(const key_type& __x) 32020: { return _M_t.erase(__x); } 32020: # 759 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: erase(const_iterator __first, const_iterator __last) 32020: { return _M_t.erase(__first, __last); } 32020: # 796 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: void 32020: swap(multimap& __x) 32020: noexcept(__is_nothrow_swappable<_Compare>::value) 32020: { _M_t.swap(__x._M_t); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_t.clear(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: key_compare 32020: key_comp() const 32020: { return _M_t.key_comp(); } 32020: 32020: 32020: 32020: 32020: 32020: value_compare 32020: value_comp() const 32020: { return value_compare(_M_t.key_comp()); } 32020: # 842 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: find(const key_type& __x) 32020: { return _M_t.find(__x); } 32020: 32020: 32020: template 32020: auto 32020: find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) 32020: { return _M_t._M_find_tr(__x); } 32020: # 866 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: const_iterator 32020: find(const key_type& __x) const 32020: { return _M_t.find(__x); } 32020: 32020: 32020: template 32020: auto 32020: find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) 32020: { return _M_t._M_find_tr(__x); } 32020: # 884 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: size_type 32020: count(const key_type& __x) const 32020: { return _M_t.count(__x); } 32020: 32020: 32020: template 32020: auto 32020: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 32020: { return _M_t._M_count_tr(__x); } 32020: # 927 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: lower_bound(const key_type& __x) 32020: { return _M_t.lower_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: lower_bound(const _Kt& __x) 32020: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 32020: { return iterator(_M_t._M_lower_bound_tr(__x)); } 32020: # 952 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: const_iterator 32020: lower_bound(const key_type& __x) const 32020: { return _M_t.lower_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: lower_bound(const _Kt& __x) const 32020: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 32020: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 32020: # 972 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: iterator 32020: upper_bound(const key_type& __x) 32020: { return _M_t.upper_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: upper_bound(const _Kt& __x) 32020: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 32020: { return iterator(_M_t._M_upper_bound_tr(__x)); } 32020: # 992 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: const_iterator 32020: upper_bound(const key_type& __x) const 32020: { return _M_t.upper_bound(__x); } 32020: 32020: 32020: template 32020: auto 32020: upper_bound(const _Kt& __x) const 32020: -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) 32020: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 32020: # 1019 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: std::pair 32020: equal_range(const key_type& __x) 32020: { return _M_t.equal_range(__x); } 32020: 32020: 32020: template 32020: auto 32020: equal_range(const _Kt& __x) 32020: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 32020: { return pair(_M_t._M_equal_range_tr(__x)); } 32020: # 1046 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: std::pair 32020: equal_range(const key_type& __x) const 32020: { return _M_t.equal_range(__x); } 32020: 32020: 32020: template 32020: auto 32020: equal_range(const _Kt& __x) const 32020: -> decltype(pair( 32020: _M_t._M_equal_range_tr(__x))) 32020: { 32020: return pair( 32020: _M_t._M_equal_range_tr(__x)); 32020: } 32020: 32020: 32020: 32020: template 32020: friend bool 32020: operator==(const multimap<_K1, _T1, _C1, _A1>&, 32020: const multimap<_K1, _T1, _C1, _A1>&); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: friend bool 32020: operator<(const multimap<_K1, _T1, _C1, _A1>&, 32020: const multimap<_K1, _T1, _C1, _A1>&); 32020: 32020: }; 32020: 32020: 32020: 32020: template>, 32020: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireNotAllocator<_Compare>, 32020: typename = _RequireAllocator<_Allocator>> 32020: multimap(_InputIterator, _InputIterator, 32020: _Compare = _Compare(), _Allocator = _Allocator()) 32020: -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 32020: _Compare, _Allocator>; 32020: 32020: template, 32020: typename _Allocator = allocator>, 32020: typename = _RequireNotAllocator<_Compare>, 32020: typename = _RequireAllocator<_Allocator>> 32020: multimap(initializer_list>, 32020: _Compare = _Compare(), _Allocator = _Allocator()) 32020: -> multimap<_Key, _Tp, _Compare, _Allocator>; 32020: 32020: template, 32020: typename = _RequireAllocator<_Allocator>> 32020: multimap(_InputIterator, _InputIterator, _Allocator) 32020: -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 32020: less<__iter_key_t<_InputIterator>>, _Allocator>; 32020: 32020: template> 32020: multimap(initializer_list>, _Allocator) 32020: -> multimap<_Key, _Tp, less<_Key>, _Allocator>; 32020: # 1126 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: inline bool 32020: operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return __x._M_t == __y._M_t; } 32020: # 1164 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_multimap.h" 3 32020: template 32020: inline bool 32020: operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return __x._M_t < __y._M_t; } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return __y < __x; } 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, 32020: multimap<_Key, _Tp, _Compare, _Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct 32020: _Rb_tree_merge_helper, 32020: _Cmp2> 32020: { 32020: private: 32020: friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>; 32020: 32020: static auto& 32020: _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map) 32020: { return __map._M_t; } 32020: 32020: static auto& 32020: _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map) 32020: { return __map._M_t; } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/map" 2 3 32020: # 71 "/usr/arm-linux-gnueabihf/include/c++/10/map" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace pmr 32020: { 32020: template class polymorphic_allocator; 32020: template> 32020: using map 32020: = std::map<_Key, _Tp, _Cmp, 32020: polymorphic_allocator>>; 32020: template> 32020: using multimap 32020: = std::multimap<_Key, _Tp, _Cmp, 32020: polymorphic_allocator>>; 32020: } 32020: 32020: } 32020: # 57 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum class QCborSimpleType : quint8; 32020: 32020: template 32020: struct QMetaTypeId2; 32020: 32020: template 32020: inline constexpr int qMetaTypeId(); 32020: # 239 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: class QDataStream; 32020: class QMetaTypeInterface; 32020: struct QMetaObject; 32020: 32020: namespace QtPrivate 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: To convertImplicit(const From& from) 32020: { 32020: return from; 32020: } 32020: 32020: 32020: struct AbstractDebugStreamFunction 32020: { 32020: typedef void (*Stream)(const AbstractDebugStreamFunction *, QDebug&, const void *); 32020: typedef void (*Destroy)(AbstractDebugStreamFunction *); 32020: explicit AbstractDebugStreamFunction(Stream s = nullptr, Destroy d = nullptr) 32020: : stream(s), destroy(d) {} 32020: AbstractDebugStreamFunction(const AbstractDebugStreamFunction &) = delete; AbstractDebugStreamFunction &operator=(const AbstractDebugStreamFunction &) = delete; 32020: Stream stream; 32020: Destroy destroy; 32020: }; 32020: 32020: template 32020: struct BuiltInDebugStreamFunction : public AbstractDebugStreamFunction 32020: { 32020: BuiltInDebugStreamFunction() 32020: : AbstractDebugStreamFunction(stream, destroy) {} 32020: static void stream(const AbstractDebugStreamFunction *, QDebug& dbg, const void *r) 32020: { 32020: const T *rhs = static_cast(r); 32020: operator<<(dbg, *rhs); 32020: } 32020: 32020: static void destroy(AbstractDebugStreamFunction *_this) 32020: { 32020: delete static_cast(_this); 32020: } 32020: }; 32020: 32020: 32020: struct AbstractComparatorFunction 32020: { 32020: typedef bool (*LessThan)(const AbstractComparatorFunction *, const void *, const void *); 32020: typedef bool (*Equals)(const AbstractComparatorFunction *, const void *, const void *); 32020: typedef void (*Destroy)(AbstractComparatorFunction *); 32020: explicit AbstractComparatorFunction(LessThan lt = nullptr, Equals e = nullptr, Destroy d = nullptr) 32020: : lessThan(lt), equals(e), destroy(d) {} 32020: AbstractComparatorFunction(const AbstractComparatorFunction &) = delete; AbstractComparatorFunction &operator=(const AbstractComparatorFunction &) = delete; 32020: LessThan lessThan; 32020: Equals equals; 32020: Destroy destroy; 32020: }; 32020: 32020: template 32020: struct BuiltInComparatorFunction : public AbstractComparatorFunction 32020: { 32020: BuiltInComparatorFunction() 32020: : AbstractComparatorFunction(lessThan, equals, destroy) {} 32020: static bool lessThan(const AbstractComparatorFunction *, const void *l, const void *r) 32020: { 32020: const T *lhs = static_cast(l); 32020: const T *rhs = static_cast(r); 32020: return *lhs < *rhs; 32020: } 32020: 32020: static bool equals(const AbstractComparatorFunction *, const void *l, const void *r) 32020: { 32020: const T *lhs = static_cast(l); 32020: const T *rhs = static_cast(r); 32020: return *lhs == *rhs; 32020: } 32020: 32020: static void destroy(AbstractComparatorFunction *_this) 32020: { 32020: delete static_cast(_this); 32020: } 32020: }; 32020: 32020: template 32020: struct BuiltInEqualsComparatorFunction : public AbstractComparatorFunction 32020: { 32020: BuiltInEqualsComparatorFunction() 32020: : AbstractComparatorFunction(nullptr, equals, destroy) {} 32020: static bool equals(const AbstractComparatorFunction *, const void *l, const void *r) 32020: { 32020: const T *lhs = static_cast(l); 32020: const T *rhs = static_cast(r); 32020: return *lhs == *rhs; 32020: } 32020: 32020: static void destroy(AbstractComparatorFunction *_this) 32020: { 32020: delete static_cast(_this); 32020: } 32020: }; 32020: 32020: struct AbstractConverterFunction 32020: { 32020: typedef bool (*Converter)(const AbstractConverterFunction *, const void *, void*); 32020: explicit AbstractConverterFunction(Converter c = nullptr) 32020: : convert(c) {} 32020: AbstractConverterFunction(const AbstractConverterFunction &) = delete; AbstractConverterFunction &operator=(const AbstractConverterFunction &) = delete; 32020: Converter convert; 32020: }; 32020: 32020: template 32020: struct ConverterMemberFunction : public AbstractConverterFunction 32020: { 32020: explicit ConverterMemberFunction(To(From::*function)() const) 32020: : AbstractConverterFunction(convert), 32020: m_function(function) {} 32020: ~ConverterMemberFunction(); 32020: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 32020: { 32020: const From *f = static_cast(in); 32020: To *t = static_cast(out); 32020: const ConverterMemberFunction *_typedThis = 32020: static_cast(_this); 32020: *t = (f->*_typedThis->m_function)(); 32020: return true; 32020: } 32020: 32020: To(From::* const m_function)() const; 32020: }; 32020: 32020: template 32020: struct ConverterMemberFunctionOk : public AbstractConverterFunction 32020: { 32020: explicit ConverterMemberFunctionOk(To(From::*function)(bool *) const) 32020: : AbstractConverterFunction(convert), 32020: m_function(function) {} 32020: ~ConverterMemberFunctionOk(); 32020: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 32020: { 32020: const From *f = static_cast(in); 32020: To *t = static_cast(out); 32020: bool ok = false; 32020: const ConverterMemberFunctionOk *_typedThis = 32020: static_cast(_this); 32020: *t = (f->*_typedThis->m_function)(&ok); 32020: if (!ok) 32020: *t = To(); 32020: return ok; 32020: } 32020: 32020: To(From::* const m_function)(bool*) const; 32020: }; 32020: 32020: template 32020: struct ConverterFunctor : public AbstractConverterFunction 32020: { 32020: explicit ConverterFunctor(UnaryFunction function) 32020: : AbstractConverterFunction(convert), 32020: m_function(function) {} 32020: ~ConverterFunctor(); 32020: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 32020: { 32020: const From *f = static_cast(in); 32020: To *t = static_cast(out); 32020: const ConverterFunctor *_typedThis = 32020: static_cast(_this); 32020: *t = _typedThis->m_function(*f); 32020: return true; 32020: } 32020: 32020: UnaryFunction m_function; 32020: }; 32020: 32020: template 32020: struct ValueTypeIsMetaType; 32020: template 32020: struct AssociativeValueTypeIsMetaType; 32020: template 32020: struct IsMetaTypePair; 32020: template 32020: struct MetaTypeSmartPointerHelper; 32020: } 32020: 32020: class __attribute__((visibility("default"))) QMetaType { 32020: enum ExtensionFlag { NoExtensionFlags, 32020: CreateEx = 0x1, DestroyEx = 0x2, 32020: ConstructEx = 0x4, DestructEx = 0x8, 32020: NameEx = 0x10, SizeEx = 0x20, 32020: CtorEx = 0x40, DtorEx = 0x80, 32020: FlagsEx = 0x100, MetaObjectEx = 0x200 32020: }; 32020: public: 32020: 32020: 32020: enum Type { 32020: 32020: 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, QCborSimpleType = 52, 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, QRegularExpression = 44, QJsonValue = 45, QJsonObject = 46, QJsonArray = 47, QJsonDocument = 48, QCborValue = 53, QCborArray = 54, QCborMap = 55, QModelIndex = 42, 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, QColorSpace = 87, QSizePolicy = 121, 32020: 32020: FirstCoreType = Bool, 32020: LastCoreType = QCborMap, 32020: FirstGuiType = QFont, 32020: LastGuiType = QColorSpace, 32020: FirstWidgetsType = QSizePolicy, 32020: LastWidgetsType = QSizePolicy, 32020: HighestInternalId = LastWidgetsType, 32020: 32020: QReal = sizeof(qreal) == sizeof(double) ? Double : Float, 32020: 32020: UnknownType = 0, 32020: User = 1024 32020: }; 32020: # 486 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: enum TypeFlag { 32020: NeedsConstruction = 0x1, 32020: NeedsDestruction = 0x2, 32020: MovableType = 0x4, 32020: PointerToQObject = 0x8, 32020: IsEnumeration = 0x10, 32020: SharedPointerToQObject = 0x20, 32020: WeakPointerToQObject = 0x40, 32020: TrackingPointerToQObject = 0x80, 32020: WasDeclaredAsMetaType = 0x100, 32020: IsGadget = 0x200, 32020: PointerToGadget = 0x400 32020: }; 32020: typedef QFlags TypeFlags; 32020: 32020: typedef void (*Deleter)(void *); 32020: typedef void *(*Creator)(const void *); 32020: 32020: 32020: typedef void (*Destructor)(void *); 32020: typedef void *(*Constructor)(void *, const void *); 32020: 32020: typedef void (*TypedDestructor)(int, void *); 32020: typedef void *(*TypedConstructor)(int, void *, const void *); 32020: 32020: typedef void (*SaveOperator)(QDataStream &, const void *); 32020: typedef void (*LoadOperator)(QDataStream &, void *); 32020: 32020: static void registerStreamOperators(const char *typeName, SaveOperator saveOp, 32020: LoadOperator loadOp); 32020: static void registerStreamOperators(int type, SaveOperator saveOp, 32020: LoadOperator loadOp); 32020: 32020: static int registerType(const char *typeName, Deleter deleter, 32020: Creator creator); 32020: static int registerType(const char *typeName, Deleter deleter, 32020: Creator creator, 32020: Destructor destructor, 32020: Constructor constructor, 32020: int size, 32020: QMetaType::TypeFlags flags, 32020: const QMetaObject *metaObject); 32020: static int registerType(const char *typeName, 32020: TypedDestructor destructor, 32020: TypedConstructor constructor, 32020: int size, 32020: QMetaType::TypeFlags flags, 32020: const QMetaObject *metaObject); 32020: static bool unregisterType(int type); 32020: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, Deleter deleter, 32020: Creator creator, 32020: Destructor destructor, 32020: Constructor constructor, 32020: int size, 32020: QMetaType::TypeFlags flags, 32020: const QMetaObject *metaObject); 32020: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, Destructor destructor, 32020: Constructor constructor, 32020: int size, 32020: QMetaType::TypeFlags flags, 32020: const QMetaObject *metaObject); 32020: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, TypedDestructor destructor, 32020: TypedConstructor constructor, 32020: int size, 32020: QMetaType::TypeFlags flags, 32020: const QMetaObject *metaObject); 32020: static int registerTypedef(const char *typeName, int aliasId); 32020: static int registerNormalizedTypedef(const ::QByteArray &normalizedTypeName, int aliasId); 32020: static int type(const char *typeName); 32020: 32020: static int type(const ::QByteArray &typeName); 32020: static const char *typeName(int type); 32020: static int sizeOf(int type); 32020: static TypeFlags typeFlags(int type); 32020: static const QMetaObject *metaObjectForType(int type); 32020: static bool isRegistered(int type); 32020: static void *create(int type, const void *copy = nullptr); 32020: 32020: 32020: 32020: 32020: static void destroy(int type, void *data); 32020: static void *construct(int type, void *where, const void *copy); 32020: static void destruct(int type, void *where); 32020: 32020: 32020: static bool save(QDataStream &stream, int type, const void *data); 32020: static bool load(QDataStream &stream, int type, void *data); 32020: 32020: 32020: explicit QMetaType(const int type = QMetaType::UnknownType); 32020: inline ~QMetaType(); 32020: 32020: inline bool isValid() const; 32020: inline bool isRegistered() const; 32020: inline int id() const; 32020: inline int sizeOf() const; 32020: inline TypeFlags flags() const; 32020: inline const QMetaObject *metaObject() const; 32020: ::QByteArray name() const; 32020: 32020: inline void *create(const void *copy = nullptr) const; 32020: inline void destroy(void *data) const; 32020: inline void *construct(void *where, const void *copy = nullptr) const; 32020: inline void destruct(void *data) const; 32020: 32020: template 32020: static QMetaType fromType() 32020: { return QMetaType(qMetaTypeId()); } 32020: 32020: friend bool operator==(const QMetaType &a, const QMetaType &b) 32020: { return a.m_typeId == b.m_typeId; } 32020: 32020: friend bool operator!=(const QMetaType &a, const QMetaType &b) 32020: { return a.m_typeId != b.m_typeId; } 32020: 32020: 32020: public: 32020: template 32020: static bool registerComparators() 32020: { 32020: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerComparators: The type must be a custom type.") 32020: ; 32020: 32020: const int typeId = qMetaTypeId(); 32020: static const QtPrivate::BuiltInComparatorFunction f; 32020: return registerComparatorFunction( &f, typeId); 32020: } 32020: template 32020: static bool registerEqualsComparator() 32020: { 32020: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerEqualsComparator: The type must be a custom type.") 32020: ; 32020: const int typeId = qMetaTypeId(); 32020: static const QtPrivate::BuiltInEqualsComparatorFunction f; 32020: return registerComparatorFunction( &f, typeId); 32020: } 32020: 32020: template 32020: static bool hasRegisteredComparators() 32020: { 32020: return hasRegisteredComparators(qMetaTypeId()); 32020: } 32020: static bool hasRegisteredComparators(int typeId); 32020: 32020: 32020: 32020: template 32020: static bool registerDebugStreamOperator() 32020: { 32020: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerDebugStreamOperator: The type must be a custom type.") 32020: ; 32020: 32020: const int typeId = qMetaTypeId(); 32020: static const QtPrivate::BuiltInDebugStreamFunction f; 32020: return registerDebugStreamOperatorFunction(&f, typeId); 32020: } 32020: template 32020: static bool hasRegisteredDebugStreamOperator() 32020: { 32020: return hasRegisteredDebugStreamOperator(qMetaTypeId()); 32020: } 32020: static bool hasRegisteredDebugStreamOperator(int typeId); 32020: 32020: 32020: 32020: template 32020: static bool registerConverter() 32020: { 32020: return registerConverter(QtPrivate::convertImplicit); 32020: } 32020: # 667 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: template 32020: static bool registerConverter(To(From::*function)() const) 32020: { 32020: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 32020: ; 32020: 32020: const int fromTypeId = qMetaTypeId(); 32020: const int toTypeId = qMetaTypeId(); 32020: static const QtPrivate::ConverterMemberFunction f(function); 32020: return registerConverterFunction(&f, fromTypeId, toTypeId); 32020: } 32020: 32020: 32020: template 32020: static bool registerConverter(To(From::*function)(bool*) const) 32020: { 32020: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 32020: ; 32020: 32020: const int fromTypeId = qMetaTypeId(); 32020: const int toTypeId = qMetaTypeId(); 32020: static const QtPrivate::ConverterMemberFunctionOk f(function); 32020: return registerConverterFunction(&f, fromTypeId, toTypeId); 32020: } 32020: 32020: 32020: template 32020: static bool registerConverter(UnaryFunction function) 32020: { 32020: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 32020: ; 32020: 32020: const int fromTypeId = qMetaTypeId(); 32020: const int toTypeId = qMetaTypeId(); 32020: static const QtPrivate::ConverterFunctor f(function); 32020: return registerConverterFunction(&f, fromTypeId, toTypeId); 32020: } 32020: 32020: 32020: static bool convert(const void *from, int fromTypeId, void *to, int toTypeId); 32020: static bool compare(const void *lhs, const void *rhs, int typeId, int* result); 32020: static bool equals(const void *lhs, const void *rhs, int typeId, int* result); 32020: static bool debugStream(QDebug& dbg, const void *rhs, int typeId); 32020: 32020: template 32020: static bool hasRegisteredConverterFunction() 32020: { 32020: return hasRegisteredConverterFunction(qMetaTypeId(), qMetaTypeId()); 32020: } 32020: 32020: static bool hasRegisteredConverterFunction(int fromTypeId, int toTypeId); 32020: 32020: private: 32020: static QMetaType typeInfo(const int type); 32020: inline QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeInterface *info, 32020: TypedConstructor creator, 32020: TypedDestructor deleter, 32020: SaveOperator saveOp, 32020: LoadOperator loadOp, 32020: Constructor constructor, 32020: Destructor destructor, 32020: uint sizeOf, 32020: uint theTypeFlags, 32020: int typeId, 32020: const QMetaObject *metaObject); 32020: QMetaType(const QMetaType &other); 32020: QMetaType &operator =(const QMetaType &); 32020: inline bool isExtended(const ExtensionFlag flag) const { return m_extensionFlags & flag; } 32020: 32020: 32020: void ctor(const QMetaTypeInterface *info); 32020: void dtor(); 32020: uint sizeExtended() const; 32020: QMetaType::TypeFlags flagsExtended() const; 32020: const QMetaObject *metaObjectExtended() const; 32020: void *createExtended(const void *copy = nullptr) const; 32020: void destroyExtended(void *data) const; 32020: void *constructExtended(void *where, const void *copy = nullptr) const; 32020: void destructExtended(void *data) const; 32020: 32020: static bool registerComparatorFunction(const QtPrivate::AbstractComparatorFunction *f, int type); 32020: 32020: static bool registerDebugStreamOperatorFunction(const QtPrivate::AbstractDebugStreamFunction *f, int type); 32020: 32020: 32020: 32020: 32020: 32020: template friend struct QtPrivate::ValueTypeIsMetaType; 32020: template friend struct QtPrivate::ConverterMemberFunction; 32020: template friend struct QtPrivate::ConverterMemberFunctionOk; 32020: template friend struct QtPrivate::ConverterFunctor; 32020: template friend struct QtPrivate::AssociativeValueTypeIsMetaType; 32020: template friend struct QtPrivate::IsMetaTypePair; 32020: template friend struct QtPrivate::MetaTypeSmartPointerHelper; 32020: 32020: 32020: 32020: 32020: static bool registerConverterFunction(const QtPrivate::AbstractConverterFunction *f, int from, int to); 32020: static void unregisterConverterFunction(int from, int to); 32020: private: 32020: 32020: TypedConstructor m_typedConstructor; 32020: TypedDestructor m_typedDestructor; 32020: SaveOperator m_saveOp; 32020: LoadOperator m_loadOp; 32020: Constructor m_constructor; 32020: Destructor m_destructor; 32020: void *m_extension; 32020: uint m_size; 32020: uint m_typeFlags; 32020: uint m_extensionFlags; 32020: int m_typeId; 32020: const QMetaObject *m_metaObject; 32020: }; 32020: 32020: 32020: 32020: 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); } 32020: 32020: namespace QtPrivate { 32020: 32020: template 32020: ConverterMemberFunction::~ConverterMemberFunction() 32020: { 32020: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 32020: } 32020: template 32020: ConverterMemberFunctionOk::~ConverterMemberFunctionOk() 32020: { 32020: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 32020: } 32020: template 32020: ConverterFunctor::~ConverterFunctor() 32020: { 32020: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace QtMetaTypePrivate { 32020: template 32020: struct QMetaTypeFunctionHelper { 32020: static void Destruct(void *t) 32020: { 32020: (void)t; 32020: static_cast(t)->~T(); 32020: } 32020: 32020: static void *Construct(void *where, const void *t) 32020: { 32020: if (t) 32020: return new (where) T(*static_cast(t)); 32020: return new (where) T; 32020: } 32020: 32020: static void Save(QDataStream &stream, const void *t) 32020: { 32020: stream << *static_cast(t); 32020: } 32020: 32020: static void Load(QDataStream &stream, void *t) 32020: { 32020: stream >> *static_cast(t); 32020: } 32020: 32020: }; 32020: 32020: template 32020: struct QMetaTypeFunctionHelper { 32020: static void Destruct(void *) {} 32020: static void *Construct(void *, const void *) { return nullptr; } 32020: 32020: static void Save(QDataStream &, const void *) {} 32020: static void Load(QDataStream &, void *) {} 32020: 32020: }; 32020: template <> 32020: struct QMetaTypeFunctionHelper 32020: : public QMetaTypeFunctionHelper 32020: {}; 32020: 32020: struct VariantData 32020: { 32020: VariantData(const int metaTypeId_, 32020: const void *data_, 32020: const uint flags_) 32020: : metaTypeId(metaTypeId_) 32020: , data(data_) 32020: , flags(flags_) 32020: { 32020: } 32020: VariantData(const VariantData &other) 32020: : metaTypeId(other.metaTypeId), data(other.data), flags(other.flags){} 32020: const int metaTypeId; 32020: const void *data; 32020: const uint flags; 32020: private: 32020: 32020: VariantData &operator=(const VariantData &) = delete; 32020: }; 32020: 32020: template 32020: struct IteratorOwnerCommon 32020: { 32020: static void assign(void **ptr, const_iterator iterator) 32020: { 32020: *ptr = new const_iterator(iterator); 32020: } 32020: static void assign(void **ptr, void * const * src) 32020: { 32020: *ptr = new const_iterator(*static_cast(*src)); 32020: } 32020: 32020: static void advance(void **iterator, int step) 32020: { 32020: const_iterator &it = *static_cast(*iterator); 32020: std::advance(it, step); 32020: } 32020: 32020: static void destroy(void **ptr) 32020: { 32020: delete static_cast(*ptr); 32020: } 32020: 32020: static bool equal(void * const *it, void * const *other) 32020: { 32020: return *static_cast(*it) == *static_cast(*other); 32020: } 32020: }; 32020: 32020: template 32020: struct IteratorOwner : IteratorOwnerCommon 32020: { 32020: static const void *getData(void * const *iterator) 32020: { 32020: return &**static_cast(*iterator); 32020: } 32020: 32020: static const void *getData(const_iterator it) 32020: { 32020: return &*it; 32020: } 32020: }; 32020: 32020: struct __attribute__((visibility("default"))) VectorBoolElements 32020: { 32020: static const bool true_element; 32020: static const bool false_element; 32020: }; 32020: 32020: template<> 32020: struct IteratorOwner::const_iterator> : IteratorOwnerCommon::const_iterator> 32020: { 32020: public: 32020: static const void *getData(void * const *iterator) 32020: { 32020: return **static_cast::const_iterator*>(*iterator) ? 32020: &VectorBoolElements::true_element : &VectorBoolElements::false_element; 32020: } 32020: 32020: static const void *getData(const std::vector::const_iterator& it) 32020: { 32020: return *it ? &VectorBoolElements::true_element : &VectorBoolElements::false_element; 32020: } 32020: }; 32020: 32020: template 32020: struct IteratorOwner 32020: { 32020: private: 32020: 32020: 32020: 32020: struct Dummy {}; 32020: typedef typename std::conditional::value, Dummy, value_type>::type value_type_OR_Dummy; 32020: public: 32020: static void assign(void **ptr, const value_type_OR_Dummy *iterator ) 32020: { 32020: *ptr = const_cast(iterator); 32020: } 32020: static void assign(void **ptr, void * const * src) 32020: { 32020: *ptr = static_cast(*src); 32020: } 32020: 32020: static void advance(void **iterator, int step) 32020: { 32020: value_type *it = static_cast(*iterator); 32020: std::advance(it, step); 32020: *iterator = it; 32020: } 32020: 32020: static void destroy(void **) 32020: { 32020: } 32020: 32020: static const void *getData(void * const *iterator) 32020: { 32020: return *iterator; 32020: } 32020: 32020: static const void *getData(const value_type_OR_Dummy *it) 32020: { 32020: return it; 32020: } 32020: 32020: static bool equal(void * const *it, void * const *other) 32020: { 32020: return static_cast(*it) == static_cast(*other); 32020: } 32020: }; 32020: 32020: enum IteratorCapability 32020: { 32020: ForwardCapability = 1, 32020: BiDirectionalCapability = 2, 32020: RandomAccessCapability = 4 32020: }; 32020: 32020: enum ContainerCapability 32020: { 32020: ContainerIsAppendable = 1 32020: }; 32020: 32020: template 32020: struct ContainerCapabilitiesImpl 32020: { 32020: enum {ContainerCapabilities = 0}; 32020: using appendFunction = void(*)(const void *container, const void *newElement); 32020: static constexpr const appendFunction appendImpl = nullptr; 32020: }; 32020: 32020: template 32020: struct ContainerCapabilitiesImpl().push_back(std::declval()))> 32020: { 32020: enum {ContainerCapabilities = ContainerIsAppendable}; 32020: 32020: 32020: 32020: static void appendImpl(const void *container, const void *value) 32020: { static_cast(const_cast(container))->push_back(*static_cast(value)); } 32020: }; 32020: 32020: namespace QtPrivate { 32020: namespace ContainerCapabilitiesMetaProgrammingHelper { 32020: template 32020: using void_t = void; 32020: } 32020: } 32020: 32020: template 32020: struct ContainerCapabilitiesImpl().insert(std::declval())), decltype(std::declval() == std::declval())>> 32020: { 32020: enum {ContainerCapabilities = ContainerIsAppendable}; 32020: 32020: 32020: 32020: static void appendImpl(const void *container, const void *value) 32020: { static_cast(const_cast(container))->insert(*static_cast(value)); } 32020: }; 32020: 32020: template::iterator_category> 32020: struct CapabilitiesImpl; 32020: 32020: template 32020: struct CapabilitiesImpl 32020: { enum { IteratorCapabilities = ForwardCapability }; }; 32020: template 32020: struct CapabilitiesImpl 32020: { enum { IteratorCapabilities = BiDirectionalCapability | ForwardCapability }; }; 32020: template 32020: struct CapabilitiesImpl 32020: { enum { IteratorCapabilities = RandomAccessCapability | BiDirectionalCapability | ForwardCapability }; }; 32020: 32020: template 32020: struct ContainerAPI : CapabilitiesImpl 32020: { 32020: static int size(const T *t) { return int(std::distance(t->begin(), t->end())); } 32020: }; 32020: 32020: template 32020: struct ContainerAPI > : CapabilitiesImpl > 32020: { static int size(const QList *t) { return t->size(); } }; 32020: 32020: template 32020: struct ContainerAPI > : CapabilitiesImpl > 32020: { static int size(const QVector *t) { return t->size(); } }; 32020: 32020: template 32020: struct ContainerAPI > : CapabilitiesImpl > 32020: { static int size(const std::vector *t) { return int(t->size()); } }; 32020: 32020: template 32020: struct ContainerAPI > : CapabilitiesImpl > 32020: { static int size(const std::list *t) { return int(t->size()); } }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QSequentialIterableImpl 32020: { 32020: public: 32020: const void * _iterable; 32020: void *_iterator; 32020: int _metaType_id; 32020: uint _metaType_flags; 32020: uint _iteratorCapabilities; 32020: 32020: 32020: 32020: 32020: 32020: typedef int(*sizeFunc)(const void *p); 32020: typedef const void * (*atFunc)(const void *p, int); 32020: typedef void (*moveIteratorFunc)(const void *p, void **); 32020: enum Position { ToBegin, ToEnd }; 32020: typedef void (*moveIteratorFunc2)(const void *p, void **, Position position); 32020: typedef void (*advanceFunc)(void **p, int); 32020: typedef VariantData (*getFunc)( void * const *p, int metaTypeId, uint flags); 32020: typedef void (*destroyIterFunc)(void **p); 32020: typedef bool (*equalIterFunc)(void * const *p, void * const *other); 32020: typedef void (*copyIterFunc)(void **, void * const *); 32020: typedef void(*appendFunction)(const void *container, const void *newElement); 32020: 32020: IteratorCapability iteratorCapabilities() {return static_cast(_iteratorCapabilities & 0xF);} 32020: uint revision() {return _iteratorCapabilities >> 4 & 0x7;} 32020: uint containerCapabilities() {return _iteratorCapabilities >> 7 & 0xF;} 32020: 32020: sizeFunc _size; 32020: atFunc _at; 32020: union { 32020: moveIteratorFunc _moveToBegin; 32020: moveIteratorFunc2 _moveTo; 32020: }; 32020: union { 32020: moveIteratorFunc _moveToEnd; 32020: appendFunction _append; 32020: }; 32020: advanceFunc _advance; 32020: getFunc _get; 32020: destroyIterFunc _destroyIter; 32020: equalIterFunc _equalIter; 32020: copyIterFunc _copyIter; 32020: 32020: template 32020: static int sizeImpl(const void *p) 32020: { return ContainerAPI::size(static_cast(p)); } 32020: 32020: template 32020: static const void* atImpl(const void *p, int idx) 32020: { 32020: typename T::const_iterator i = static_cast(p)->begin(); 32020: std::advance(i, idx); 32020: return IteratorOwner::getData(i); 32020: } 32020: 32020: template 32020: static void moveToBeginImpl(const void *container, void **iterator) 32020: { IteratorOwner::assign(iterator, static_cast(container)->begin()); } 32020: 32020: template 32020: static void moveToEndImpl(const void *container, void **iterator) 32020: { IteratorOwner::assign(iterator, static_cast(container)->end()); } 32020: 32020: template 32020: static void moveToImpl(const void *container, void **iterator, Position position) 32020: { 32020: if (position == ToBegin) 32020: moveToBeginImpl(container, iterator); 32020: else 32020: moveToEndImpl(container, iterator); 32020: } 32020: 32020: template 32020: static VariantData getImpl(void * const *iterator, int metaTypeId, uint flags) 32020: { return VariantData(metaTypeId, IteratorOwner::getData(iterator), flags); } 32020: 32020: public: 32020: template QSequentialIterableImpl(const T*p) 32020: : _iterable(p) 32020: , _iterator(nullptr) 32020: , _metaType_id(qMetaTypeId()) 32020: , _metaType_flags(QTypeInfo::isPointer) 32020: , _iteratorCapabilities(ContainerAPI::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl::ContainerCapabilities << (4+3))) 32020: , _size(sizeImpl) 32020: , _at(atImpl) 32020: , _moveTo(moveToImpl) 32020: , _append(ContainerCapabilitiesImpl::appendImpl) 32020: , _advance(IteratorOwner::advance) 32020: , _get(getImpl) 32020: , _destroyIter(IteratorOwner::destroy) 32020: , _equalIter(IteratorOwner::equal) 32020: , _copyIter(IteratorOwner::assign) 32020: { 32020: } 32020: 32020: QSequentialIterableImpl() 32020: : _iterable(nullptr) 32020: , _iterator(nullptr) 32020: , _metaType_id(QMetaType::UnknownType) 32020: , _metaType_flags(0) 32020: , _iteratorCapabilities(0 | (1 << 4) ) 32020: , _size(nullptr) 32020: , _at(nullptr) 32020: , _moveToBegin(nullptr) 32020: , _moveToEnd(nullptr) 32020: , _advance(nullptr) 32020: , _get(nullptr) 32020: , _destroyIter(nullptr) 32020: , _equalIter(nullptr) 32020: , _copyIter(nullptr) 32020: { 32020: } 32020: 32020: inline void moveToBegin() { 32020: if (revision() == 0) 32020: _moveToBegin(_iterable, &_iterator); 32020: else 32020: _moveTo(_iterable, &_iterator, ToBegin); 32020: } 32020: inline void moveToEnd() { 32020: if (revision() == 0) 32020: _moveToEnd(_iterable, &_iterator); 32020: else 32020: _moveTo(_iterable, &_iterator, ToEnd); 32020: } 32020: inline bool equal(const QSequentialIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } 32020: inline QSequentialIterableImpl &advance(int i) { 32020: static_cast(false && (i > 0 || _iteratorCapabilities & BiDirectionalCapability)); 32020: _advance(&_iterator, i); 32020: return *this; 32020: } 32020: 32020: inline void append(const void *newElement) { 32020: if (containerCapabilities() & ContainerIsAppendable) 32020: _append(_iterable, newElement); 32020: } 32020: 32020: inline VariantData getCurrent() const { return _get(&_iterator, _metaType_id, _metaType_flags); } 32020: 32020: VariantData at(int idx) const 32020: { return VariantData(_metaType_id, _at(_iterable, idx), _metaType_flags); } 32020: 32020: int size() const { static_cast(false && (_iterable)); return _size(_iterable); } 32020: 32020: inline void destroyIter() { _destroyIter(&_iterator); } 32020: 32020: void copy(const QSequentialIterableImpl &other) 32020: { 32020: *this = other; 32020: _copyIter(&_iterator, &other._iterator); 32020: } 32020: }; 32020: } template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = ((((Q_MOVABLE_TYPE)) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = ((((Q_MOVABLE_TYPE)) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (((Q_MOVABLE_TYPE)) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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 { 32020: 32020: template 32020: struct QSequentialIterableConvertFunctor 32020: { 32020: QSequentialIterableImpl operator()(const From &f) const 32020: { 32020: return QSequentialIterableImpl(&f); 32020: } 32020: }; 32020: } 32020: 32020: namespace QtMetaTypePrivate { 32020: template::value> 32020: struct AssociativeContainerAccessor 32020: { 32020: static const typename T::key_type& getKey(const typename T::const_iterator &it) 32020: { 32020: return it.key(); 32020: } 32020: 32020: static const typename T::mapped_type& getValue(const typename T::const_iterator &it) 32020: { 32020: return it.value(); 32020: } 32020: }; 32020: 32020: template >::value> 32020: struct StlStyleAssociativeContainerAccessor; 32020: 32020: template 32020: struct StlStyleAssociativeContainerAccessor 32020: { 32020: static const typename T::key_type& getKey(const typename T::const_iterator &it) 32020: { 32020: return it->first; 32020: } 32020: 32020: static const typename T::mapped_type& getValue(const typename T::const_iterator &it) 32020: { 32020: return it->second; 32020: } 32020: }; 32020: 32020: template 32020: struct AssociativeContainerAccessor : public StlStyleAssociativeContainerAccessor 32020: { 32020: }; 32020: 32020: class QAssociativeIterableImpl 32020: { 32020: public: 32020: const void *_iterable; 32020: void *_iterator; 32020: int _metaType_id_key; 32020: uint _metaType_flags_key; 32020: int _metaType_id_value; 32020: uint _metaType_flags_value; 32020: typedef int(*sizeFunc)(const void *p); 32020: typedef void (*findFunc)(const void *container, const void *p, void **iterator); 32020: typedef void (*beginFunc)(const void *p, void **); 32020: typedef void (*advanceFunc)(void **p, int); 32020: typedef VariantData (*getFunc)(void * const *p, int metaTypeId, uint flags); 32020: typedef void (*destroyIterFunc)(void **p); 32020: typedef bool (*equalIterFunc)(void * const *p, void * const *other); 32020: typedef void (*copyIterFunc)(void **, void * const *); 32020: 32020: sizeFunc _size; 32020: findFunc _find; 32020: beginFunc _begin; 32020: beginFunc _end; 32020: advanceFunc _advance; 32020: getFunc _getKey; 32020: getFunc _getValue; 32020: destroyIterFunc _destroyIter; 32020: equalIterFunc _equalIter; 32020: copyIterFunc _copyIter; 32020: 32020: template 32020: static int sizeImpl(const void *p) 32020: { return int(std::distance(static_cast(p)->begin(), 32020: static_cast(p)->end())); } 32020: 32020: template 32020: static void findImpl(const void *container, const void *p, void **iterator) 32020: { IteratorOwner::assign(iterator, 32020: static_cast(container)->find(*static_cast(p))); } 32020: 32020: 32020: # 1318 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 1318 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: 32020: 32020: # 1319 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: # 1319 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: 32020: template 32020: static void advanceImpl(void **p, int step) 32020: { std::advance(*static_cast(*p), step); } 32020: 32020: # 1323 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 1323 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: 32020: 32020: template 32020: static void beginImpl(const void *container, void **iterator) 32020: { IteratorOwner::assign(iterator, static_cast(container)->begin()); } 32020: 32020: template 32020: static void endImpl(const void *container, void **iterator) 32020: { IteratorOwner::assign(iterator, static_cast(container)->end()); } 32020: 32020: template 32020: static VariantData getKeyImpl(void * const *iterator, int metaTypeId, uint flags) 32020: { return VariantData(metaTypeId, &AssociativeContainerAccessor::getKey(*static_cast(*iterator)), flags); } 32020: 32020: template 32020: static VariantData getValueImpl(void * const *iterator, int metaTypeId, uint flags) 32020: { return VariantData(metaTypeId, &AssociativeContainerAccessor::getValue(*static_cast(*iterator)), flags); } 32020: 32020: public: 32020: template QAssociativeIterableImpl(const T*p) 32020: : _iterable(p) 32020: , _iterator(nullptr) 32020: , _metaType_id_key(qMetaTypeId()) 32020: , _metaType_flags_key(QTypeInfo::isPointer) 32020: , _metaType_id_value(qMetaTypeId()) 32020: , _metaType_flags_value(QTypeInfo::isPointer) 32020: , _size(sizeImpl) 32020: , _find(findImpl) 32020: , _begin(beginImpl) 32020: , _end(endImpl) 32020: , _advance(advanceImpl) 32020: , _getKey(getKeyImpl) 32020: , _getValue(getValueImpl) 32020: , _destroyIter(IteratorOwner::destroy) 32020: , _equalIter(IteratorOwner::equal) 32020: , _copyIter(IteratorOwner::assign) 32020: { 32020: } 32020: 32020: QAssociativeIterableImpl() 32020: : _iterable(nullptr) 32020: , _iterator(nullptr) 32020: , _metaType_id_key(QMetaType::UnknownType) 32020: , _metaType_flags_key(0) 32020: , _metaType_id_value(QMetaType::UnknownType) 32020: , _metaType_flags_value(0) 32020: , _size(nullptr) 32020: , _find(nullptr) 32020: , _begin(nullptr) 32020: , _end(nullptr) 32020: , _advance(nullptr) 32020: , _getKey(nullptr) 32020: , _getValue(nullptr) 32020: , _destroyIter(nullptr) 32020: , _equalIter(nullptr) 32020: , _copyIter(nullptr) 32020: { 32020: } 32020: 32020: inline void begin() { _begin(_iterable, &_iterator); } 32020: inline void end() { _end(_iterable, &_iterator); } 32020: inline bool equal(const QAssociativeIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } 32020: inline QAssociativeIterableImpl &advance(int i) { _advance(&_iterator, i); return *this; } 32020: 32020: inline void destroyIter() { _destroyIter(&_iterator); } 32020: 32020: inline VariantData getCurrentKey() const { return _getKey(&_iterator, _metaType_id_key, _metaType_flags_key); } 32020: inline VariantData getCurrentValue() const { return _getValue(&_iterator, _metaType_id_value, _metaType_flags_value); } 32020: 32020: inline void find(const VariantData &key) 32020: { _find(_iterable, key.data, &_iterator); } 32020: 32020: int size() const { static_cast(false && (_iterable)); return _size(_iterable); } 32020: 32020: void copy(const QAssociativeIterableImpl &other) 32020: { 32020: *this = other; 32020: _copyIter(&_iterator, &other._iterator); 32020: } 32020: }; 32020: } template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = ((((Q_MOVABLE_TYPE)) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = ((((Q_MOVABLE_TYPE)) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (((Q_MOVABLE_TYPE)) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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 { 32020: 32020: template 32020: struct QAssociativeIterableConvertFunctor 32020: { 32020: QAssociativeIterableImpl operator()(const From& f) const 32020: { 32020: return QAssociativeIterableImpl(&f); 32020: } 32020: }; 32020: 32020: class QPairVariantInterfaceImpl 32020: { 32020: const void *_pair; 32020: int _metaType_id_first; 32020: uint _metaType_flags_first; 32020: int _metaType_id_second; 32020: uint _metaType_flags_second; 32020: 32020: typedef VariantData (*getFunc)(const void * const *p, int metaTypeId, uint flags); 32020: 32020: getFunc _getFirst; 32020: getFunc _getSecond; 32020: 32020: template 32020: static VariantData getFirstImpl(const void * const *pair, int metaTypeId, uint flags) 32020: { return VariantData(metaTypeId, &static_cast(*pair)->first, flags); } 32020: template 32020: static VariantData getSecondImpl(const void * const *pair, int metaTypeId, uint flags) 32020: { return VariantData(metaTypeId, &static_cast(*pair)->second, flags); } 32020: 32020: public: 32020: template QPairVariantInterfaceImpl(const T*p) 32020: : _pair(p) 32020: , _metaType_id_first(qMetaTypeId()) 32020: , _metaType_flags_first(QTypeInfo::isPointer) 32020: , _metaType_id_second(qMetaTypeId()) 32020: , _metaType_flags_second(QTypeInfo::isPointer) 32020: , _getFirst(getFirstImpl) 32020: , _getSecond(getSecondImpl) 32020: { 32020: } 32020: 32020: QPairVariantInterfaceImpl() 32020: : _pair(nullptr) 32020: , _metaType_id_first(QMetaType::UnknownType) 32020: , _metaType_flags_first(0) 32020: , _metaType_id_second(QMetaType::UnknownType) 32020: , _metaType_flags_second(0) 32020: , _getFirst(nullptr) 32020: , _getSecond(nullptr) 32020: { 32020: } 32020: 32020: inline VariantData first() const { return _getFirst(&_pair, _metaType_id_first, _metaType_flags_first); } 32020: inline VariantData second() const { return _getSecond(&_pair, _metaType_id_second, _metaType_flags_second); } 32020: }; 32020: } template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = ((((Q_MOVABLE_TYPE)) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = ((((Q_MOVABLE_TYPE)) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (((Q_MOVABLE_TYPE)) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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 { 32020: 32020: template 32020: struct QPairVariantInterfaceConvertFunctor; 32020: 32020: template 32020: struct QPairVariantInterfaceConvertFunctor > 32020: { 32020: QPairVariantInterfaceImpl operator()(const QPair& f) const 32020: { 32020: return QPairVariantInterfaceImpl(&f); 32020: } 32020: }; 32020: 32020: template 32020: struct QPairVariantInterfaceConvertFunctor > 32020: { 32020: QPairVariantInterfaceImpl operator()(const std::pair& f) const 32020: { 32020: return QPairVariantInterfaceImpl(&f); 32020: } 32020: }; 32020: 32020: } 32020: 32020: class QObject; 32020: class QWidget; 32020: 32020: 32020: 32020: 32020: template class QSharedPointer; template class QWeakPointer; template class QPointer; 32020: 32020: namespace QtPrivate 32020: { 32020: template 32020: struct IsPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = false }; 32020: }; 32020: 32020: 32020: template<> 32020: struct IsPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = false }; 32020: }; 32020: template<> 32020: struct IsPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = false }; 32020: }; 32020: template<> 32020: struct IsPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = true }; 32020: }; 32020: 32020: template 32020: struct IsPointerToTypeDerivedFromQObject 32020: { 32020: typedef qint8 yes_type; 32020: typedef qint64 no_type; 32020: 32020: 32020: static yes_type checkType(QObject* ); 32020: 32020: static no_type checkType(...); 32020: static_assert(bool(sizeof(T)), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined"); 32020: enum { Value = sizeof(checkType(static_cast(nullptr))) == sizeof(yes_type) }; 32020: }; 32020: 32020: template 32020: struct IsGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; }; 32020: 32020: template 32020: struct IsGadgetHelper 32020: { 32020: template 32020: static char checkType(void (X::*)()); 32020: static void *checkType(void (T::*)()); 32020: enum { 32020: IsRealGadget = sizeof(checkType(&T::qt_check_for_QGADGET_macro)) == sizeof(void *), 32020: IsGadgetOrDerivedFrom = true 32020: }; 32020: }; 32020: 32020: template 32020: struct IsPointerToGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; }; 32020: 32020: template 32020: struct IsPointerToGadgetHelper 32020: { 32020: using BaseType = T; 32020: template 32020: static char checkType(void (X::*)()); 32020: static void *checkType(void (T::*)()); 32020: enum { 32020: IsRealGadget = !IsPointerToTypeDerivedFromQObject::Value && sizeof(checkType(&T::qt_check_for_QGADGET_macro)) == sizeof(void *), 32020: IsGadgetOrDerivedFrom = !IsPointerToTypeDerivedFromQObject::Value 32020: }; 32020: }; 32020: 32020: 32020: template char qt_getEnumMetaObject(const T&); 32020: 32020: template 32020: struct IsQEnumHelper { 32020: static const T &declval(); 32020: 32020: 32020: 32020: 32020: enum { Value = sizeof(qt_getEnumMetaObject(declval())) == sizeof(QMetaObject*) }; 32020: }; 32020: template<> struct IsQEnumHelper { enum { Value = false }; }; 32020: 32020: template 32020: struct MetaObjectForType 32020: { 32020: static inline const QMetaObject *value() { return nullptr; } 32020: }; 32020: template<> 32020: struct MetaObjectForType 32020: { 32020: static inline const QMetaObject *value() { return nullptr; } 32020: }; 32020: template 32020: struct MetaObjectForType::Value>::type> 32020: { 32020: static inline const QMetaObject *value() { return &T::staticMetaObject; } 32020: }; 32020: template 32020: struct MetaObjectForType::IsGadgetOrDerivedFrom>::type> 32020: { 32020: static inline const QMetaObject *value() { return &T::staticMetaObject; } 32020: }; 32020: template 32020: struct MetaObjectForType::IsGadgetOrDerivedFrom>::type> 32020: { 32020: static inline const QMetaObject *value() { return &IsPointerToGadgetHelper::BaseType::staticMetaObject; } 32020: }; 32020: template 32020: struct MetaObjectForType::Value>::type > 32020: { 32020: static inline const QMetaObject *value() { return qt_getEnumMetaObject(T()); } 32020: }; 32020: 32020: template 32020: struct IsSharedPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = false }; 32020: }; 32020: 32020: template 32020: struct IsSharedPointerToTypeDerivedFromQObject > : IsPointerToTypeDerivedFromQObject 32020: { 32020: }; 32020: 32020: template 32020: struct IsWeakPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = false }; 32020: }; 32020: 32020: template 32020: struct IsWeakPointerToTypeDerivedFromQObject > : IsPointerToTypeDerivedFromQObject 32020: { 32020: }; 32020: 32020: template 32020: struct IsTrackingPointerToTypeDerivedFromQObject 32020: { 32020: enum { Value = false }; 32020: }; 32020: 32020: template 32020: struct IsTrackingPointerToTypeDerivedFromQObject > 32020: { 32020: enum { Value = true }; 32020: }; 32020: 32020: template 32020: struct IsSequentialContainer 32020: { 32020: enum { Value = false }; 32020: }; 32020: 32020: template 32020: struct IsAssociativeContainer 32020: { 32020: enum { Value = false }; 32020: }; 32020: 32020: template::Value> 32020: struct SequentialContainerConverterHelper 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: template::Defined> 32020: struct ValueTypeIsMetaType 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: template 32020: struct SequentialContainerConverterHelper : ValueTypeIsMetaType 32020: { 32020: }; 32020: 32020: template::Value> 32020: struct AssociativeContainerConverterHelper 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: template::Defined> 32020: struct AssociativeValueTypeIsMetaType 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: template::Defined> 32020: struct KeyAndValueTypeIsMetaType 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: template 32020: struct KeyAndValueTypeIsMetaType : AssociativeValueTypeIsMetaType 32020: { 32020: }; 32020: 32020: template 32020: struct AssociativeContainerConverterHelper : KeyAndValueTypeIsMetaType 32020: { 32020: }; 32020: 32020: template::Defined 32020: && QMetaTypeId2::Defined> 32020: struct IsMetaTypePair 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: 32020: template 32020: struct IsMetaTypePair 32020: { 32020: inline static bool registerConverter(int id); 32020: }; 32020: 32020: template 32020: struct IsPair 32020: { 32020: static bool registerConverter(int) 32020: { 32020: return false; 32020: } 32020: }; 32020: template 32020: struct IsPair > : IsMetaTypePair > {}; 32020: template 32020: struct IsPair > : IsMetaTypePair > {}; 32020: 32020: template 32020: struct MetaTypePairHelper : IsPair {}; 32020: 32020: template 32020: struct MetaTypeSmartPointerHelper 32020: { 32020: static bool registerConverter(int) { return false; } 32020: }; 32020: 32020: __attribute__((visibility("default"))) bool isBuiltinType(const QByteArray &type); 32020: } 32020: 32020: template ::Value ? QMetaType::PointerToQObject : 32020: QtPrivate::IsGadgetHelper::IsRealGadget ? QMetaType::IsGadget : 32020: QtPrivate::IsPointerToGadgetHelper::IsRealGadget ? QMetaType::PointerToGadget : 32020: QtPrivate::IsQEnumHelper::Value ? QMetaType::IsEnumeration : 0> 32020: struct QMetaTypeIdQObject 32020: { 32020: enum { 32020: Defined = 0 32020: }; 32020: }; 32020: 32020: template 32020: struct QMetaTypeId : public QMetaTypeIdQObject 32020: { 32020: }; 32020: 32020: template 32020: struct QMetaTypeId2 32020: { 32020: enum { Defined = QMetaTypeId::Defined, IsBuiltIn=false }; 32020: static inline constexpr int qt_metatype_id() { return QMetaTypeId::qt_metatype_id(); } 32020: }; 32020: 32020: template 32020: struct QMetaTypeId2 : QMetaTypeId2 {}; 32020: 32020: template 32020: struct QMetaTypeId2 { enum {Defined = false }; }; 32020: 32020: namespace QtPrivate { 32020: template ::Defined> 32020: struct QMetaTypeIdHelper { 32020: static inline constexpr int qt_metatype_id() 32020: { return QMetaTypeId2::qt_metatype_id(); } 32020: }; 32020: template struct QMetaTypeIdHelper { 32020: static inline constexpr int qt_metatype_id() 32020: { return -1; } 32020: }; 32020: 32020: 32020: template 32020: struct IsPointerToTypeDerivedFromQObject { enum { Value = false }; }; 32020: 32020: template 32020: struct QMetaTypeTypeFlags 32020: { 32020: enum { Flags = (QTypeInfoQuery::isRelocatable ? QMetaType::MovableType : 0) 32020: | (QTypeInfo::isComplex ? QMetaType::NeedsConstruction : 0) 32020: | (QTypeInfo::isComplex ? QMetaType::NeedsDestruction : 0) 32020: | (IsPointerToTypeDerivedFromQObject::Value ? QMetaType::PointerToQObject : 0) 32020: | (IsSharedPointerToTypeDerivedFromQObject::Value ? QMetaType::SharedPointerToQObject : 0) 32020: | (IsWeakPointerToTypeDerivedFromQObject::Value ? QMetaType::WeakPointerToQObject : 0) 32020: | (IsTrackingPointerToTypeDerivedFromQObject::Value ? QMetaType::TrackingPointerToQObject : 0) 32020: | (std::is_enum::value ? QMetaType::IsEnumeration : 0) 32020: | (IsGadgetHelper::IsGadgetOrDerivedFrom ? QMetaType::IsGadget : 0) 32020: | (IsPointerToGadgetHelper::IsGadgetOrDerivedFrom ? QMetaType::PointerToGadget : 0) 32020: }; 32020: }; 32020: 32020: template 32020: struct MetaTypeDefinedHelper 32020: { 32020: enum DefinedType { Defined = defined }; 32020: }; 32020: 32020: template 32020: struct QSmartPointerConvertFunctor 32020: { 32020: QObject* operator()(const SmartPointer &p) const 32020: { 32020: return p.operator->(); 32020: } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct EnableInternalDataWrap; 32020: 32020: template 32020: struct QSmartPointerConvertFunctor > 32020: { 32020: QObject* operator()(const QWeakPointer &p) const 32020: { 32020: return QtPrivate::EnableInternalDataWrap::internalData(p); 32020: } 32020: }; 32020: } 32020: 32020: template 32020: int qRegisterNormalizedMetaType(const ::QByteArray &normalizedTypeName 32020: 32020: , T * dummy = 0 32020: , typename QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::DefinedType defined = QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::Defined 32020: 32020: ) 32020: { 32020: 32020: static_cast(false && (normalizedTypeName == QMetaObject::normalizedType(normalizedTypeName.constData()))); 32020: 32020: const int typedefOf = dummy ? -1 : QtPrivate::QMetaTypeIdHelper::qt_metatype_id(); 32020: if (typedefOf != -1) 32020: return QMetaType::registerNormalizedTypedef(normalizedTypeName, typedefOf); 32020: 32020: QMetaType::TypeFlags flags(QtPrivate::QMetaTypeTypeFlags::Flags); 32020: 32020: if (defined) 32020: flags |= QMetaType::WasDeclaredAsMetaType; 32020: 32020: const int id = QMetaType::registerNormalizedType(normalizedTypeName, 32020: QtMetaTypePrivate::QMetaTypeFunctionHelper::Destruct, 32020: QtMetaTypePrivate::QMetaTypeFunctionHelper::Construct, 32020: int(sizeof(T)), 32020: flags, 32020: QtPrivate::MetaObjectForType::value()); 32020: 32020: if (id > 0) { 32020: QtPrivate::SequentialContainerConverterHelper::registerConverter(id); 32020: QtPrivate::AssociativeContainerConverterHelper::registerConverter(id); 32020: QtPrivate::MetaTypePairHelper::registerConverter(id); 32020: QtPrivate::MetaTypeSmartPointerHelper::registerConverter(id); 32020: } 32020: 32020: return id; 32020: } 32020: 32020: template 32020: int qRegisterMetaType(const char *typeName 32020: 32020: , T * dummy = nullptr 32020: , typename QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::DefinedType defined = QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::Defined 32020: 32020: ) 32020: { 32020: 32020: 32020: 32020: ::QByteArray normalizedTypeName = QMetaObject::normalizedType(typeName); 32020: 32020: return qRegisterNormalizedMetaType(normalizedTypeName, dummy, defined); 32020: } 32020: 32020: 32020: template 32020: void qRegisterMetaTypeStreamOperators(const char *typeName 32020: 32020: , T * = nullptr 32020: 32020: ) 32020: { 32020: qRegisterMetaType(typeName); 32020: QMetaType::registerStreamOperators(typeName, QtMetaTypePrivate::QMetaTypeFunctionHelper::Save, 32020: QtMetaTypePrivate::QMetaTypeFunctionHelper::Load); 32020: } 32020: 32020: 32020: template 32020: inline constexpr int qMetaTypeId() 32020: { 32020: 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"); 32020: return QMetaTypeId2::qt_metatype_id(); 32020: } 32020: 32020: template 32020: inline constexpr int qRegisterMetaType() 32020: { 32020: return qMetaTypeId(); 32020: } 32020: 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__)) inline constexpr int qMetaTypeId(T *) 32020: { return qMetaTypeId(); } 32020: 32020: template 32020: __attribute__ ((__deprecated__)) inline constexpr int qRegisterMetaType(T *) 32020: { return qRegisterMetaType(); } 32020: 32020: 32020: 32020: 32020: template 32020: struct QMetaTypeIdQObject 32020: { 32020: enum { 32020: Defined = 1 32020: }; 32020: 32020: static int qt_metatype_id() 32020: { 32020: static QBasicAtomicInt metatype_id = { 0 }; 32020: if (const int id = metatype_id.loadAcquire()) 32020: return id; 32020: const char * const cName = T::staticMetaObject.className(); 32020: QByteArray typeName; 32020: typeName.reserve(int(strlen(cName)) + 1); 32020: typeName.append(cName).append('*'); 32020: const int newId = qRegisterNormalizedMetaType( 32020: typeName, 32020: reinterpret_cast(quintptr(-1))); 32020: metatype_id.storeRelease(newId); 32020: return newId; 32020: } 32020: }; 32020: 32020: template 32020: struct QMetaTypeIdQObject 32020: { 32020: enum { 32020: Defined = std::is_default_constructible::value 32020: }; 32020: 32020: static int qt_metatype_id() 32020: { 32020: static QBasicAtomicInt metatype_id = { 0 }; 32020: if (const int id = metatype_id.loadAcquire()) 32020: return id; 32020: const char * const cName = T::staticMetaObject.className(); 32020: const int newId = qRegisterNormalizedMetaType( 32020: cName, 32020: reinterpret_cast(quintptr(-1))); 32020: metatype_id.storeRelease(newId); 32020: return newId; 32020: } 32020: }; 32020: 32020: template 32020: struct QMetaTypeIdQObject 32020: { 32020: enum { 32020: Defined = 1 32020: }; 32020: 32020: static int qt_metatype_id() 32020: { 32020: static QBasicAtomicInt metatype_id = { 0 }; 32020: if (const int id = metatype_id.loadAcquire()) 32020: return id; 32020: const char * const cName = T::staticMetaObject.className(); 32020: QByteArray typeName; 32020: typeName.reserve(int(strlen(cName)) + 1); 32020: typeName.append(cName).append('*'); 32020: const int newId = qRegisterNormalizedMetaType( 32020: typeName, 32020: reinterpret_cast(quintptr(-1))); 32020: metatype_id.storeRelease(newId); 32020: return newId; 32020: } 32020: }; 32020: 32020: template 32020: struct QMetaTypeIdQObject 32020: { 32020: enum { 32020: Defined = 1 32020: }; 32020: 32020: static int qt_metatype_id() 32020: { 32020: static QBasicAtomicInt metatype_id = { 0 }; 32020: if (const int id = metatype_id.loadAcquire()) 32020: return id; 32020: const char *eName = qt_getEnumName(T()); 32020: const char *cName = qt_getEnumMetaObject(T())->className(); 32020: QByteArray typeName; 32020: typeName.reserve(int(strlen(cName) + 2 + strlen(eName))); 32020: typeName.append(cName).append("::").append(eName); 32020: const int newId = qRegisterNormalizedMetaType( 32020: typeName, 32020: reinterpret_cast(quintptr(-1))); 32020: metatype_id.storeRelease(newId); 32020: return newId; 32020: } 32020: }; 32020: 32020: 32020: 32020: template 32020: inline int qRegisterMetaTypeStreamOperators() 32020: { 32020: int id = qMetaTypeId(); 32020: QMetaType::registerStreamOperators(id, QtMetaTypePrivate::QMetaTypeFunctionHelper::Save, 32020: QtMetaTypePrivate::QMetaTypeFunctionHelper::Load); 32020: return id; 32020: } 32020: # 2089 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: 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 QRegularExpression; class QJsonValue; class QJsonObject; class QJsonArray; class QJsonDocument; class QCborValue; class QCborArray; class QCborMap; class QModelIndex; class QPersistentModelIndex; 32020: 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; class QColorSpace; 32020: class QSizePolicy; 32020: 32020: 32020: 32020: typedef QList QVariantList; 32020: typedef QMap QVariantMap; 32020: typedef QHash QVariantHash; 32020: 32020: 32020: 32020: typedef QList QByteArrayList; 32020: # 2178 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: namespace QtPrivate { 32020: 32020: template 32020: struct SharedPointerMetaTypeIdHelper 32020: { 32020: enum { 32020: Defined = 0 32020: }; 32020: static int qt_metatype_id() 32020: { 32020: return -1; 32020: } 32020: }; 32020: 32020: } 32020: # 2252 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: 32020: 32020: 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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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 }; }; } 32020: 32020: 32020: 32020: 32020: 32020: 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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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 }; }; } 32020: 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.loadRelaxed()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); static_cast(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 }; }; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template class QHash; template class QMap; template struct QPair; 32020: # 2284 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmetatype.h" 3 4 32020: 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()); static_cast(false && (tName)); static_cast(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; } }; 32020: 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()); static_cast(false && (tName)); static_cast(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; } }; 32020: 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()); static_cast(false && (tName)); static_cast(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; } }; 32020: 32020: 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()); static_cast(false && (tName)); static_cast(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; } }; 32020: 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()); static_cast(false && (tName)); static_cast(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; } }; 32020: 32020: 32020: 32020: 32020: 32020: 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> { }; 32020: 32020: 32020: 32020: 32020: 32020: inline QMetaType::QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeInterface *info, 32020: TypedConstructor creator, 32020: TypedDestructor deleter, 32020: SaveOperator saveOp, 32020: LoadOperator loadOp, 32020: Constructor constructor, 32020: Destructor destructor, 32020: uint size, 32020: uint theTypeFlags, 32020: int typeId, 32020: const QMetaObject *_metaObject) 32020: : m_typedConstructor(creator) 32020: , m_typedDestructor(deleter) 32020: , m_saveOp(saveOp) 32020: , m_loadOp(loadOp) 32020: , m_constructor(constructor) 32020: , m_destructor(destructor) 32020: , m_extension(nullptr) 32020: , m_size(size) 32020: , m_typeFlags(theTypeFlags) 32020: , m_extensionFlags(extensionFlags) 32020: , m_typeId(typeId) 32020: , m_metaObject(_metaObject) 32020: { 32020: if (__builtin_expect(!!(isExtended(CtorEx) || typeId == QMetaType::Void), false)) 32020: ctor(info); 32020: } 32020: 32020: inline QMetaType::~QMetaType() 32020: { 32020: if (__builtin_expect(!!(isExtended(DtorEx)), false)) 32020: dtor(); 32020: } 32020: 32020: inline bool QMetaType::isValid() const 32020: { 32020: return m_typeId != UnknownType; 32020: } 32020: 32020: inline bool QMetaType::isRegistered() const 32020: { 32020: return isValid(); 32020: } 32020: 32020: inline int QMetaType::id() const 32020: { 32020: return m_typeId; 32020: } 32020: 32020: inline void *QMetaType::create(const void *copy) const 32020: { 32020: 32020: return createExtended(copy); 32020: } 32020: 32020: inline void QMetaType::destroy(void *data) const 32020: { 32020: 32020: destroyExtended(data); 32020: } 32020: 32020: inline void *QMetaType::construct(void *where, const void *copy) const 32020: { 32020: if (__builtin_expect(!!(isExtended(ConstructEx)), false)) 32020: return constructExtended(where, copy); 32020: return m_constructor(where, copy); 32020: } 32020: 32020: inline void QMetaType::destruct(void *data) const 32020: { 32020: if (__builtin_expect(!!(isExtended(DestructEx)), false)) 32020: return destructExtended(data); 32020: if (__builtin_expect(!!(!data), false)) 32020: return; 32020: m_destructor(data); 32020: } 32020: 32020: inline int QMetaType::sizeOf() const 32020: { 32020: if (__builtin_expect(!!(isExtended(SizeEx)), false)) 32020: return sizeExtended(); 32020: return m_size; 32020: } 32020: 32020: inline QMetaType::TypeFlags QMetaType::flags() const 32020: { 32020: if (__builtin_expect(!!(isExtended(FlagsEx)), false)) 32020: return flagsExtended(); 32020: return QMetaType::TypeFlags(m_typeFlags); 32020: } 32020: 32020: inline const QMetaObject *QMetaType::metaObject() const 32020: { 32020: if (__builtin_expect(!!(isExtended(MetaObjectEx)), false)) 32020: return metaObjectExtended(); 32020: return m_metaObject; 32020: } 32020: 32020: 32020: 32020: 32020: 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 = 52 }; static inline constexpr int qt_metatype_id() { return 52; } }; 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 = 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 = 53 }; static inline constexpr int qt_metatype_id() { return 53; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 54 }; static inline constexpr int qt_metatype_id() { return 54; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 55 }; static inline constexpr int qt_metatype_id() { return 55; } }; 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 = 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 = 87 }; static inline constexpr int qt_metatype_id() { return 87; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 121 }; static inline constexpr int qt_metatype_id() { return 121; } }; 32020: 32020: 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; } }; 32020: 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; } }; 32020: 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; } }; 32020: 32020: 32020: 32020: template 32020: inline bool QtPrivate::IsMetaTypePair::registerConverter(int id) 32020: { 32020: const int toId = qMetaTypeId(); 32020: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 32020: QtMetaTypePrivate::QPairVariantInterfaceConvertFunctor o; 32020: static const QtPrivate::ConverterFunctor > f(o); 32020: return QMetaType::registerConverterFunction(&f, id, toId); 32020: } 32020: return true; 32020: } 32020: 32020: namespace QtPrivate { 32020: template 32020: struct ValueTypeIsMetaType 32020: { 32020: static bool registerConverter(int id) 32020: { 32020: const int toId = qMetaTypeId(); 32020: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 32020: QtMetaTypePrivate::QSequentialIterableConvertFunctor o; 32020: static const QtPrivate::ConverterFunctor > f(o); 32020: return QMetaType::registerConverterFunction(&f, id, toId); 32020: } 32020: return true; 32020: } 32020: }; 32020: 32020: template 32020: struct AssociativeValueTypeIsMetaType 32020: { 32020: static bool registerConverter(int id) 32020: { 32020: const int toId = qMetaTypeId(); 32020: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 32020: QtMetaTypePrivate::QAssociativeIterableConvertFunctor o; 32020: static const QtPrivate::ConverterFunctor > f(o); 32020: return QMetaType::registerConverterFunction(&f, id, toId); 32020: } 32020: return true; 32020: } 32020: }; 32020: } 32020: 32020: 32020: # 55 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject_impl.h" 1 3 4 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject_impl.h" 3 4 32020: 32020: 32020: 32020: namespace QtPrivate { 32020: # 65 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject_impl.h" 3 4 32020: template struct TypesAreDeclaredMetaType { enum { Value = false }; }; 32020: template <> struct TypesAreDeclaredMetaType> { enum { Value = true }; }; 32020: template struct TypesAreDeclaredMetaType > 32020: { enum { Value = QMetaTypeId2::Defined && TypesAreDeclaredMetaType>::Value }; }; 32020: 32020: template ::Value > struct ConnectionTypes 32020: { static const int *types() { return nullptr; } }; 32020: template <> struct ConnectionTypes, true> 32020: { static const int *types() { return nullptr; } }; 32020: template struct ConnectionTypes, true> 32020: { static const int *types() { static const int t[sizeof...(Args) + 1] = { (QtPrivate::QMetaTypeIdHelper::qt_metatype_id())..., 0 }; return t; } }; 32020: 32020: 32020: 32020: template class QStaticSlotObject : public QSlotObjectBase 32020: { 32020: typedef QtPrivate::FunctionPointer FuncType; 32020: Func function; 32020: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 32020: { 32020: switch (which) { 32020: case Destroy: 32020: delete static_cast(this_); 32020: break; 32020: case Call: 32020: FuncType::template call(static_cast(this_)->function, r, a); 32020: break; 32020: case Compare: 32020: case NumOperations: 32020: (void)ret;; 32020: } 32020: } 32020: public: 32020: explicit QStaticSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {} 32020: }; 32020: } 32020: 32020: 32020: 32020: # 57 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 1 3 4 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 4 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ratio" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ratio" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/ratio" 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/ratio" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 56 "/usr/arm-linux-gnueabihf/include/c++/10/ratio" 3 32020: template 32020: struct __static_sign 32020: : integral_constant 32020: { }; 32020: 32020: template 32020: struct __static_abs 32020: : integral_constant::value> 32020: { }; 32020: 32020: template 32020: struct __static_gcd 32020: : __static_gcd<_Qn, (_Pn % _Qn)> 32020: { }; 32020: 32020: template 32020: struct __static_gcd<_Pn, 0> 32020: : integral_constant::value> 32020: { }; 32020: 32020: template 32020: struct __static_gcd<0, _Qn> 32020: : integral_constant::value> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __safe_multiply 32020: { 32020: private: 32020: static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 32020: 32020: static const uintmax_t __a0 = __static_abs<_Pn>::value % __c; 32020: static const uintmax_t __a1 = __static_abs<_Pn>::value / __c; 32020: static const uintmax_t __b0 = __static_abs<_Qn>::value % __c; 32020: static const uintmax_t __b1 = __static_abs<_Qn>::value / __c; 32020: 32020: static_assert(__a1 == 0 || __b1 == 0, 32020: "overflow in multiplication"); 32020: static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1), 32020: "overflow in multiplication"); 32020: static_assert(__b0 * __a0 <= 0x7fffffffffffffffLL, 32020: "overflow in multiplication"); 32020: static_assert((__a0 * __b1 + __b0 * __a1) * __c 32020: <= 0x7fffffffffffffffLL - __b0 * __a0, 32020: "overflow in multiplication"); 32020: 32020: public: 32020: static const intmax_t value = _Pn * _Qn; 32020: }; 32020: 32020: 32020: 32020: template 32020: struct __big_less 32020: : integral_constant 32020: { }; 32020: 32020: template 32020: struct __big_add 32020: { 32020: static constexpr uintmax_t __lo = __lo1 + __lo2; 32020: static constexpr uintmax_t __hi = (__hi1 + __hi2 + 32020: (__lo1 + __lo2 < __lo1)); 32020: }; 32020: 32020: 32020: template 32020: struct __big_sub 32020: { 32020: static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value, 32020: "Internal library error"); 32020: static constexpr uintmax_t __lo = __lo1 - __lo2; 32020: static constexpr uintmax_t __hi = (__hi1 - __hi2 - 32020: (__lo1 < __lo2)); 32020: }; 32020: 32020: 32020: template 32020: struct __big_mul 32020: { 32020: private: 32020: static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 32020: static constexpr uintmax_t __x0 = __x % __c; 32020: static constexpr uintmax_t __x1 = __x / __c; 32020: static constexpr uintmax_t __y0 = __y % __c; 32020: static constexpr uintmax_t __y1 = __y / __c; 32020: static constexpr uintmax_t __x0y0 = __x0 * __y0; 32020: static constexpr uintmax_t __x0y1 = __x0 * __y1; 32020: static constexpr uintmax_t __x1y0 = __x1 * __y0; 32020: static constexpr uintmax_t __x1y1 = __x1 * __y1; 32020: static constexpr uintmax_t __mix = __x0y1 + __x1y0; 32020: static constexpr uintmax_t __mix_lo = __mix * __c; 32020: static constexpr uintmax_t __mix_hi 32020: = __mix / __c + ((__mix < __x0y1) ? __c : 0); 32020: typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res; 32020: public: 32020: static constexpr uintmax_t __hi = _Res::__hi; 32020: static constexpr uintmax_t __lo = _Res::__lo; 32020: }; 32020: 32020: 32020: 32020: template 32020: struct __big_div_impl 32020: { 32020: private: 32020: static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)), 32020: "Internal library error"); 32020: static_assert(__n1 < __d, "Internal library error"); 32020: static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 32020: static constexpr uintmax_t __d1 = __d / __c; 32020: static constexpr uintmax_t __d0 = __d % __c; 32020: 32020: static constexpr uintmax_t __q1x = __n1 / __d1; 32020: static constexpr uintmax_t __r1x = __n1 % __d1; 32020: static constexpr uintmax_t __m = __q1x * __d0; 32020: static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c; 32020: static constexpr uintmax_t __r1z = __r1y + __d; 32020: static constexpr uintmax_t __r1 32020: = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m)) 32020: ? (__r1z + __d) : __r1z : __r1y) - __m; 32020: static constexpr uintmax_t __q1 32020: = __q1x - ((__r1y < __m) 32020: ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0); 32020: static constexpr uintmax_t __q0x = __r1 / __d1; 32020: static constexpr uintmax_t __r0x = __r1 % __d1; 32020: static constexpr uintmax_t __n = __q0x * __d0; 32020: static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c; 32020: static constexpr uintmax_t __r0z = __r0y + __d; 32020: static constexpr uintmax_t __r0 32020: = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n)) 32020: ? (__r0z + __d) : __r0z : __r0y) - __n; 32020: static constexpr uintmax_t __q0 32020: = __q0x - ((__r0y < __n) ? ((__r0z >= __d) 32020: && (__r0z < __n)) ? 2 : 1 : 0); 32020: 32020: public: 32020: static constexpr uintmax_t __quot = __q1 * __c + __q0; 32020: static constexpr uintmax_t __rem = __r0; 32020: 32020: private: 32020: typedef __big_mul<__quot, __d> _Prod; 32020: typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum; 32020: static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0, 32020: "Internal library error"); 32020: }; 32020: 32020: template 32020: struct __big_div 32020: { 32020: private: 32020: static_assert(__d != 0, "Internal library error"); 32020: static_assert(sizeof (uintmax_t) == sizeof (unsigned long long), 32020: "This library calls __builtin_clzll on uintmax_t, which " 32020: "is unsafe on your platform. Please complain to " 32020: "http://gcc.gnu.org/bugzilla/"); 32020: static constexpr int __shift = __builtin_clzll(__d); 32020: static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift; 32020: static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0; 32020: static constexpr uintmax_t __c1 = uintmax_t(1) << __shift; 32020: static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift; 32020: static constexpr uintmax_t __new_d = __d * __c1; 32020: static constexpr uintmax_t __new_n0 = __n0 * __c1; 32020: static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1; 32020: static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0; 32020: static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top; 32020: typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res; 32020: 32020: public: 32020: static constexpr uintmax_t __quot_hi = __n1 / __d; 32020: static constexpr uintmax_t __quot_lo = _Res::__quot; 32020: static constexpr uintmax_t __rem = _Res::__rem / __c1; 32020: 32020: private: 32020: typedef __big_mul<__quot_lo, __d> _P0; 32020: typedef __big_mul<__quot_hi, __d> _P1; 32020: typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum; 32020: 32020: static_assert(_P1::__hi == 0, "Internal library error"); 32020: static_assert(_Sum::__hi >= _P0::__hi, "Internal library error"); 32020: 32020: static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0, 32020: "Internal library error"); 32020: static_assert(__rem < __d, "Internal library error"); 32020: }; 32020: # 265 "/usr/arm-linux-gnueabihf/include/c++/10/ratio" 3 32020: template 32020: struct ratio 32020: { 32020: static_assert(_Den != 0, "denominator cannot be zero"); 32020: static_assert(_Num >= -0x7fffffffffffffffLL && _Den >= -0x7fffffffffffffffLL, 32020: "out of range"); 32020: 32020: 32020: static constexpr intmax_t num = 32020: _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value; 32020: 32020: static constexpr intmax_t den = 32020: __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value; 32020: 32020: typedef ratio type; 32020: }; 32020: 32020: template 32020: constexpr intmax_t ratio<_Num, _Den>::num; 32020: 32020: template 32020: constexpr intmax_t ratio<_Num, _Den>::den; 32020: 32020: 32020: 32020: template 32020: struct __ratio_multiply 32020: { 32020: private: 32020: static const intmax_t __gcd1 = 32020: __static_gcd<_R1::num, _R2::den>::value; 32020: static const intmax_t __gcd2 = 32020: __static_gcd<_R2::num, _R1::den>::value; 32020: 32020: public: 32020: typedef ratio< 32020: __safe_multiply<(_R1::num / __gcd1), 32020: (_R2::num / __gcd2)>::value, 32020: __safe_multiply<(_R1::den / __gcd2), 32020: (_R2::den / __gcd1)>::value> type; 32020: 32020: static constexpr intmax_t num = type::num; 32020: static constexpr intmax_t den = type::den; 32020: }; 32020: 32020: template 32020: constexpr intmax_t __ratio_multiply<_R1, _R2>::num; 32020: 32020: template 32020: constexpr intmax_t __ratio_multiply<_R1, _R2>::den; 32020: 32020: 32020: 32020: 32020: template 32020: using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type; 32020: 32020: 32020: 32020: template 32020: struct __ratio_divide 32020: { 32020: static_assert(_R2::num != 0, "division by 0"); 32020: 32020: typedef typename __ratio_multiply< 32020: _R1, 32020: ratio<_R2::den, _R2::num>>::type type; 32020: 32020: static constexpr intmax_t num = type::num; 32020: static constexpr intmax_t den = type::den; 32020: }; 32020: 32020: template 32020: constexpr intmax_t __ratio_divide<_R1, _R2>::num; 32020: 32020: template 32020: constexpr intmax_t __ratio_divide<_R1, _R2>::den; 32020: 32020: 32020: 32020: 32020: template 32020: using ratio_divide = typename __ratio_divide<_R1, _R2>::type; 32020: 32020: 32020: template 32020: struct ratio_equal 32020: : integral_constant 32020: { }; 32020: 32020: 32020: template 32020: struct ratio_not_equal 32020: : integral_constant::value> 32020: { }; 32020: 32020: 32020: 32020: 32020: template, 32020: typename _Right = __big_mul<_R2::num,_R1::den> > 32020: struct __ratio_less_impl_1 32020: : integral_constant::value> 32020: { }; 32020: 32020: template::value 32020: != __static_sign<_R2::num>::value)), 32020: bool = (__static_sign<_R1::num>::value == -1 32020: && __static_sign<_R2::num>::value == -1)> 32020: struct __ratio_less_impl 32020: : __ratio_less_impl_1<_R1, _R2>::type 32020: { }; 32020: 32020: template 32020: struct __ratio_less_impl<_R1, _R2, true, false> 32020: : integral_constant 32020: { }; 32020: 32020: template 32020: struct __ratio_less_impl<_R1, _R2, false, true> 32020: : __ratio_less_impl_1, 32020: ratio<-_R1::num, _R1::den> >::type 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct ratio_less 32020: : __ratio_less_impl<_R1, _R2>::type 32020: { }; 32020: 32020: 32020: template 32020: struct ratio_less_equal 32020: : integral_constant::value> 32020: { }; 32020: 32020: 32020: template 32020: struct ratio_greater 32020: : integral_constant::value> 32020: { }; 32020: 32020: 32020: template 32020: struct ratio_greater_equal 32020: : integral_constant::value> 32020: { }; 32020: 32020: 32020: template 32020: inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; 32020: template 32020: inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value; 32020: template 32020: inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value; 32020: template 32020: inline constexpr bool ratio_less_equal_v = 32020: ratio_less_equal<_R1, _R2>::value; 32020: template 32020: inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value; 32020: template 32020: inline constexpr bool ratio_greater_equal_v 32020: = ratio_greater_equal<_R1, _R2>::value; 32020: 32020: 32020: 32020: 32020: template= 0), 32020: bool = (_R2::num >= 0), 32020: bool = ratio_less::value, _R1::den>, 32020: ratio<__static_abs<_R2::num>::value, _R2::den> >::value> 32020: struct __ratio_add_impl 32020: { 32020: private: 32020: typedef typename __ratio_add_impl< 32020: ratio<-_R1::num, _R1::den>, 32020: ratio<-_R2::num, _R2::den> >::type __t; 32020: public: 32020: typedef ratio<-__t::num, __t::den> type; 32020: }; 32020: 32020: 32020: template 32020: struct __ratio_add_impl<_R1, _R2, true, true, __b> 32020: { 32020: private: 32020: static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value; 32020: static constexpr uintmax_t __d2 = _R2::den / __g; 32020: typedef __big_mul<_R1::den, __d2> __d; 32020: typedef __big_mul<_R1::num, _R2::den / __g> __x; 32020: typedef __big_mul<_R2::num, _R1::den / __g> __y; 32020: typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n; 32020: static_assert(__n::__hi >= __x::__hi, "Internal library error"); 32020: typedef __big_div<__n::__hi, __n::__lo, __g> __ng; 32020: static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value; 32020: typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final; 32020: static_assert(__n_final::__rem == 0, "Internal library error"); 32020: static_assert(__n_final::__quot_hi == 0 && 32020: __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition"); 32020: typedef __big_mul<_R1::den / __g2, __d2> __d_final; 32020: static_assert(__d_final::__hi == 0 && 32020: __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition"); 32020: public: 32020: typedef ratio<__n_final::__quot_lo, __d_final::__lo> type; 32020: }; 32020: 32020: template 32020: struct __ratio_add_impl<_R1, _R2, false, true, true> 32020: : __ratio_add_impl<_R2, _R1> 32020: { }; 32020: 32020: 32020: template 32020: struct __ratio_add_impl<_R1, _R2, true, false, false> 32020: { 32020: private: 32020: static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value; 32020: static constexpr uintmax_t __d2 = _R2::den / __g; 32020: typedef __big_mul<_R1::den, __d2> __d; 32020: typedef __big_mul<_R1::num, _R2::den / __g> __x; 32020: typedef __big_mul<-_R2::num, _R1::den / __g> __y; 32020: typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n; 32020: typedef __big_div<__n::__hi, __n::__lo, __g> __ng; 32020: static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value; 32020: typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final; 32020: static_assert(__n_final::__rem == 0, "Internal library error"); 32020: static_assert(__n_final::__quot_hi == 0 && 32020: __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition"); 32020: typedef __big_mul<_R1::den / __g2, __d2> __d_final; 32020: static_assert(__d_final::__hi == 0 && 32020: __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition"); 32020: public: 32020: typedef ratio<__n_final::__quot_lo, __d_final::__lo> type; 32020: }; 32020: 32020: template 32020: struct __ratio_add 32020: { 32020: typedef typename __ratio_add_impl<_R1, _R2>::type type; 32020: static constexpr intmax_t num = type::num; 32020: static constexpr intmax_t den = type::den; 32020: }; 32020: 32020: template 32020: constexpr intmax_t __ratio_add<_R1, _R2>::num; 32020: 32020: template 32020: constexpr intmax_t __ratio_add<_R1, _R2>::den; 32020: 32020: 32020: 32020: 32020: template 32020: using ratio_add = typename __ratio_add<_R1, _R2>::type; 32020: 32020: 32020: 32020: template 32020: struct __ratio_subtract 32020: { 32020: typedef typename __ratio_add< 32020: _R1, 32020: ratio<-_R2::num, _R2::den>>::type type; 32020: 32020: static constexpr intmax_t num = type::num; 32020: static constexpr intmax_t den = type::den; 32020: }; 32020: 32020: template 32020: constexpr intmax_t __ratio_subtract<_R1, _R2>::num; 32020: 32020: template 32020: constexpr intmax_t __ratio_subtract<_R1, _R2>::den; 32020: 32020: 32020: 32020: 32020: template 32020: using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type; 32020: 32020: 32020: typedef ratio<1, 1000000000000000000> atto; 32020: typedef ratio<1, 1000000000000000> femto; 32020: typedef ratio<1, 1000000000000> pico; 32020: typedef ratio<1, 1000000000> nano; 32020: typedef ratio<1, 1000000> micro; 32020: typedef ratio<1, 1000> milli; 32020: typedef ratio<1, 100> centi; 32020: typedef ratio<1, 10> deci; 32020: typedef ratio< 10, 1> deca; 32020: typedef ratio< 100, 1> hecto; 32020: typedef ratio< 1000, 1> kilo; 32020: typedef ratio< 1000000, 1> mega; 32020: typedef ratio< 1000000000, 1> giga; 32020: typedef ratio< 1000000000000, 1> tera; 32020: typedef ratio< 1000000000000000, 1> peta; 32020: typedef ratio< 1000000000000000000, 1> exa; 32020: 32020: 32020: 32020: } 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ctime" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/ctime" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/ctime" 3 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/ctime" 3 32020: namespace std 32020: { 32020: using ::clock_t; 32020: using ::time_t; 32020: using ::tm; 32020: 32020: using ::clock; 32020: using ::difftime; 32020: using ::mktime; 32020: using ::time; 32020: using ::asctime; 32020: using ::ctime; 32020: using ::gmtime; 32020: using ::localtime; 32020: using ::strftime; 32020: } 32020: 32020: 32020: 32020: namespace std 32020: { 32020: using ::timespec; 32020: using ::timespec_get; 32020: } 32020: # 43 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/parse_numbers.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/parse_numbers.h" 3 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/c++/10/bits/parse_numbers.h" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: namespace __parse_int 32020: { 32020: template 32020: struct _Digit; 32020: 32020: template 32020: struct _Digit<_Base, '0'> : integral_constant 32020: { 32020: using __valid = true_type; 32020: }; 32020: 32020: template 32020: struct _Digit<_Base, '1'> : integral_constant 32020: { 32020: using __valid = true_type; 32020: }; 32020: 32020: template 32020: struct _Digit_impl : integral_constant 32020: { 32020: static_assert(_Base > _Val, "invalid digit"); 32020: using __valid = true_type; 32020: }; 32020: 32020: template 32020: struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf> 32020: { }; 32020: 32020: template 32020: struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf> 32020: { }; 32020: 32020: 32020: template 32020: struct _Digit<_Base, '\''> : integral_constant 32020: { 32020: using __valid = false_type; 32020: }; 32020: 32020: 32020: 32020: template 32020: using __ull_constant = integral_constant; 32020: 32020: template 32020: struct _Power_help 32020: { 32020: using __next = typename _Power_help<_Base, _Digs...>::type; 32020: using __valid_digit = typename _Digit<_Base, _Dig>::__valid; 32020: using type 32020: = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>; 32020: }; 32020: 32020: template 32020: struct _Power_help<_Base, _Dig> 32020: { 32020: using __valid_digit = typename _Digit<_Base, _Dig>::__valid; 32020: using type = __ull_constant<__valid_digit::value>; 32020: }; 32020: 32020: template 32020: struct _Power : _Power_help<_Base, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Power<_Base> : __ull_constant<0> 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct _Number_help 32020: { 32020: using __digit = _Digit<_Base, _Dig>; 32020: using __valid_digit = typename __digit::__valid; 32020: using __next = _Number_help<_Base, 32020: __valid_digit::value ? _Pow / _Base : _Pow, 32020: _Digs...>; 32020: using type = __ull_constant<_Pow * __digit::value + __next::type::value>; 32020: static_assert((type::value / _Pow) == __digit::value, 32020: "integer literal does not fit in unsigned long long"); 32020: }; 32020: 32020: 32020: template 32020: struct _Number_help<_Base, _Pow, '\'', _Dig, _Digs...> 32020: : _Number_help<_Base, _Pow, _Dig, _Digs...> 32020: { }; 32020: 32020: 32020: template 32020: struct _Number_help<_Base, 1ULL, _Dig> 32020: { 32020: using type = __ull_constant<_Digit<_Base, _Dig>::value>; 32020: }; 32020: 32020: template 32020: struct _Number 32020: : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Number<_Base> 32020: : __ull_constant<0> 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct _Parse_int; 32020: 32020: template 32020: struct _Parse_int<'0', 'b', _Digs...> 32020: : _Number<2U, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Parse_int<'0', 'B', _Digs...> 32020: : _Number<2U, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Parse_int<'0', 'x', _Digs...> 32020: : _Number<16U, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Parse_int<'0', 'X', _Digs...> 32020: : _Number<16U, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Parse_int<'0', _Digs...> 32020: : _Number<8U, _Digs...>::type 32020: { }; 32020: 32020: template 32020: struct _Parse_int 32020: : _Number<10U, _Digs...>::type 32020: { }; 32020: 32020: } 32020: 32020: 32020: namespace __select_int 32020: { 32020: template 32020: struct _Select_int_base; 32020: 32020: template 32020: struct _Select_int_base<_Val, _IntType, _Ints...> 32020: : conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max), 32020: integral_constant<_IntType, _Val>, 32020: _Select_int_base<_Val, _Ints...>> 32020: { }; 32020: 32020: template 32020: struct _Select_int_base<_Val> 32020: { }; 32020: 32020: template 32020: using _Select_int = typename _Select_int_base< 32020: __parse_int::_Parse_int<_Digs...>::value, 32020: unsigned char, 32020: unsigned short, 32020: unsigned int, 32020: unsigned long, 32020: unsigned long long 32020: >::type; 32020: 32020: } 32020: 32020: 32020: } 32020: # 44 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 2 3 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: namespace filesystem { struct __file_clock; }; 32020: # 68 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: namespace chrono 32020: { 32020: template> 32020: struct duration; 32020: 32020: template 32020: struct time_point; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __duration_common_type 32020: { }; 32020: 32020: template 32020: struct __duration_common_type<_CT, _Period1, _Period2, 32020: __void_t> 32020: { 32020: private: 32020: using __gcd_num = __static_gcd<_Period1::num, _Period2::num>; 32020: using __gcd_den = __static_gcd<_Period1::den, _Period2::den>; 32020: using __cr = typename _CT::type; 32020: using __r = ratio<__gcd_num::value, 32020: (_Period1::den / __gcd_den::value) * _Period2::den>; 32020: 32020: public: 32020: using type = chrono::duration<__cr, __r>; 32020: }; 32020: 32020: template 32020: struct __duration_common_type<__failure_type, _Period1, _Period2> 32020: { typedef __failure_type type; }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct common_type, 32020: chrono::duration<_Rep2, _Period2>> 32020: : __duration_common_type, _Period1, _Period2> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __timepoint_common_type 32020: { }; 32020: 32020: template 32020: struct __timepoint_common_type<_CT, _Clock, __void_t> 32020: { 32020: using type = chrono::time_point<_Clock, typename _CT::type>; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct common_type, 32020: chrono::time_point<_Clock, _Duration2>> 32020: : __timepoint_common_type, _Clock> 32020: { }; 32020: 32020: 32020: 32020: namespace chrono 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __duration_cast_impl 32020: { 32020: template 32020: static constexpr _ToDur 32020: __cast(const duration<_Rep, _Period>& __d) 32020: { 32020: typedef typename _ToDur::rep __to_rep; 32020: return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count()) 32020: * static_cast<_CR>(_CF::num) 32020: / static_cast<_CR>(_CF::den))); 32020: } 32020: }; 32020: 32020: template 32020: struct __duration_cast_impl<_ToDur, _CF, _CR, true, true> 32020: { 32020: template 32020: static constexpr _ToDur 32020: __cast(const duration<_Rep, _Period>& __d) 32020: { 32020: typedef typename _ToDur::rep __to_rep; 32020: return _ToDur(static_cast<__to_rep>(__d.count())); 32020: } 32020: }; 32020: 32020: template 32020: struct __duration_cast_impl<_ToDur, _CF, _CR, true, false> 32020: { 32020: template 32020: static constexpr _ToDur 32020: __cast(const duration<_Rep, _Period>& __d) 32020: { 32020: typedef typename _ToDur::rep __to_rep; 32020: return _ToDur(static_cast<__to_rep>( 32020: static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den))); 32020: } 32020: }; 32020: 32020: template 32020: struct __duration_cast_impl<_ToDur, _CF, _CR, false, true> 32020: { 32020: template 32020: static constexpr _ToDur 32020: __cast(const duration<_Rep, _Period>& __d) 32020: { 32020: typedef typename _ToDur::rep __to_rep; 32020: return _ToDur(static_cast<__to_rep>( 32020: static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num))); 32020: } 32020: }; 32020: 32020: template 32020: struct __is_duration 32020: : std::false_type 32020: { }; 32020: 32020: template 32020: struct __is_duration> 32020: : std::true_type 32020: { }; 32020: 32020: template 32020: using __enable_if_is_duration 32020: = typename enable_if<__is_duration<_Tp>::value, _Tp>::type; 32020: 32020: template 32020: using __disable_if_is_duration 32020: = typename enable_if::value, _Tp>::type; 32020: 32020: 32020: 32020: 32020: template 32020: constexpr __enable_if_is_duration<_ToDur> 32020: duration_cast(const duration<_Rep, _Period>& __d) 32020: { 32020: typedef typename _ToDur::period __to_period; 32020: typedef typename _ToDur::rep __to_rep; 32020: typedef ratio_divide<_Period, __to_period> __cf; 32020: typedef typename common_type<__to_rep, _Rep, intmax_t>::type 32020: __cr; 32020: typedef __duration_cast_impl<_ToDur, __cf, __cr, 32020: __cf::num == 1, __cf::den == 1> __dc; 32020: return __dc::__cast(__d); 32020: } 32020: 32020: 32020: template 32020: struct treat_as_floating_point 32020: : is_floating_point<_Rep> 32020: { }; 32020: 32020: 32020: template 32020: inline constexpr bool treat_as_floating_point_v = 32020: treat_as_floating_point<_Rep>::value; 32020: # 305 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: template 32020: constexpr __enable_if_is_duration<_ToDur> 32020: floor(const duration<_Rep, _Period>& __d) 32020: { 32020: auto __to = chrono::duration_cast<_ToDur>(__d); 32020: if (__to > __d) 32020: return __to - _ToDur{1}; 32020: return __to; 32020: } 32020: 32020: template 32020: constexpr __enable_if_is_duration<_ToDur> 32020: ceil(const duration<_Rep, _Period>& __d) 32020: { 32020: auto __to = chrono::duration_cast<_ToDur>(__d); 32020: if (__to < __d) 32020: return __to + _ToDur{1}; 32020: return __to; 32020: } 32020: 32020: template 32020: constexpr enable_if_t< 32020: __and_<__is_duration<_ToDur>, 32020: __not_>>::value, 32020: _ToDur> 32020: round(const duration<_Rep, _Period>& __d) 32020: { 32020: _ToDur __t0 = chrono::floor<_ToDur>(__d); 32020: _ToDur __t1 = __t0 + _ToDur{1}; 32020: auto __diff0 = __d - __t0; 32020: auto __diff1 = __t1 - __d; 32020: if (__diff0 == __diff1) 32020: { 32020: if (__t0.count() & 1) 32020: return __t1; 32020: return __t0; 32020: } 32020: else if (__diff0 < __diff1) 32020: return __t0; 32020: return __t1; 32020: } 32020: 32020: template 32020: constexpr 32020: enable_if_t::is_signed, duration<_Rep, _Period>> 32020: abs(duration<_Rep, _Period> __d) 32020: { 32020: if (__d >= __d.zero()) 32020: return __d; 32020: return -__d; 32020: } 32020: 32020: 32020: 32020: template 32020: struct duration_values 32020: { 32020: static constexpr _Rep 32020: zero() noexcept 32020: { return _Rep(0); } 32020: 32020: static constexpr _Rep 32020: max() noexcept 32020: { return numeric_limits<_Rep>::max(); } 32020: 32020: static constexpr _Rep 32020: min() noexcept 32020: { return numeric_limits<_Rep>::lowest(); } 32020: }; 32020: 32020: 32020: 32020: template 32020: struct __is_ratio 32020: : std::false_type 32020: { }; 32020: 32020: template 32020: struct __is_ratio> 32020: : std::true_type 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: struct duration 32020: { 32020: private: 32020: template 32020: using __is_float = treat_as_floating_point<_Rep2>; 32020: 32020: 32020: template 32020: using __is_harmonic 32020: = __bool_constant::den == 1>; 32020: 32020: public: 32020: 32020: typedef _Rep rep; 32020: typedef _Period period; 32020: 32020: static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration"); 32020: static_assert(__is_ratio<_Period>::value, 32020: "period must be a specialization of ratio"); 32020: static_assert(_Period::num > 0, "period must be positive"); 32020: 32020: 32020: constexpr duration() = default; 32020: 32020: duration(const duration&) = default; 32020: 32020: 32020: 32020: template, 32020: __or_<__is_float, __not_<__is_float<_Rep2>>>>> 32020: constexpr explicit duration(const _Rep2& __rep) 32020: : __r(static_cast(__rep)) { } 32020: 32020: template, 32020: __and_<__is_harmonic<_Period2>, 32020: __not_<__is_float<_Rep2>>>>>> 32020: constexpr duration(const duration<_Rep2, _Period2>& __d) 32020: : __r(duration_cast(__d).count()) { } 32020: 32020: ~duration() = default; 32020: duration& operator=(const duration&) = default; 32020: 32020: 32020: constexpr rep 32020: count() const 32020: { return __r; } 32020: 32020: 32020: constexpr duration 32020: operator+() const 32020: { return *this; } 32020: 32020: constexpr duration 32020: operator-() const 32020: { return duration(-__r); } 32020: 32020: constexpr duration& 32020: operator++() 32020: { 32020: ++__r; 32020: return *this; 32020: } 32020: 32020: constexpr duration 32020: operator++(int) 32020: { return duration(__r++); } 32020: 32020: constexpr duration& 32020: operator--() 32020: { 32020: --__r; 32020: return *this; 32020: } 32020: 32020: constexpr duration 32020: operator--(int) 32020: { return duration(__r--); } 32020: 32020: constexpr duration& 32020: operator+=(const duration& __d) 32020: { 32020: __r += __d.count(); 32020: return *this; 32020: } 32020: 32020: constexpr duration& 32020: operator-=(const duration& __d) 32020: { 32020: __r -= __d.count(); 32020: return *this; 32020: } 32020: 32020: constexpr duration& 32020: operator*=(const rep& __rhs) 32020: { 32020: __r *= __rhs; 32020: return *this; 32020: } 32020: 32020: constexpr duration& 32020: operator/=(const rep& __rhs) 32020: { 32020: __r /= __rhs; 32020: return *this; 32020: } 32020: 32020: 32020: template 32020: constexpr 32020: typename enable_if::value, 32020: duration&>::type 32020: operator%=(const rep& __rhs) 32020: { 32020: __r %= __rhs; 32020: return *this; 32020: } 32020: 32020: template 32020: constexpr 32020: typename enable_if::value, 32020: duration&>::type 32020: operator%=(const duration& __d) 32020: { 32020: __r %= __d.count(); 32020: return *this; 32020: } 32020: 32020: 32020: static constexpr duration 32020: zero() noexcept 32020: { return duration(duration_values::zero()); } 32020: 32020: static constexpr duration 32020: min() noexcept 32020: { return duration(duration_values::min()); } 32020: 32020: static constexpr duration 32020: max() noexcept 32020: { return duration(duration_values::max()); } 32020: 32020: private: 32020: rep __r; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: constexpr typename common_type, 32020: duration<_Rep2, _Period2>>::type 32020: operator+(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<__dur1,__dur2>::type __cd; 32020: return __cd(__cd(__lhs).count() + __cd(__rhs).count()); 32020: } 32020: 32020: 32020: template 32020: constexpr typename common_type, 32020: duration<_Rep2, _Period2>>::type 32020: operator-(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<__dur1,__dur2>::type __cd; 32020: return __cd(__cd(__lhs).count() - __cd(__rhs).count()); 32020: } 32020: # 575 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: template::type> 32020: using __common_rep_t = typename 32020: enable_if::value, _CRep>::type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period> 32020: operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 32020: { 32020: typedef duration::type, _Period> 32020: __cd; 32020: return __cd(__cd(__d).count() * __s); 32020: } 32020: 32020: 32020: template 32020: constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period> 32020: operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d) 32020: { return __d * __s; } 32020: 32020: template 32020: constexpr 32020: duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period> 32020: operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 32020: { 32020: typedef duration::type, _Period> 32020: __cd; 32020: return __cd(__cd(__d).count() / __s); 32020: } 32020: 32020: template 32020: constexpr typename common_type<_Rep1, _Rep2>::type 32020: operator/(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<__dur1,__dur2>::type __cd; 32020: return __cd(__lhs).count() / __cd(__rhs).count(); 32020: } 32020: 32020: 32020: template 32020: constexpr 32020: duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period> 32020: operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 32020: { 32020: typedef duration::type, _Period> 32020: __cd; 32020: return __cd(__cd(__d).count() % __s); 32020: } 32020: 32020: template 32020: constexpr typename common_type, 32020: duration<_Rep2, _Period2>>::type 32020: operator%(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<__dur1,__dur2>::type __cd; 32020: return __cd(__cd(__lhs).count() % __cd(__rhs).count()); 32020: } 32020: 32020: 32020: 32020: template 32020: constexpr bool 32020: operator==(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<__dur1,__dur2>::type __ct; 32020: return __ct(__lhs).count() == __ct(__rhs).count(); 32020: } 32020: 32020: template 32020: constexpr bool 32020: operator<(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<__dur1,__dur2>::type __ct; 32020: return __ct(__lhs).count() < __ct(__rhs).count(); 32020: } 32020: # 685 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: template 32020: constexpr bool 32020: operator!=(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: template 32020: constexpr bool 32020: operator<=(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { return !(__rhs < __lhs); } 32020: 32020: template 32020: constexpr bool 32020: operator>(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { return __rhs < __lhs; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(const duration<_Rep1, _Period1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { return !(__lhs < __rhs); } 32020: # 727 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: using nanoseconds = duration; 32020: 32020: 32020: using microseconds = duration; 32020: 32020: 32020: using milliseconds = duration; 32020: 32020: 32020: using seconds = duration; 32020: 32020: 32020: using minutes = duration>; 32020: 32020: 32020: using hours = duration>; 32020: # 761 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: template 32020: struct time_point 32020: { 32020: static_assert(__is_duration<_Dur>::value, 32020: "duration must be a specialization of std::chrono::duration"); 32020: 32020: typedef _Clock clock; 32020: typedef _Dur duration; 32020: typedef typename duration::rep rep; 32020: typedef typename duration::period period; 32020: 32020: constexpr time_point() : __d(duration::zero()) 32020: { } 32020: 32020: constexpr explicit time_point(const duration& __dur) 32020: : __d(__dur) 32020: { } 32020: 32020: 32020: template>> 32020: constexpr time_point(const time_point& __t) 32020: : __d(__t.time_since_epoch()) 32020: { } 32020: 32020: 32020: constexpr duration 32020: time_since_epoch() const 32020: { return __d; } 32020: 32020: 32020: constexpr time_point& 32020: operator+=(const duration& __dur) 32020: { 32020: __d += __dur; 32020: return *this; 32020: } 32020: 32020: constexpr time_point& 32020: operator-=(const duration& __dur) 32020: { 32020: __d -= __dur; 32020: return *this; 32020: } 32020: 32020: 32020: static constexpr time_point 32020: min() noexcept 32020: { return time_point(duration::min()); } 32020: 32020: static constexpr time_point 32020: max() noexcept 32020: { return time_point(duration::max()); } 32020: 32020: private: 32020: duration __d; 32020: }; 32020: 32020: 32020: template 32020: constexpr typename enable_if<__is_duration<_ToDur>::value, 32020: time_point<_Clock, _ToDur>>::type 32020: time_point_cast(const time_point<_Clock, _Dur>& __t) 32020: { 32020: typedef time_point<_Clock, _ToDur> __time_point; 32020: return __time_point(duration_cast<_ToDur>(__t.time_since_epoch())); 32020: } 32020: 32020: 32020: template 32020: constexpr 32020: enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>> 32020: floor(const time_point<_Clock, _Dur>& __tp) 32020: { 32020: return time_point<_Clock, _ToDur>{ 32020: chrono::floor<_ToDur>(__tp.time_since_epoch())}; 32020: } 32020: 32020: template 32020: constexpr 32020: enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>> 32020: ceil(const time_point<_Clock, _Dur>& __tp) 32020: { 32020: return time_point<_Clock, _ToDur>{ 32020: chrono::ceil<_ToDur>(__tp.time_since_epoch())}; 32020: } 32020: 32020: template 32020: constexpr enable_if_t< 32020: __and_<__is_duration<_ToDur>, 32020: __not_>>::value, 32020: time_point<_Clock, _ToDur>> 32020: round(const time_point<_Clock, _Dur>& __tp) 32020: { 32020: return time_point<_Clock, _ToDur>{ 32020: chrono::round<_ToDur>(__tp.time_since_epoch())}; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr time_point<_Clock, 32020: typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> 32020: operator+(const time_point<_Clock, _Dur1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<_Dur1,__dur2>::type __ct; 32020: typedef time_point<_Clock, __ct> __time_point; 32020: return __time_point(__lhs.time_since_epoch() + __rhs); 32020: } 32020: 32020: 32020: template 32020: constexpr time_point<_Clock, 32020: typename common_type, _Dur2>::type> 32020: operator+(const duration<_Rep1, _Period1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { 32020: typedef duration<_Rep1, _Period1> __dur1; 32020: typedef typename common_type<__dur1,_Dur2>::type __ct; 32020: typedef time_point<_Clock, __ct> __time_point; 32020: return __time_point(__rhs.time_since_epoch() + __lhs); 32020: } 32020: 32020: 32020: template 32020: constexpr time_point<_Clock, 32020: typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> 32020: operator-(const time_point<_Clock, _Dur1>& __lhs, 32020: const duration<_Rep2, _Period2>& __rhs) 32020: { 32020: typedef duration<_Rep2, _Period2> __dur2; 32020: typedef typename common_type<_Dur1,__dur2>::type __ct; 32020: typedef time_point<_Clock, __ct> __time_point; 32020: return __time_point(__lhs.time_since_epoch() -__rhs); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: constexpr typename common_type<_Dur1, _Dur2>::type 32020: operator-(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); } 32020: 32020: template 32020: constexpr bool 32020: operator==(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); } 32020: # 929 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: template 32020: constexpr bool 32020: operator!=(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return !(__lhs == __rhs); } 32020: 32020: 32020: template 32020: constexpr bool 32020: operator<(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); } 32020: 32020: template 32020: constexpr bool 32020: operator<=(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return !(__rhs < __lhs); } 32020: 32020: template 32020: constexpr bool 32020: operator>(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return __rhs < __lhs; } 32020: 32020: template 32020: constexpr bool 32020: operator>=(const time_point<_Clock, _Dur1>& __lhs, 32020: const time_point<_Clock, _Dur2>& __rhs) 32020: { return !(__lhs < __rhs); } 32020: # 980 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: inline namespace _V2 { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: struct system_clock 32020: { 32020: typedef chrono::nanoseconds duration; 32020: typedef duration::rep rep; 32020: typedef duration::period period; 32020: typedef chrono::time_point time_point; 32020: 32020: static_assert(system_clock::duration::min() 32020: < system_clock::duration::zero(), 32020: "a clock's minimum duration cannot be less than its epoch"); 32020: 32020: static constexpr bool is_steady = false; 32020: 32020: static time_point 32020: now() noexcept; 32020: 32020: 32020: static std::time_t 32020: to_time_t(const time_point& __t) noexcept 32020: { 32020: return std::time_t(duration_cast 32020: (__t.time_since_epoch()).count()); 32020: } 32020: 32020: static time_point 32020: from_time_t(std::time_t __t) noexcept 32020: { 32020: typedef chrono::time_point __from; 32020: return time_point_cast 32020: (__from(chrono::seconds(__t))); 32020: } 32020: }; 32020: # 1028 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: struct steady_clock 32020: { 32020: typedef chrono::nanoseconds duration; 32020: typedef duration::rep rep; 32020: typedef duration::period period; 32020: typedef chrono::time_point time_point; 32020: 32020: static constexpr bool is_steady = true; 32020: 32020: static time_point 32020: now() noexcept; 32020: }; 32020: # 1050 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: using high_resolution_clock = system_clock; 32020: 32020: } 32020: # 1081 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: } 32020: 32020: 32020: 32020: 32020: 32020: inline namespace literals 32020: { 32020: # 1112 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: inline namespace chrono_literals 32020: { 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wliteral-suffix" 32020: 32020: template 32020: constexpr _Dur __check_overflow() 32020: { 32020: using _Val = __parse_int::_Parse_int<_Digits...>; 32020: constexpr typename _Dur::rep __repval = _Val::value; 32020: static_assert(__repval >= 0 && __repval == _Val::value, 32020: "literal value cannot be represented by duration type"); 32020: return _Dur(__repval); 32020: } 32020: 32020: 32020: 32020: constexpr chrono::duration> 32020: operator""h(long double __hours) 32020: { return chrono::duration>{__hours}; } 32020: 32020: 32020: template 32020: constexpr chrono::hours 32020: operator""h() 32020: { return __check_overflow(); } 32020: 32020: 32020: constexpr chrono::duration> 32020: operator""min(long double __mins) 32020: { return chrono::duration>{__mins}; } 32020: 32020: 32020: template 32020: constexpr chrono::minutes 32020: operator""min() 32020: { return __check_overflow(); } 32020: 32020: 32020: constexpr chrono::duration 32020: operator""s(long double __secs) 32020: { return chrono::duration{__secs}; } 32020: 32020: 32020: template 32020: constexpr chrono::seconds 32020: operator""s() 32020: { return __check_overflow(); } 32020: 32020: 32020: constexpr chrono::duration 32020: operator""ms(long double __msecs) 32020: { return chrono::duration{__msecs}; } 32020: 32020: 32020: template 32020: constexpr chrono::milliseconds 32020: operator""ms() 32020: { return __check_overflow(); } 32020: 32020: 32020: constexpr chrono::duration 32020: operator""us(long double __usecs) 32020: { return chrono::duration{__usecs}; } 32020: 32020: 32020: template 32020: constexpr chrono::microseconds 32020: operator""us() 32020: { return __check_overflow(); } 32020: 32020: 32020: constexpr chrono::duration 32020: operator""ns(long double __nsecs) 32020: { return chrono::duration{__nsecs}; } 32020: 32020: 32020: template 32020: constexpr chrono::nanoseconds 32020: operator""ns() 32020: { return __check_overflow(); } 32020: 32020: #pragma GCC diagnostic pop 32020: } 32020: } 32020: 32020: namespace chrono 32020: { 32020: using namespace literals::chrono_literals; 32020: } 32020: 32020: 32020: namespace filesystem 32020: { 32020: struct __file_clock 32020: { 32020: using duration = chrono::nanoseconds; 32020: using rep = duration::rep; 32020: using period = duration::period; 32020: using time_point = chrono::time_point<__file_clock>; 32020: static constexpr bool is_steady = false; 32020: 32020: static time_point 32020: now() noexcept 32020: { return _S_from_sys(chrono::system_clock::now()); } 32020: # 1233 "/usr/arm-linux-gnueabihf/include/c++/10/chrono" 3 32020: private: 32020: using __sys_clock = chrono::system_clock; 32020: 32020: 32020: 32020: 32020: static constexpr chrono::seconds _S_epoch_diff{6437664000}; 32020: 32020: protected: 32020: 32020: template 32020: static 32020: chrono::time_point<__file_clock, _Dur> 32020: _S_from_sys(const chrono::time_point<__sys_clock, _Dur>& __t) noexcept 32020: { 32020: using __file_time = chrono::time_point<__file_clock, _Dur>; 32020: return __file_time{__t.time_since_epoch()} - _S_epoch_diff; 32020: } 32020: 32020: 32020: template 32020: static 32020: chrono::time_point<__sys_clock, _Dur> 32020: _S_to_sys(const chrono::time_point<__file_clock, _Dur>& __t) noexcept 32020: { 32020: using __sys_time = chrono::time_point<__sys_clock, _Dur>; 32020: return __sys_time{__t.time_since_epoch()} + _S_epoch_diff; 32020: } 32020: }; 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: class QEvent; 32020: class QTimerEvent; 32020: class QChildEvent; 32020: struct QMetaObject; 32020: class QVariant; 32020: class QObjectPrivate; 32020: class QObject; 32020: class QThread; 32020: class QWidget; 32020: class QAccessibleWidget; 32020: 32020: class QRegExp; 32020: 32020: 32020: class QRegularExpression; 32020: 32020: 32020: 32020: 32020: 32020: class QObjectUserData; 32020: 32020: struct QDynamicMetaObjectData; 32020: 32020: typedef QList QObjectList; 32020: 32020: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QString &name, 32020: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 32020: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QRegExp &re, 32020: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 32020: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QRegularExpression &re, 32020: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 32020: __attribute__((visibility("default"))) QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo, Qt::FindChildOptions options); 32020: 32020: class __attribute__((visibility("default"))) QObjectData { 32020: QObjectData(const QObjectData &) = delete; QObjectData &operator=(const QObjectData &) = delete; 32020: public: 32020: QObjectData() = default; 32020: virtual ~QObjectData() = 0; 32020: QObject *q_ptr; 32020: QObject *parent; 32020: QObjectList children; 32020: 32020: uint isWidget : 1; 32020: uint blockSig : 1; 32020: uint wasDeleted : 1; 32020: uint isDeletingChildren : 1; 32020: uint sendChildEvents : 1; 32020: uint receiveChildEvents : 1; 32020: uint isWindow : 1; 32020: uint deleteLaterCalled : 1; 32020: uint unused : 24; 32020: int postedEvents; 32020: QDynamicMetaObjectData *metaObject; 32020: QMetaObject *dynamicMetaObject() const; 32020: 32020: 32020: 32020: 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QObject 32020: { 32020: public: 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: 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: 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 129 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: struct QPrivateSignal {}; 32020: 32020: 32020: inline QObjectPrivate* d_func() { 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: } inline const QObjectPrivate* d_func() const { 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: } friend class QObjectPrivate; 32020: 32020: public: 32020: explicit QObject(QObject *parent=nullptr); 32020: virtual ~QObject(); 32020: 32020: virtual bool event(QEvent *event); 32020: virtual bool eventFilter(QObject *watched, QEvent *event); 32020: # 150 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: QString objectName() const; 32020: void setObjectName(const QString &name); 32020: 32020: inline bool isWidgetType() const { return d_ptr->isWidget; } 32020: inline bool isWindowType() const { return d_ptr->isWindow; } 32020: 32020: inline bool signalsBlocked() const noexcept { return d_ptr->blockSig; } 32020: bool blockSignals(bool b) noexcept; 32020: 32020: QThread *thread() const; 32020: void moveToThread(QThread *thread); 32020: 32020: int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer); 32020: 32020: inline __attribute__((always_inline)) 32020: int startTimer(std::chrono::milliseconds time, Qt::TimerType timerType = Qt::CoarseTimer) 32020: { 32020: return startTimer(int(time.count()), timerType); 32020: } 32020: 32020: void killTimer(int id); 32020: 32020: template 32020: inline T findChild(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 32020: { 32020: typedef typename std::remove_cv::type>::type ObjType; 32020: return static_cast(qt_qFindChild_helper(this, aName, ObjType::staticMetaObject, options)); 32020: } 32020: 32020: template 32020: inline QList findChildren(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 32020: { 32020: typedef typename std::remove_cv::type>::type ObjType; 32020: QList list; 32020: qt_qFindChildren_helper(this, aName, ObjType::staticMetaObject, 32020: reinterpret_cast *>(&list), options); 32020: return list; 32020: } 32020: 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use findChildren(const QRegularExpression &, ...) instead."))) 32020: inline QList findChildren(const QRegExp &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 32020: { 32020: typedef typename std::remove_cv::type>::type ObjType; 32020: QList list; 32020: qt_qFindChildren_helper(this, re, ObjType::staticMetaObject, 32020: reinterpret_cast *>(&list), options); 32020: return list; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline QList findChildren(const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 32020: { 32020: typedef typename std::remove_cv::type>::type ObjType; 32020: QList list; 32020: qt_qFindChildren_helper(this, re, ObjType::staticMetaObject, 32020: reinterpret_cast *>(&list), options); 32020: return list; 32020: } 32020: 32020: 32020: inline const QObjectList &children() const { return d_ptr->children; } 32020: 32020: void setParent(QObject *parent); 32020: void installEventFilter(QObject *filterObj); 32020: void removeEventFilter(QObject *obj); 32020: 32020: static QMetaObject::Connection connect(const QObject *sender, const char *signal, 32020: const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection); 32020: 32020: static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal, 32020: const QObject *receiver, const QMetaMethod &method, 32020: Qt::ConnectionType type = Qt::AutoConnection); 32020: 32020: inline QMetaObject::Connection connect(const QObject *sender, const char *signal, 32020: const char *member, Qt::ConnectionType type = Qt::AutoConnection) const; 32020: # 241 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: template 32020: static inline QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 32020: const typename QtPrivate::FunctionPointer::Object *receiver, Func2 slot, 32020: Qt::ConnectionType type = Qt::AutoConnection) 32020: { 32020: typedef QtPrivate::FunctionPointer SignalType; 32020: typedef QtPrivate::FunctionPointer SlotType; 32020: 32020: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 32020: ; 32020: 32020: 32020: static_assert(bool(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount)), "The slot requires more arguments than the signal provides.") 32020: ; 32020: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 32020: ; 32020: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 32020: ; 32020: 32020: const int *types = nullptr; 32020: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 32020: types = QtPrivate::ConnectionTypes::types(); 32020: 32020: return connectImpl(sender, reinterpret_cast(&signal), 32020: receiver, reinterpret_cast(&slot), 32020: new QtPrivate::QSlotObject::Value, 32020: typename SignalType::ReturnType>(slot), 32020: type, types, &SignalType::Object::staticMetaObject); 32020: } 32020: 32020: 32020: template 32020: static inline typename std::enable_if::ArgumentCount) >= 0, QMetaObject::Connection>::type 32020: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, Func2 slot) 32020: { 32020: return connect(sender, signal, sender, slot, Qt::DirectConnection); 32020: } 32020: 32020: 32020: template 32020: static inline typename std::enable_if::ArgumentCount) >= 0 && 32020: !QtPrivate::FunctionPointer::IsPointerToMemberFunction, QMetaObject::Connection>::type 32020: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, const QObject *context, Func2 slot, 32020: Qt::ConnectionType type = Qt::AutoConnection) 32020: { 32020: typedef QtPrivate::FunctionPointer SignalType; 32020: typedef QtPrivate::FunctionPointer SlotType; 32020: 32020: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 32020: ; 32020: 32020: 32020: static_assert(bool(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount)), "The slot requires more arguments than the signal provides.") 32020: ; 32020: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 32020: ; 32020: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 32020: ; 32020: 32020: const int *types = nullptr; 32020: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 32020: types = QtPrivate::ConnectionTypes::types(); 32020: 32020: return connectImpl(sender, reinterpret_cast(&signal), context, nullptr, 32020: new QtPrivate::QStaticSlotObject::Value, 32020: typename SignalType::ReturnType>(slot), 32020: type, types, &SignalType::Object::staticMetaObject); 32020: } 32020: 32020: 32020: template 32020: static inline typename std::enable_if::ArgumentCount == -1, QMetaObject::Connection>::type 32020: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, Func2 slot) 32020: { 32020: return connect(sender, signal, sender, std::move(slot), Qt::DirectConnection); 32020: } 32020: 32020: 32020: template 32020: static inline typename std::enable_if::ArgumentCount == -1, QMetaObject::Connection>::type 32020: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, const QObject *context, Func2 slot, 32020: Qt::ConnectionType type = Qt::AutoConnection) 32020: { 32020: typedef QtPrivate::FunctionPointer SignalType; 32020: const int FunctorArgumentCount = QtPrivate::ComputeFunctorArgumentCount::Value; 32020: 32020: static_assert(bool((FunctorArgumentCount >= 0)), "Signal and slot arguments are not compatible.") 32020: ; 32020: const int SlotArgumentCount = (FunctorArgumentCount >= 0) ? FunctorArgumentCount : 0; 32020: typedef typename QtPrivate::FunctorReturnType::Value>::Value SlotReturnType; 32020: 32020: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 32020: ; 32020: 32020: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 32020: ; 32020: 32020: const int *types = nullptr; 32020: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 32020: types = QtPrivate::ConnectionTypes::types(); 32020: 32020: return connectImpl(sender, reinterpret_cast(&signal), context, nullptr, 32020: new QtPrivate::QFunctorSlotObject::Value, 32020: typename SignalType::ReturnType>(std::move(slot)), 32020: type, types, &SignalType::Object::staticMetaObject); 32020: } 32020: 32020: 32020: static bool disconnect(const QObject *sender, const char *signal, 32020: const QObject *receiver, const char *member); 32020: static bool disconnect(const QObject *sender, const QMetaMethod &signal, 32020: const QObject *receiver, const QMetaMethod &member); 32020: inline bool disconnect(const char *signal = nullptr, 32020: const QObject *receiver = nullptr, const char *member = nullptr) const 32020: { return disconnect(this, signal, receiver, member); } 32020: inline bool disconnect(const QObject *receiver, const char *member = nullptr) const 32020: { return disconnect(this, nullptr, receiver, member); } 32020: static bool disconnect(const QMetaObject::Connection &); 32020: 32020: 32020: 32020: 32020: 32020: template 32020: static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 32020: const typename QtPrivate::FunctionPointer::Object *receiver, Func2 slot) 32020: { 32020: typedef QtPrivate::FunctionPointer SignalType; 32020: typedef QtPrivate::FunctionPointer SlotType; 32020: 32020: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 32020: ; 32020: 32020: 32020: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 32020: ; 32020: 32020: return disconnectImpl(sender, reinterpret_cast(&signal), receiver, reinterpret_cast(&slot), 32020: &SignalType::Object::staticMetaObject); 32020: } 32020: template 32020: static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 32020: const QObject *receiver, void **zero) 32020: { 32020: 32020: 32020: 32020: static_cast(false && (!zero)); 32020: typedef QtPrivate::FunctionPointer SignalType; 32020: return disconnectImpl(sender, reinterpret_cast(&signal), receiver, zero, 32020: &SignalType::Object::staticMetaObject); 32020: } 32020: 32020: 32020: 32020: 32020: void dumpObjectTree(); 32020: void dumpObjectInfo(); 32020: 32020: void dumpObjectTree() const; 32020: void dumpObjectInfo() const; 32020: 32020: 32020: bool setProperty(const char *name, const QVariant &value); 32020: QVariant property(const char *name) const; 32020: QList dynamicPropertyNames() const; 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__)) 32020: static uint registerUserData(); 32020: __attribute__ ((__deprecated__("Use setProperty()"))) 32020: void setUserData(uint id, QObjectUserData* data); 32020: __attribute__ ((__deprecated__("Use property()"))) 32020: QObjectUserData* userData(uint id) const; 32020: 32020: 32020: public : 32020: void destroyed(QObject * = nullptr); 32020: void objectNameChanged(const QString &objectName, QPrivateSignal); 32020: 32020: public: 32020: inline QObject *parent() const { return d_ptr->parent; } 32020: 32020: inline bool inherits(const char *classname) const 32020: { return const_cast(this)->qt_metacast(classname) != nullptr; } 32020: 32020: public : 32020: void deleteLater(); 32020: 32020: protected: 32020: QObject *sender() const; 32020: int senderSignalIndex() const; 32020: int receivers(const char* signal) const; 32020: bool isSignalConnected(const QMetaMethod &signal) const; 32020: 32020: virtual void timerEvent(QTimerEvent *event); 32020: virtual void childEvent(QChildEvent *event); 32020: virtual void customEvent(QEvent *event); 32020: 32020: virtual void connectNotify(const QMetaMethod &signal); 32020: virtual void disconnectNotify(const QMetaMethod &signal); 32020: 32020: protected: 32020: QObject(QObjectPrivate &dd, QObject *parent = nullptr); 32020: 32020: protected: 32020: QScopedPointer d_ptr; 32020: 32020: static const QMetaObject staticQtMetaObject; 32020: friend inline const QMetaObject *qt_getQtMetaObject() noexcept; 32020: 32020: friend struct QMetaObject; 32020: friend struct QMetaObjectPrivate; 32020: friend class QMetaCallEvent; 32020: friend class QApplication; 32020: friend class QApplicationPrivate; 32020: friend class QCoreApplication; 32020: friend class QCoreApplicationPrivate; 32020: friend class QWidget; 32020: friend class QAccessibleWidget; 32020: friend class QThreadData; 32020: 32020: private: 32020: QObject(const QObject &) = delete; QObject &operator=(const QObject &) = delete; 32020: 32020: 32020: private: 32020: static QMetaObject::Connection connectImpl(const QObject *sender, void **signal, 32020: const QObject *receiver, void **slotPtr, 32020: QtPrivate::QSlotObjectBase *slot, Qt::ConnectionType type, 32020: const int *types, const QMetaObject *senderMetaObject); 32020: 32020: static bool disconnectImpl(const QObject *sender, void **signal, const QObject *receiver, void **slot, 32020: const QMetaObject *senderMetaObject); 32020: 32020: }; 32020: 32020: inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal, 32020: const char *amember, Qt::ConnectionType atype) const 32020: { return connect(asender, asignal, this, amember, atype); } 32020: 32020: inline const QMetaObject *qt_getQtMetaObject() noexcept 32020: { return &QObject::staticQtMetaObject; } 32020: 32020: 32020: class __attribute__((visibility("default"))) QObjectUserData { 32020: QObjectUserData(const QObjectUserData &) = delete; QObjectUserData &operator=(const QObjectUserData &) = delete; 32020: public: 32020: QObjectUserData() = default; 32020: virtual ~QObjectUserData(); 32020: }; 32020: # 518 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: template 32020: inline T qobject_cast(QObject *object) 32020: { 32020: typedef typename std::remove_cv::type>::type ObjType; 32020: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "qobject_cast requires the type to have a Q_OBJECT macro") 32020: ; 32020: return static_cast(ObjType::staticMetaObject.cast(object)); 32020: } 32020: 32020: template 32020: inline T qobject_cast(const QObject *object) 32020: { 32020: typedef typename std::remove_cv::type>::type ObjType; 32020: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "qobject_cast requires the type to have a Q_OBJECT macro") 32020: ; 32020: return static_cast(ObjType::staticMetaObject.cast(object)); 32020: } 32020: 32020: 32020: template inline const char * qobject_interface_iid() 32020: { return nullptr; } 32020: # 554 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h" 3 4 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QObject *); 32020: 32020: 32020: class QSignalBlocker 32020: { 32020: public: 32020: inline explicit QSignalBlocker(QObject *o) noexcept; 32020: inline explicit QSignalBlocker(QObject &o) noexcept; 32020: inline ~QSignalBlocker(); 32020: 32020: inline QSignalBlocker(QSignalBlocker &&other) noexcept; 32020: inline QSignalBlocker &operator=(QSignalBlocker &&other) noexcept; 32020: 32020: inline void reblock() noexcept; 32020: inline void unblock() noexcept; 32020: private: 32020: QSignalBlocker(const QSignalBlocker &) = delete; QSignalBlocker &operator=(const QSignalBlocker &) = delete; 32020: QObject * m_o; 32020: bool m_blocked; 32020: bool m_inhibited; 32020: }; 32020: 32020: QSignalBlocker::QSignalBlocker(QObject *o) noexcept 32020: : m_o(o), 32020: m_blocked(o && o->blockSignals(true)), 32020: m_inhibited(false) 32020: {} 32020: 32020: QSignalBlocker::QSignalBlocker(QObject &o) noexcept 32020: : m_o(&o), 32020: m_blocked(o.blockSignals(true)), 32020: m_inhibited(false) 32020: {} 32020: 32020: QSignalBlocker::QSignalBlocker(QSignalBlocker &&other) noexcept 32020: : m_o(other.m_o), 32020: m_blocked(other.m_blocked), 32020: m_inhibited(other.m_inhibited) 32020: { 32020: other.m_o = nullptr; 32020: } 32020: 32020: QSignalBlocker &QSignalBlocker::operator=(QSignalBlocker &&other) noexcept 32020: { 32020: if (this != &other) { 32020: 32020: 32020: if (m_o != other.m_o || (!m_inhibited && other.m_inhibited)) 32020: unblock(); 32020: m_o = other.m_o; 32020: m_blocked = other.m_blocked; 32020: m_inhibited = other.m_inhibited; 32020: 32020: other.m_o = nullptr; 32020: } 32020: return *this; 32020: } 32020: 32020: QSignalBlocker::~QSignalBlocker() 32020: { 32020: if (m_o && !m_inhibited) 32020: m_o->blockSignals(m_blocked); 32020: } 32020: 32020: void QSignalBlocker::reblock() noexcept 32020: { 32020: if (m_o) m_o->blockSignals(true); 32020: m_inhibited = false; 32020: } 32020: 32020: void QSignalBlocker::unblock() noexcept 32020: { 32020: if (m_o) m_o->blockSignals(m_blocked); 32020: m_inhibited = true; 32020: } 32020: 32020: namespace QtPrivate { 32020: inline QObject & deref_for_methodcall(QObject &o) { return o; } 32020: inline QObject & deref_for_methodcall(QObject *o) { return *o; } 32020: } 32020: 32020: 32020: 32020: # 66 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 1 3 4 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 4 32020: 32020: # 48 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: # 68 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_raw_storage_iter.h" 1 3 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_raw_storage_iter.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class raw_storage_iterator 32020: : public iterator 32020: { 32020: protected: 32020: _OutputIterator _M_iter; 32020: 32020: public: 32020: explicit 32020: raw_storage_iterator(_OutputIterator __x) 32020: : _M_iter(__x) {} 32020: 32020: raw_storage_iterator& 32020: operator*() { return *this; } 32020: 32020: raw_storage_iterator& 32020: operator=(const _Tp& __element) 32020: { 32020: std::_Construct(std::__addressof(*_M_iter), __element); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: raw_storage_iterator& 32020: operator=(_Tp&& __element) 32020: { 32020: std::_Construct(std::__addressof(*_M_iter), std::move(__element)); 32020: return *this; 32020: } 32020: 32020: 32020: raw_storage_iterator& 32020: operator++() 32020: { 32020: ++_M_iter; 32020: return *this; 32020: } 32020: 32020: raw_storage_iterator 32020: operator++(int) 32020: { 32020: raw_storage_iterator __tmp = *this; 32020: ++_M_iter; 32020: return __tmp; 32020: } 32020: 32020: 32020: 32020: _OutputIterator base() const { return _M_iter; } 32020: }; 32020: 32020: 32020: } 32020: # 69 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/ranges_uninitialized.h" 1 3 32020: # 70 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/ext/concurrence.h" 1 3 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/ext/concurrence.h" 3 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/ext/concurrence.h" 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: enum _Lock_policy { _S_single, _S_mutex, _S_atomic }; 32020: 32020: 32020: 32020: static const _Lock_policy __default_lock_policy = 32020: 32020: 32020: 32020: _S_atomic; 32020: 32020: 32020: 32020: 32020: 32020: 32020: class __concurrence_lock_error : public std::exception 32020: { 32020: public: 32020: virtual char const* 32020: what() const throw() 32020: { return "__gnu_cxx::__concurrence_lock_error"; } 32020: }; 32020: 32020: class __concurrence_unlock_error : public std::exception 32020: { 32020: public: 32020: virtual char const* 32020: what() const throw() 32020: { return "__gnu_cxx::__concurrence_unlock_error"; } 32020: }; 32020: 32020: class __concurrence_broadcast_error : public std::exception 32020: { 32020: public: 32020: virtual char const* 32020: what() const throw() 32020: { return "__gnu_cxx::__concurrence_broadcast_error"; } 32020: }; 32020: 32020: class __concurrence_wait_error : public std::exception 32020: { 32020: public: 32020: virtual char const* 32020: what() const throw() 32020: { return "__gnu_cxx::__concurrence_wait_error"; } 32020: }; 32020: 32020: 32020: inline void 32020: __throw_concurrence_lock_error() 32020: { (throw (__concurrence_lock_error())); } 32020: 32020: inline void 32020: __throw_concurrence_unlock_error() 32020: { (throw (__concurrence_unlock_error())); } 32020: 32020: 32020: inline void 32020: __throw_concurrence_broadcast_error() 32020: { (throw (__concurrence_broadcast_error())); } 32020: 32020: inline void 32020: __throw_concurrence_wait_error() 32020: { (throw (__concurrence_wait_error())); } 32020: 32020: 32020: class __mutex 32020: { 32020: private: 32020: 32020: __gthread_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } }; 32020: 32020: 32020: 32020: 32020: __mutex(const __mutex&); 32020: __mutex& operator=(const __mutex&); 32020: 32020: public: 32020: __mutex() 32020: { 32020: 32020: 32020: 32020: 32020: } 32020: # 144 "/usr/arm-linux-gnueabihf/include/c++/10/ext/concurrence.h" 3 32020: void lock() 32020: { 32020: 32020: if (__gthread_active_p()) 32020: { 32020: if (__gthread_mutex_lock(&_M_mutex) != 0) 32020: __throw_concurrence_lock_error(); 32020: } 32020: 32020: } 32020: 32020: void unlock() 32020: { 32020: 32020: if (__gthread_active_p()) 32020: { 32020: if (__gthread_mutex_unlock(&_M_mutex) != 0) 32020: __throw_concurrence_unlock_error(); 32020: } 32020: 32020: } 32020: 32020: __gthread_mutex_t* gthread_mutex(void) 32020: { return &_M_mutex; } 32020: }; 32020: 32020: class __recursive_mutex 32020: { 32020: private: 32020: 32020: __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } }; 32020: 32020: 32020: 32020: 32020: __recursive_mutex(const __recursive_mutex&); 32020: __recursive_mutex& operator=(const __recursive_mutex&); 32020: 32020: public: 32020: __recursive_mutex() 32020: { 32020: 32020: 32020: 32020: 32020: } 32020: # 199 "/usr/arm-linux-gnueabihf/include/c++/10/ext/concurrence.h" 3 32020: void lock() 32020: { 32020: 32020: if (__gthread_active_p()) 32020: { 32020: if (__gthread_recursive_mutex_lock(&_M_mutex) != 0) 32020: __throw_concurrence_lock_error(); 32020: } 32020: 32020: } 32020: 32020: void unlock() 32020: { 32020: 32020: if (__gthread_active_p()) 32020: { 32020: if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0) 32020: __throw_concurrence_unlock_error(); 32020: } 32020: 32020: } 32020: 32020: __gthread_recursive_mutex_t* gthread_recursive_mutex(void) 32020: { return &_M_mutex; } 32020: }; 32020: 32020: 32020: 32020: 32020: class __scoped_lock 32020: { 32020: public: 32020: typedef __mutex __mutex_type; 32020: 32020: private: 32020: __mutex_type& _M_device; 32020: 32020: __scoped_lock(const __scoped_lock&); 32020: __scoped_lock& operator=(const __scoped_lock&); 32020: 32020: public: 32020: explicit __scoped_lock(__mutex_type& __name) : _M_device(__name) 32020: { _M_device.lock(); } 32020: 32020: ~__scoped_lock() throw() 32020: { _M_device.unlock(); } 32020: }; 32020: 32020: 32020: class __cond 32020: { 32020: private: 32020: 32020: __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } }; 32020: 32020: 32020: 32020: 32020: __cond(const __cond&); 32020: __cond& operator=(const __cond&); 32020: 32020: public: 32020: __cond() 32020: { 32020: 32020: 32020: 32020: 32020: } 32020: # 277 "/usr/arm-linux-gnueabihf/include/c++/10/ext/concurrence.h" 3 32020: void broadcast() 32020: { 32020: 32020: if (__gthread_active_p()) 32020: { 32020: if (__gthread_cond_broadcast(&_M_cond) != 0) 32020: __throw_concurrence_broadcast_error(); 32020: } 32020: 32020: } 32020: 32020: void wait(__mutex *mutex) 32020: { 32020: 32020: { 32020: if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0) 32020: __throw_concurrence_wait_error(); 32020: } 32020: 32020: } 32020: 32020: void wait_recursive(__recursive_mutex *mutex) 32020: { 32020: 32020: { 32020: if (__gthread_cond_wait_recursive(&_M_cond, 32020: mutex->gthread_recursive_mutex()) 32020: != 0) 32020: __throw_concurrence_wait_error(); 32020: } 32020: 32020: } 32020: }; 32020: 32020: 32020: 32020: } 32020: # 77 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 1 3 32020: # 45 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: template class auto_ptr; 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: 32020: template 32020: struct default_delete 32020: { 32020: 32020: constexpr default_delete() noexcept = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template>> 32020: default_delete(const default_delete<_Up>&) noexcept { } 32020: 32020: 32020: void 32020: operator()(_Tp* __ptr) const 32020: { 32020: static_assert(!is_void<_Tp>::value, 32020: "can't delete pointer to incomplete type"); 32020: static_assert(sizeof(_Tp)>0, 32020: "can't delete pointer to incomplete type"); 32020: delete __ptr; 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct default_delete<_Tp[]> 32020: { 32020: public: 32020: 32020: constexpr default_delete() noexcept = default; 32020: # 109 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template>> 32020: default_delete(const default_delete<_Up[]>&) noexcept { } 32020: 32020: 32020: template 32020: typename enable_if::value>::type 32020: operator()(_Up* __ptr) const 32020: { 32020: static_assert(sizeof(_Tp)>0, 32020: "can't delete pointer to incomplete type"); 32020: delete [] __ptr; 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: class __uniq_ptr_impl 32020: { 32020: template 32020: struct _Ptr 32020: { 32020: using type = _Up*; 32020: }; 32020: 32020: template 32020: struct 32020: _Ptr<_Up, _Ep, __void_t::type::pointer>> 32020: { 32020: using type = typename remove_reference<_Ep>::type::pointer; 32020: }; 32020: 32020: public: 32020: using _DeleterConstraint = enable_if< 32020: __and_<__not_>, 32020: is_default_constructible<_Dp>>::value>; 32020: 32020: using pointer = typename _Ptr<_Tp, _Dp>::type; 32020: 32020: static_assert( !is_rvalue_reference<_Dp>::value, 32020: "unique_ptr's deleter type must be a function object type" 32020: " or an lvalue reference type" ); 32020: 32020: __uniq_ptr_impl() = default; 32020: __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; } 32020: 32020: template 32020: __uniq_ptr_impl(pointer __p, _Del&& __d) 32020: : _M_t(__p, std::forward<_Del>(__d)) { } 32020: 32020: __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept 32020: : _M_t(std::move(__u._M_t)) 32020: { __u._M_ptr() = nullptr; } 32020: 32020: __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept 32020: { 32020: reset(__u.release()); 32020: _M_deleter() = std::forward<_Dp>(__u._M_deleter()); 32020: return *this; 32020: } 32020: 32020: pointer& _M_ptr() { return std::get<0>(_M_t); } 32020: pointer _M_ptr() const { return std::get<0>(_M_t); } 32020: _Dp& _M_deleter() { return std::get<1>(_M_t); } 32020: const _Dp& _M_deleter() const { return std::get<1>(_M_t); } 32020: 32020: void reset(pointer __p) noexcept 32020: { 32020: const pointer __old_p = _M_ptr(); 32020: _M_ptr() = __p; 32020: if (__old_p) 32020: _M_deleter()(__old_p); 32020: } 32020: 32020: pointer release() noexcept 32020: { 32020: pointer __p = _M_ptr(); 32020: _M_ptr() = nullptr; 32020: return __p; 32020: } 32020: 32020: void 32020: swap(__uniq_ptr_impl& __rhs) noexcept 32020: { 32020: using std::swap; 32020: swap(this->_M_ptr(), __rhs._M_ptr()); 32020: swap(this->_M_deleter(), __rhs._M_deleter()); 32020: } 32020: 32020: private: 32020: tuple _M_t; 32020: }; 32020: 32020: 32020: template ::value, 32020: bool = is_move_assignable<_Dp>::value> 32020: struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp> 32020: { 32020: using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; 32020: __uniq_ptr_data(__uniq_ptr_data&&) = default; 32020: __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default; 32020: }; 32020: 32020: template 32020: struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp> 32020: { 32020: using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; 32020: __uniq_ptr_data(__uniq_ptr_data&&) = default; 32020: __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete; 32020: }; 32020: 32020: template 32020: struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp> 32020: { 32020: using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; 32020: __uniq_ptr_data(__uniq_ptr_data&&) = delete; 32020: __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default; 32020: }; 32020: 32020: template 32020: struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp> 32020: { 32020: using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; 32020: __uniq_ptr_data(__uniq_ptr_data&&) = delete; 32020: __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete; 32020: }; 32020: 32020: 32020: 32020: template > 32020: class unique_ptr 32020: { 32020: template 32020: using _DeleterConstraint = 32020: typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type; 32020: 32020: __uniq_ptr_data<_Tp, _Dp> _M_t; 32020: 32020: public: 32020: using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer; 32020: using element_type = _Tp; 32020: using deleter_type = _Dp; 32020: 32020: private: 32020: 32020: 32020: template 32020: using __safe_conversion_up = __and_< 32020: is_convertible::pointer, pointer>, 32020: __not_> 32020: >; 32020: 32020: public: 32020: 32020: 32020: 32020: template> 32020: constexpr unique_ptr() noexcept 32020: : _M_t() 32020: { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template> 32020: explicit 32020: unique_ptr(pointer __p) noexcept 32020: : _M_t(__p) 32020: { } 32020: # 292 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template>> 32020: unique_ptr(pointer __p, const deleter_type& __d) noexcept 32020: : _M_t(__p, __d) { } 32020: # 304 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template>> 32020: unique_ptr(pointer __p, 32020: __enable_if_t::value, 32020: _Del&&> __d) noexcept 32020: : _M_t(__p, std::move(__d)) 32020: { } 32020: 32020: template::type> 32020: unique_ptr(pointer, 32020: __enable_if_t::value, 32020: _DelUnref&&>) = delete; 32020: 32020: 32020: template> 32020: constexpr unique_ptr(nullptr_t) noexcept 32020: : _M_t() 32020: { } 32020: 32020: 32020: 32020: 32020: unique_ptr(unique_ptr&&) = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template, 32020: typename conditional::value, 32020: is_same<_Ep, _Dp>, 32020: is_convertible<_Ep, _Dp>>::type>> 32020: unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept 32020: : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) 32020: { } 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: 32020: template, is_same<_Dp, default_delete<_Tp>>>> 32020: unique_ptr(auto_ptr<_Up>&& __u) noexcept; 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: 32020: ~unique_ptr() noexcept 32020: { 32020: static_assert(__is_invocable::value, 32020: "unique_ptr's deleter must be invocable with a pointer"); 32020: auto& __ptr = _M_t._M_ptr(); 32020: if (__ptr != nullptr) 32020: get_deleter()(std::move(__ptr)); 32020: __ptr = pointer(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: unique_ptr& operator=(unique_ptr&&) = default; 32020: # 380 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template 32020: typename enable_if< __and_< 32020: __safe_conversion_up<_Up, _Ep>, 32020: is_assignable 32020: >::value, 32020: unique_ptr&>::type 32020: operator=(unique_ptr<_Up, _Ep>&& __u) noexcept 32020: { 32020: reset(__u.release()); 32020: get_deleter() = std::forward<_Ep>(__u.get_deleter()); 32020: return *this; 32020: } 32020: 32020: 32020: unique_ptr& 32020: operator=(nullptr_t) noexcept 32020: { 32020: reset(); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: typename add_lvalue_reference::type 32020: operator*() const 32020: { 32020: ; 32020: return *get(); 32020: } 32020: 32020: 32020: pointer 32020: operator->() const noexcept 32020: { 32020: ; 32020: return get(); 32020: } 32020: 32020: 32020: pointer 32020: get() const noexcept 32020: { return _M_t._M_ptr(); } 32020: 32020: 32020: deleter_type& 32020: get_deleter() noexcept 32020: { return _M_t._M_deleter(); } 32020: 32020: 32020: const deleter_type& 32020: get_deleter() const noexcept 32020: { return _M_t._M_deleter(); } 32020: 32020: 32020: explicit operator bool() const noexcept 32020: { return get() == pointer() ? false : true; } 32020: 32020: 32020: 32020: 32020: pointer 32020: release() noexcept 32020: { return _M_t.release(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: reset(pointer __p = pointer()) noexcept 32020: { 32020: static_assert(__is_invocable::value, 32020: "unique_ptr's deleter must be invocable with a pointer"); 32020: _M_t.reset(std::move(__p)); 32020: } 32020: 32020: 32020: void 32020: swap(unique_ptr& __u) noexcept 32020: { 32020: static_assert(__is_swappable<_Dp>::value, "deleter must be swappable"); 32020: _M_t.swap(__u._M_t); 32020: } 32020: 32020: 32020: unique_ptr(const unique_ptr&) = delete; 32020: unique_ptr& operator=(const unique_ptr&) = delete; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class unique_ptr<_Tp[], _Dp> 32020: { 32020: template 32020: using _DeleterConstraint = 32020: typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type; 32020: 32020: __uniq_ptr_data<_Tp, _Dp> _M_t; 32020: 32020: template 32020: using __remove_cv = typename remove_cv<_Up>::type; 32020: 32020: 32020: template 32020: using __is_derived_Tp 32020: = __and_< is_base_of<_Tp, _Up>, 32020: __not_, __remove_cv<_Up>>> >; 32020: 32020: public: 32020: using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer; 32020: using element_type = _Tp; 32020: using deleter_type = _Dp; 32020: 32020: 32020: 32020: template, 32020: typename _UP_pointer = typename _UPtr::pointer, 32020: typename _UP_element_type = typename _UPtr::element_type> 32020: using __safe_conversion_up = __and_< 32020: is_array<_Up>, 32020: is_same, 32020: is_same<_UP_pointer, _UP_element_type*>, 32020: is_convertible<_UP_element_type(*)[], element_type(*)[]> 32020: >; 32020: 32020: 32020: template 32020: using __safe_conversion_raw = __and_< 32020: __or_<__or_, 32020: is_same<_Up, nullptr_t>>, 32020: __and_, 32020: is_same, 32020: is_convertible< 32020: typename remove_pointer<_Up>::type(*)[], 32020: element_type(*)[]> 32020: > 32020: > 32020: >; 32020: 32020: 32020: 32020: 32020: template> 32020: constexpr unique_ptr() noexcept 32020: : _M_t() 32020: { } 32020: # 541 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template, 32020: typename = typename enable_if< 32020: __safe_conversion_raw<_Up>::value, bool>::type> 32020: explicit 32020: unique_ptr(_Up __p) noexcept 32020: : _M_t(__p) 32020: { } 32020: # 559 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template, 32020: is_copy_constructible<_Del>>> 32020: unique_ptr(_Up __p, const deleter_type& __d) noexcept 32020: : _M_t(__p, __d) { } 32020: # 573 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template, 32020: is_move_constructible<_Del>>> 32020: unique_ptr(_Up __p, 32020: __enable_if_t::value, 32020: _Del&&> __d) noexcept 32020: : _M_t(std::move(__p), std::move(__d)) 32020: { } 32020: 32020: template::type, 32020: typename = _Require<__safe_conversion_raw<_Up>>> 32020: unique_ptr(_Up, 32020: __enable_if_t::value, 32020: _DelUnref&&>) = delete; 32020: 32020: 32020: unique_ptr(unique_ptr&&) = default; 32020: 32020: 32020: template> 32020: constexpr unique_ptr(nullptr_t) noexcept 32020: : _M_t() 32020: { } 32020: 32020: template, 32020: typename conditional::value, 32020: is_same<_Ep, _Dp>, 32020: is_convertible<_Ep, _Dp>>::type>> 32020: unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept 32020: : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) 32020: { } 32020: 32020: 32020: ~unique_ptr() 32020: { 32020: auto& __ptr = _M_t._M_ptr(); 32020: if (__ptr != nullptr) 32020: get_deleter()(__ptr); 32020: __ptr = pointer(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: unique_ptr& 32020: operator=(unique_ptr&&) = default; 32020: # 632 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template 32020: typename 32020: enable_if<__and_<__safe_conversion_up<_Up, _Ep>, 32020: is_assignable 32020: >::value, 32020: unique_ptr&>::type 32020: operator=(unique_ptr<_Up, _Ep>&& __u) noexcept 32020: { 32020: reset(__u.release()); 32020: get_deleter() = std::forward<_Ep>(__u.get_deleter()); 32020: return *this; 32020: } 32020: 32020: 32020: unique_ptr& 32020: operator=(nullptr_t) noexcept 32020: { 32020: reset(); 32020: return *this; 32020: } 32020: 32020: 32020: 32020: 32020: typename std::add_lvalue_reference::type 32020: operator[](size_t __i) const 32020: { 32020: ; 32020: return get()[__i]; 32020: } 32020: 32020: 32020: pointer 32020: get() const noexcept 32020: { return _M_t._M_ptr(); } 32020: 32020: 32020: deleter_type& 32020: get_deleter() noexcept 32020: { return _M_t._M_deleter(); } 32020: 32020: 32020: const deleter_type& 32020: get_deleter() const noexcept 32020: { return _M_t._M_deleter(); } 32020: 32020: 32020: explicit operator bool() const noexcept 32020: { return get() == pointer() ? false : true; } 32020: 32020: 32020: 32020: 32020: pointer 32020: release() noexcept 32020: { return _M_t.release(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template , 32020: __and_, 32020: is_pointer<_Up>, 32020: is_convertible< 32020: typename remove_pointer<_Up>::type(*)[], 32020: element_type(*)[] 32020: > 32020: > 32020: > 32020: >> 32020: void 32020: reset(_Up __p) noexcept 32020: { _M_t.reset(std::move(__p)); } 32020: 32020: void reset(nullptr_t = nullptr) noexcept 32020: { reset(pointer()); } 32020: 32020: 32020: void 32020: swap(unique_ptr& __u) noexcept 32020: { 32020: static_assert(__is_swappable<_Dp>::value, "deleter must be swappable"); 32020: _M_t.swap(__u._M_t); 32020: } 32020: 32020: 32020: unique_ptr(const unique_ptr&) = delete; 32020: unique_ptr& operator=(const unique_ptr&) = delete; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: inline 32020: 32020: 32020: typename enable_if<__is_swappable<_Dp>::value>::type 32020: 32020: 32020: 32020: swap(unique_ptr<_Tp, _Dp>& __x, 32020: unique_ptr<_Tp, _Dp>& __y) noexcept 32020: { __x.swap(__y); } 32020: 32020: 32020: template 32020: typename enable_if::value>::type 32020: swap(unique_ptr<_Tp, _Dp>&, 32020: unique_ptr<_Tp, _Dp>&) = delete; 32020: 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator==(const unique_ptr<_Tp, _Dp>& __x, 32020: const unique_ptr<_Up, _Ep>& __y) 32020: { return __x.get() == __y.get(); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept 32020: { return !__x; } 32020: 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept 32020: { return !__x; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator!=(const unique_ptr<_Tp, _Dp>& __x, 32020: const unique_ptr<_Up, _Ep>& __y) 32020: { return __x.get() != __y.get(); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept 32020: { return (bool)__x; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept 32020: { return (bool)__x; } 32020: 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<(const unique_ptr<_Tp, _Dp>& __x, 32020: const unique_ptr<_Up, _Ep>& __y) 32020: { 32020: typedef typename 32020: std::common_type::pointer, 32020: typename unique_ptr<_Up, _Ep>::pointer>::type _CT; 32020: return std::less<_CT>()(__x.get(), __y.get()); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 32020: { 32020: return std::less::pointer>()(__x.get(), 32020: nullptr); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 32020: { 32020: return std::less::pointer>()(nullptr, 32020: __x.get()); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<=(const unique_ptr<_Tp, _Dp>& __x, 32020: const unique_ptr<_Up, _Ep>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 32020: { return !(nullptr < __x); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 32020: { return !(__x < nullptr); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>(const unique_ptr<_Tp, _Dp>& __x, 32020: const unique_ptr<_Up, _Ep>& __y) 32020: { return (__y < __x); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 32020: { 32020: return std::less::pointer>()(nullptr, 32020: __x.get()); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 32020: { 32020: return std::less::pointer>()(__x.get(), 32020: nullptr); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>=(const unique_ptr<_Tp, _Dp>& __x, 32020: const unique_ptr<_Up, _Ep>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 32020: { return !(__x < nullptr); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 32020: { return !(nullptr < __x); } 32020: # 912 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: template::__enable_hash_call> 32020: struct __uniq_ptr_hash 32020: 32020: : private __poison_hash<_Ptr> 32020: 32020: { 32020: size_t 32020: operator()(const _Up& __u) const 32020: noexcept(noexcept(std::declval>()(std::declval<_Ptr>()))) 32020: { return hash<_Ptr>()(__u.get()); } 32020: }; 32020: 32020: template 32020: struct __uniq_ptr_hash<_Up, _Ptr, false> 32020: : private __poison_hash<_Ptr> 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct hash> 32020: : public __hash_base>, 32020: public __uniq_ptr_hash> 32020: { }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _MakeUniq 32020: { typedef unique_ptr<_Tp> __single_object; }; 32020: 32020: template 32020: struct _MakeUniq<_Tp[]> 32020: { typedef unique_ptr<_Tp[]> __array; }; 32020: 32020: template 32020: struct _MakeUniq<_Tp[_Bound]> 32020: { struct __invalid_type { }; }; 32020: 32020: 32020: 32020: 32020: template 32020: inline typename _MakeUniq<_Tp>::__single_object 32020: make_unique(_Args&&... __args) 32020: { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } 32020: 32020: 32020: template 32020: inline typename _MakeUniq<_Tp>::__array 32020: make_unique(size_t __num) 32020: { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); } 32020: 32020: 32020: template 32020: inline typename _MakeUniq<_Tp>::__invalid_type 32020: make_unique(_Args&&...) = delete; 32020: # 995 "/usr/arm-linux-gnueabihf/include/c++/10/bits/unique_ptr.h" 3 32020: namespace __detail::__variant 32020: { 32020: template struct _Never_valueless_alt; 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt> 32020: : std::true_type 32020: { }; 32020: } 32020: 32020: 32020: 32020: } 32020: # 84 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 1 3 32020: # 52 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 1 3 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: template class auto_ptr; 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: 32020: 32020: 32020: 32020: class bad_weak_ptr : public std::exception 32020: { 32020: public: 32020: virtual char const* what() const noexcept; 32020: 32020: virtual ~bad_weak_ptr() noexcept; 32020: }; 32020: 32020: 32020: inline void 32020: __throw_bad_weak_ptr() 32020: { (throw (bad_weak_ptr())); } 32020: 32020: using __gnu_cxx::_Lock_policy; 32020: using __gnu_cxx::__default_lock_policy; 32020: using __gnu_cxx::_S_single; 32020: using __gnu_cxx::_S_mutex; 32020: using __gnu_cxx::_S_atomic; 32020: 32020: 32020: template<_Lock_policy _Lp> 32020: class _Mutex_base 32020: { 32020: protected: 32020: 32020: enum { _S_need_barriers = 0 }; 32020: }; 32020: 32020: template<> 32020: class _Mutex_base<_S_mutex> 32020: : public __gnu_cxx::__mutex 32020: { 32020: protected: 32020: 32020: 32020: 32020: enum { _S_need_barriers = 1 }; 32020: }; 32020: 32020: template<_Lock_policy _Lp = __default_lock_policy> 32020: class _Sp_counted_base 32020: : public _Mutex_base<_Lp> 32020: { 32020: public: 32020: _Sp_counted_base() noexcept 32020: : _M_use_count(1), _M_weak_count(1) { } 32020: 32020: virtual 32020: ~_Sp_counted_base() noexcept 32020: { } 32020: 32020: 32020: 32020: virtual void 32020: _M_dispose() noexcept = 0; 32020: 32020: 32020: virtual void 32020: _M_destroy() noexcept 32020: { delete this; } 32020: 32020: virtual void* 32020: _M_get_deleter(const std::type_info&) noexcept = 0; 32020: 32020: void 32020: _M_add_ref_copy() 32020: { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); } 32020: 32020: void 32020: _M_add_ref_lock(); 32020: 32020: bool 32020: _M_add_ref_lock_nothrow(); 32020: 32020: void 32020: _M_release() noexcept 32020: { 32020: 32020: ; 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1) 32020: { 32020: ; 32020: _M_dispose(); 32020: 32020: 32020: 32020: 32020: if (_Mutex_base<_Lp>::_S_need_barriers) 32020: { 32020: __atomic_thread_fence (4); 32020: } 32020: 32020: 32020: ; 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, 32020: -1) == 1) 32020: { 32020: ; 32020: _M_destroy(); 32020: } 32020: } 32020: } 32020: 32020: void 32020: _M_weak_add_ref() noexcept 32020: { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); } 32020: 32020: void 32020: _M_weak_release() noexcept 32020: { 32020: 32020: ; 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) 32020: { 32020: ; 32020: if (_Mutex_base<_Lp>::_S_need_barriers) 32020: { 32020: 32020: 32020: __atomic_thread_fence (4); 32020: } 32020: _M_destroy(); 32020: } 32020: } 32020: 32020: long 32020: _M_get_use_count() const noexcept 32020: { 32020: 32020: 32020: return __atomic_load_n(&_M_use_count, 0); 32020: } 32020: 32020: private: 32020: _Sp_counted_base(_Sp_counted_base const&) = delete; 32020: _Sp_counted_base& operator=(_Sp_counted_base const&) = delete; 32020: 32020: _Atomic_word _M_use_count; 32020: _Atomic_word _M_weak_count; 32020: }; 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_single>:: 32020: _M_add_ref_lock() 32020: { 32020: if (_M_use_count == 0) 32020: __throw_bad_weak_ptr(); 32020: ++_M_use_count; 32020: } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_mutex>:: 32020: _M_add_ref_lock() 32020: { 32020: __gnu_cxx::__scoped_lock sentry(*this); 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) 32020: { 32020: _M_use_count = 0; 32020: __throw_bad_weak_ptr(); 32020: } 32020: } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_atomic>:: 32020: _M_add_ref_lock() 32020: { 32020: 32020: _Atomic_word __count = _M_get_use_count(); 32020: do 32020: { 32020: if (__count == 0) 32020: __throw_bad_weak_ptr(); 32020: 32020: 32020: } 32020: while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, 32020: true, 4, 32020: 0)); 32020: } 32020: 32020: template<> 32020: inline bool 32020: _Sp_counted_base<_S_single>:: 32020: _M_add_ref_lock_nothrow() 32020: { 32020: if (_M_use_count == 0) 32020: return false; 32020: ++_M_use_count; 32020: return true; 32020: } 32020: 32020: template<> 32020: inline bool 32020: _Sp_counted_base<_S_mutex>:: 32020: _M_add_ref_lock_nothrow() 32020: { 32020: __gnu_cxx::__scoped_lock sentry(*this); 32020: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) 32020: { 32020: _M_use_count = 0; 32020: return false; 32020: } 32020: return true; 32020: } 32020: 32020: template<> 32020: inline bool 32020: _Sp_counted_base<_S_atomic>:: 32020: _M_add_ref_lock_nothrow() 32020: { 32020: 32020: _Atomic_word __count = _M_get_use_count(); 32020: do 32020: { 32020: if (__count == 0) 32020: return false; 32020: 32020: 32020: } 32020: while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, 32020: true, 4, 32020: 0)); 32020: return true; 32020: } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_single>::_M_add_ref_copy() 32020: { ++_M_use_count; } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_single>::_M_release() noexcept 32020: { 32020: if (--_M_use_count == 0) 32020: { 32020: _M_dispose(); 32020: if (--_M_weak_count == 0) 32020: _M_destroy(); 32020: } 32020: } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept 32020: { ++_M_weak_count; } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_base<_S_single>::_M_weak_release() noexcept 32020: { 32020: if (--_M_weak_count == 0) 32020: _M_destroy(); 32020: } 32020: 32020: template<> 32020: inline long 32020: _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept 32020: { return _M_use_count; } 32020: 32020: 32020: 32020: template 32020: class __shared_ptr; 32020: 32020: template 32020: class __weak_ptr; 32020: 32020: template 32020: class __enable_shared_from_this; 32020: 32020: template 32020: class shared_ptr; 32020: 32020: template 32020: class weak_ptr; 32020: 32020: template 32020: struct owner_less; 32020: 32020: template 32020: class enable_shared_from_this; 32020: 32020: template<_Lock_policy _Lp = __default_lock_policy> 32020: class __weak_count; 32020: 32020: template<_Lock_policy _Lp = __default_lock_policy> 32020: class __shared_count; 32020: 32020: 32020: 32020: template 32020: class _Sp_counted_ptr final : public _Sp_counted_base<_Lp> 32020: { 32020: public: 32020: explicit 32020: _Sp_counted_ptr(_Ptr __p) noexcept 32020: : _M_ptr(__p) { } 32020: 32020: virtual void 32020: _M_dispose() noexcept 32020: { delete _M_ptr; } 32020: 32020: virtual void 32020: _M_destroy() noexcept 32020: { delete this; } 32020: 32020: virtual void* 32020: _M_get_deleter(const std::type_info&) noexcept 32020: { return nullptr; } 32020: 32020: _Sp_counted_ptr(const _Sp_counted_ptr&) = delete; 32020: _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete; 32020: 32020: private: 32020: _Ptr _M_ptr; 32020: }; 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_ptr::_M_dispose() noexcept { } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_ptr::_M_dispose() noexcept { } 32020: 32020: template<> 32020: inline void 32020: _Sp_counted_ptr::_M_dispose() noexcept { } 32020: 32020: template 32020: struct _Sp_ebo_helper; 32020: 32020: 32020: template 32020: struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp 32020: { 32020: explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { } 32020: explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { } 32020: 32020: static _Tp& 32020: _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); } 32020: }; 32020: 32020: 32020: template 32020: struct _Sp_ebo_helper<_Nm, _Tp, false> 32020: { 32020: explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { } 32020: explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { } 32020: 32020: static _Tp& 32020: _S_get(_Sp_ebo_helper& __eboh) 32020: { return __eboh._M_tp; } 32020: 32020: private: 32020: _Tp _M_tp; 32020: }; 32020: 32020: 32020: template 32020: class _Sp_counted_deleter final : public _Sp_counted_base<_Lp> 32020: { 32020: class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc> 32020: { 32020: typedef _Sp_ebo_helper<0, _Deleter> _Del_base; 32020: typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base; 32020: 32020: public: 32020: _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept 32020: : _M_ptr(__p), _Del_base(std::move(__d)), _Alloc_base(__a) 32020: { } 32020: 32020: _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); } 32020: _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); } 32020: 32020: _Ptr _M_ptr; 32020: }; 32020: 32020: public: 32020: using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>; 32020: 32020: 32020: _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept 32020: : _M_impl(__p, std::move(__d), _Alloc()) { } 32020: 32020: 32020: _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept 32020: : _M_impl(__p, std::move(__d), __a) { } 32020: 32020: ~_Sp_counted_deleter() noexcept { } 32020: 32020: virtual void 32020: _M_dispose() noexcept 32020: { _M_impl._M_del()(_M_impl._M_ptr); } 32020: 32020: virtual void 32020: _M_destroy() noexcept 32020: { 32020: __allocator_type __a(_M_impl._M_alloc()); 32020: __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; 32020: this->~_Sp_counted_deleter(); 32020: } 32020: 32020: virtual void* 32020: _M_get_deleter(const std::type_info& __ti) noexcept 32020: { 32020: 32020: 32020: 32020: return __ti == typeid(_Deleter) 32020: ? std::__addressof(_M_impl._M_del()) 32020: : nullptr; 32020: 32020: 32020: 32020: } 32020: 32020: private: 32020: _Impl _M_impl; 32020: }; 32020: 32020: 32020: 32020: struct _Sp_make_shared_tag 32020: { 32020: private: 32020: template 32020: friend class _Sp_counted_ptr_inplace; 32020: 32020: static const type_info& 32020: _S_ti() noexcept __attribute__ ((__visibility__ ("default"))) 32020: { 32020: alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { }; 32020: return reinterpret_cast(__tag); 32020: } 32020: 32020: static bool _S_eq(const type_info&) noexcept; 32020: }; 32020: 32020: template 32020: struct _Sp_alloc_shared_tag 32020: { 32020: const _Alloc& _M_a; 32020: }; 32020: 32020: template 32020: class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp> 32020: { 32020: class _Impl : _Sp_ebo_helper<0, _Alloc> 32020: { 32020: typedef _Sp_ebo_helper<0, _Alloc> _A_base; 32020: 32020: public: 32020: explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { } 32020: 32020: _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); } 32020: 32020: __gnu_cxx::__aligned_buffer<_Tp> _M_storage; 32020: }; 32020: 32020: public: 32020: using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>; 32020: 32020: 32020: template 32020: _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args) 32020: : _M_impl(__a) 32020: { 32020: 32020: 32020: allocator_traits<_Alloc>::construct(__a, _M_ptr(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: ~_Sp_counted_ptr_inplace() noexcept { } 32020: 32020: virtual void 32020: _M_dispose() noexcept 32020: { 32020: allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr()); 32020: } 32020: 32020: 32020: virtual void 32020: _M_destroy() noexcept 32020: { 32020: __allocator_type __a(_M_impl._M_alloc()); 32020: __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; 32020: this->~_Sp_counted_ptr_inplace(); 32020: } 32020: 32020: private: 32020: friend class __shared_count<_Lp>; 32020: 32020: 32020: 32020: virtual void* 32020: _M_get_deleter(const std::type_info& __ti) noexcept override 32020: { 32020: auto __ptr = const_cast::type*>(_M_ptr()); 32020: 32020: 32020: 32020: 32020: if (&__ti == &_Sp_make_shared_tag::_S_ti() 32020: || 32020: 32020: __ti == typeid(_Sp_make_shared_tag) 32020: 32020: 32020: 32020: ) 32020: return __ptr; 32020: return nullptr; 32020: } 32020: 32020: _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); } 32020: 32020: _Impl _M_impl; 32020: }; 32020: 32020: 32020: struct __sp_array_delete 32020: { 32020: template 32020: void operator()(_Yp* __p) const { delete[] __p; } 32020: }; 32020: 32020: template<_Lock_policy _Lp> 32020: class __shared_count 32020: { 32020: template 32020: struct __not_alloc_shared_tag { using type = void; }; 32020: 32020: template 32020: struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { }; 32020: 32020: public: 32020: constexpr __shared_count() noexcept : _M_pi(0) 32020: { } 32020: 32020: template 32020: explicit 32020: __shared_count(_Ptr __p) : _M_pi(0) 32020: { 32020: try 32020: { 32020: _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p); 32020: } 32020: catch(...) 32020: { 32020: delete __p; 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: __shared_count(_Ptr __p, false_type) 32020: : __shared_count(__p) 32020: { } 32020: 32020: template 32020: __shared_count(_Ptr __p, true_type) 32020: : __shared_count(__p, __sp_array_delete{}, allocator()) 32020: { } 32020: 32020: template::type> 32020: __shared_count(_Ptr __p, _Deleter __d) 32020: : __shared_count(__p, std::move(__d), allocator()) 32020: { } 32020: 32020: template::type> 32020: __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0) 32020: { 32020: typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type; 32020: try 32020: { 32020: typename _Sp_cd_type::__allocator_type __a2(__a); 32020: auto __guard = std::__allocate_guarded(__a2); 32020: _Sp_cd_type* __mem = __guard.get(); 32020: ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a)); 32020: _M_pi = __mem; 32020: __guard = nullptr; 32020: } 32020: catch(...) 32020: { 32020: __d(__p); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a, 32020: _Args&&... __args) 32020: { 32020: typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type; 32020: typename _Sp_cp_type::__allocator_type __a2(__a._M_a); 32020: auto __guard = std::__allocate_guarded(__a2); 32020: _Sp_cp_type* __mem = __guard.get(); 32020: auto __pi = ::new (__mem) 32020: _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...); 32020: __guard = nullptr; 32020: _M_pi = __pi; 32020: __p = __pi->_M_ptr(); 32020: } 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: 32020: template 32020: explicit 32020: __shared_count(std::auto_ptr<_Tp>&& __r); 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: 32020: template 32020: explicit 32020: __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0) 32020: { 32020: 32020: 32020: if (__r.get() == nullptr) 32020: return; 32020: 32020: using _Ptr = typename unique_ptr<_Tp, _Del>::pointer; 32020: using _Del2 = typename conditional::value, 32020: reference_wrapper::type>, 32020: _Del>::type; 32020: using _Sp_cd_type 32020: = _Sp_counted_deleter<_Ptr, _Del2, allocator, _Lp>; 32020: using _Alloc = allocator<_Sp_cd_type>; 32020: using _Alloc_traits = allocator_traits<_Alloc>; 32020: _Alloc __a; 32020: _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1); 32020: _Alloc_traits::construct(__a, __mem, __r.release(), 32020: __r.get_deleter()); 32020: _M_pi = __mem; 32020: } 32020: 32020: 32020: explicit __shared_count(const __weak_count<_Lp>& __r); 32020: 32020: 32020: explicit __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t); 32020: 32020: ~__shared_count() noexcept 32020: { 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_release(); 32020: } 32020: 32020: __shared_count(const __shared_count& __r) noexcept 32020: : _M_pi(__r._M_pi) 32020: { 32020: if (_M_pi != 0) 32020: _M_pi->_M_add_ref_copy(); 32020: } 32020: 32020: __shared_count& 32020: operator=(const __shared_count& __r) noexcept 32020: { 32020: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 32020: if (__tmp != _M_pi) 32020: { 32020: if (__tmp != 0) 32020: __tmp->_M_add_ref_copy(); 32020: if (_M_pi != 0) 32020: _M_pi->_M_release(); 32020: _M_pi = __tmp; 32020: } 32020: return *this; 32020: } 32020: 32020: void 32020: _M_swap(__shared_count& __r) noexcept 32020: { 32020: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 32020: __r._M_pi = _M_pi; 32020: _M_pi = __tmp; 32020: } 32020: 32020: long 32020: _M_get_use_count() const noexcept 32020: { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; } 32020: 32020: bool 32020: _M_unique() const noexcept 32020: { return this->_M_get_use_count() == 1; } 32020: 32020: void* 32020: _M_get_deleter(const std::type_info& __ti) const noexcept 32020: { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; } 32020: 32020: bool 32020: _M_less(const __shared_count& __rhs) const noexcept 32020: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 32020: 32020: bool 32020: _M_less(const __weak_count<_Lp>& __rhs) const noexcept 32020: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 32020: 32020: 32020: friend inline bool 32020: operator==(const __shared_count& __a, const __shared_count& __b) noexcept 32020: { return __a._M_pi == __b._M_pi; } 32020: 32020: private: 32020: friend class __weak_count<_Lp>; 32020: 32020: _Sp_counted_base<_Lp>* _M_pi; 32020: }; 32020: 32020: 32020: template<_Lock_policy _Lp> 32020: class __weak_count 32020: { 32020: public: 32020: constexpr __weak_count() noexcept : _M_pi(nullptr) 32020: { } 32020: 32020: __weak_count(const __shared_count<_Lp>& __r) noexcept 32020: : _M_pi(__r._M_pi) 32020: { 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_weak_add_ref(); 32020: } 32020: 32020: __weak_count(const __weak_count& __r) noexcept 32020: : _M_pi(__r._M_pi) 32020: { 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_weak_add_ref(); 32020: } 32020: 32020: __weak_count(__weak_count&& __r) noexcept 32020: : _M_pi(__r._M_pi) 32020: { __r._M_pi = nullptr; } 32020: 32020: ~__weak_count() noexcept 32020: { 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_weak_release(); 32020: } 32020: 32020: __weak_count& 32020: operator=(const __shared_count<_Lp>& __r) noexcept 32020: { 32020: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 32020: if (__tmp != nullptr) 32020: __tmp->_M_weak_add_ref(); 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_weak_release(); 32020: _M_pi = __tmp; 32020: return *this; 32020: } 32020: 32020: __weak_count& 32020: operator=(const __weak_count& __r) noexcept 32020: { 32020: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 32020: if (__tmp != nullptr) 32020: __tmp->_M_weak_add_ref(); 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_weak_release(); 32020: _M_pi = __tmp; 32020: return *this; 32020: } 32020: 32020: __weak_count& 32020: operator=(__weak_count&& __r) noexcept 32020: { 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_weak_release(); 32020: _M_pi = __r._M_pi; 32020: __r._M_pi = nullptr; 32020: return *this; 32020: } 32020: 32020: void 32020: _M_swap(__weak_count& __r) noexcept 32020: { 32020: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 32020: __r._M_pi = _M_pi; 32020: _M_pi = __tmp; 32020: } 32020: 32020: long 32020: _M_get_use_count() const noexcept 32020: { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; } 32020: 32020: bool 32020: _M_less(const __weak_count& __rhs) const noexcept 32020: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 32020: 32020: bool 32020: _M_less(const __shared_count<_Lp>& __rhs) const noexcept 32020: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 32020: 32020: 32020: friend inline bool 32020: operator==(const __weak_count& __a, const __weak_count& __b) noexcept 32020: { return __a._M_pi == __b._M_pi; } 32020: 32020: private: 32020: friend class __shared_count<_Lp>; 32020: 32020: _Sp_counted_base<_Lp>* _M_pi; 32020: }; 32020: 32020: 32020: template<_Lock_policy _Lp> 32020: inline 32020: __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r) 32020: : _M_pi(__r._M_pi) 32020: { 32020: if (_M_pi != nullptr) 32020: _M_pi->_M_add_ref_lock(); 32020: else 32020: __throw_bad_weak_ptr(); 32020: } 32020: 32020: 32020: template<_Lock_policy _Lp> 32020: inline 32020: __shared_count<_Lp>:: 32020: __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) 32020: : _M_pi(__r._M_pi) 32020: { 32020: if (_M_pi != nullptr) 32020: if (!_M_pi->_M_add_ref_lock_nothrow()) 32020: _M_pi = nullptr; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __sp_compatible_with 32020: : false_type 32020: { }; 32020: 32020: template 32020: struct __sp_compatible_with<_Yp*, _Tp*> 32020: : is_convertible<_Yp*, _Tp*>::type 32020: { }; 32020: 32020: template 32020: struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]> 32020: : true_type 32020: { }; 32020: 32020: template 32020: struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]> 32020: : true_type 32020: { }; 32020: 32020: template 32020: struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]> 32020: : true_type 32020: { }; 32020: 32020: template 32020: struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]> 32020: : true_type 32020: { }; 32020: 32020: 32020: template 32020: struct __sp_is_constructible_arrN 32020: : false_type 32020: { }; 32020: 32020: template 32020: struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>> 32020: : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __sp_is_constructible_arr 32020: : false_type 32020: { }; 32020: 32020: template 32020: struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>> 32020: : is_convertible<_Yp(*)[], _Up(*)[]>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __sp_is_constructible; 32020: 32020: 32020: template 32020: struct __sp_is_constructible<_Up[_Nm], _Yp> 32020: : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __sp_is_constructible<_Up[], _Yp> 32020: : __sp_is_constructible_arr<_Up, _Yp>::type 32020: { }; 32020: 32020: 32020: template 32020: struct __sp_is_constructible 32020: : is_convertible<_Yp*, _Tp*>::type 32020: { }; 32020: 32020: 32020: 32020: template::value, bool = is_void<_Tp>::value> 32020: class __shared_ptr_access 32020: { 32020: public: 32020: using element_type = _Tp; 32020: 32020: element_type& 32020: operator*() const noexcept 32020: { 32020: ; 32020: return *_M_get(); 32020: } 32020: 32020: element_type* 32020: operator->() const noexcept 32020: { 32020: ; 32020: return _M_get(); 32020: } 32020: 32020: private: 32020: element_type* 32020: _M_get() const noexcept 32020: { return static_cast*>(this)->get(); } 32020: }; 32020: 32020: 32020: template 32020: class __shared_ptr_access<_Tp, _Lp, false, true> 32020: { 32020: public: 32020: using element_type = _Tp; 32020: 32020: element_type* 32020: operator->() const noexcept 32020: { 32020: auto __ptr = static_cast*>(this)->get(); 32020: ; 32020: return __ptr; 32020: } 32020: }; 32020: 32020: 32020: template 32020: class __shared_ptr_access<_Tp, _Lp, true, false> 32020: { 32020: public: 32020: using element_type = typename remove_extent<_Tp>::type; 32020: # 1068 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: element_type& 32020: operator[](ptrdiff_t __i) const 32020: { 32020: ; 32020: ; 32020: return _M_get()[__i]; 32020: } 32020: 32020: private: 32020: element_type* 32020: _M_get() const noexcept 32020: { return static_cast*>(this)->get(); } 32020: }; 32020: 32020: template 32020: class __shared_ptr 32020: : public __shared_ptr_access<_Tp, _Lp> 32020: { 32020: public: 32020: using element_type = typename remove_extent<_Tp>::type; 32020: 32020: private: 32020: 32020: template 32020: using _SafeConv 32020: = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type; 32020: 32020: 32020: template 32020: using _Compatible = typename 32020: enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type; 32020: 32020: 32020: template 32020: using _Assignable = _Compatible<_Yp, __shared_ptr&>; 32020: 32020: 32020: template::pointer> 32020: using _UniqCompatible = typename enable_if<__and_< 32020: __sp_compatible_with<_Yp*, _Tp*>, is_convertible<_Ptr, element_type*> 32020: >::value, _Res>::type; 32020: 32020: 32020: template 32020: using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>; 32020: 32020: public: 32020: 32020: 32020: using weak_type = __weak_ptr<_Tp, _Lp>; 32020: 32020: 32020: constexpr __shared_ptr() noexcept 32020: : _M_ptr(0), _M_refcount() 32020: { } 32020: 32020: template> 32020: explicit 32020: __shared_ptr(_Yp* __p) 32020: : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type()) 32020: { 32020: static_assert( !is_void<_Yp>::value, "incomplete type" ); 32020: static_assert( sizeof(_Yp) > 0, "incomplete type" ); 32020: _M_enable_shared_from_this_with(__p); 32020: } 32020: 32020: template> 32020: __shared_ptr(_Yp* __p, _Deleter __d) 32020: : _M_ptr(__p), _M_refcount(__p, std::move(__d)) 32020: { 32020: static_assert(__is_invocable<_Deleter&, _Yp*&>::value, 32020: "deleter expression d(p) is well-formed"); 32020: _M_enable_shared_from_this_with(__p); 32020: } 32020: 32020: template> 32020: __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a) 32020: : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a)) 32020: { 32020: static_assert(__is_invocable<_Deleter&, _Yp*&>::value, 32020: "deleter expression d(p) is well-formed"); 32020: _M_enable_shared_from_this_with(__p); 32020: } 32020: 32020: template 32020: __shared_ptr(nullptr_t __p, _Deleter __d) 32020: : _M_ptr(0), _M_refcount(__p, std::move(__d)) 32020: { } 32020: 32020: template 32020: __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) 32020: : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a)) 32020: { } 32020: 32020: 32020: template 32020: __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r, 32020: element_type* __p) noexcept 32020: : _M_ptr(__p), _M_refcount(__r._M_refcount) 32020: { } 32020: 32020: 32020: template 32020: __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r, 32020: element_type* __p) noexcept 32020: : _M_ptr(__p), _M_refcount() 32020: { 32020: _M_refcount._M_swap(__r._M_refcount); 32020: __r._M_ptr = 0; 32020: } 32020: 32020: __shared_ptr(const __shared_ptr&) noexcept = default; 32020: __shared_ptr& operator=(const __shared_ptr&) noexcept = default; 32020: ~__shared_ptr() = default; 32020: 32020: template> 32020: __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept 32020: : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) 32020: { } 32020: 32020: __shared_ptr(__shared_ptr&& __r) noexcept 32020: : _M_ptr(__r._M_ptr), _M_refcount() 32020: { 32020: _M_refcount._M_swap(__r._M_refcount); 32020: __r._M_ptr = 0; 32020: } 32020: 32020: template> 32020: __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept 32020: : _M_ptr(__r._M_ptr), _M_refcount() 32020: { 32020: _M_refcount._M_swap(__r._M_refcount); 32020: __r._M_ptr = 0; 32020: } 32020: 32020: template> 32020: explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r) 32020: : _M_refcount(__r._M_refcount) 32020: { 32020: 32020: 32020: _M_ptr = __r._M_ptr; 32020: } 32020: 32020: 32020: template> 32020: __shared_ptr(unique_ptr<_Yp, _Del>&& __r) 32020: : _M_ptr(__r.get()), _M_refcount() 32020: { 32020: auto __raw = __to_address(__r.get()); 32020: _M_refcount = __shared_count<_Lp>(std::move(__r)); 32020: _M_enable_shared_from_this_with(__raw); 32020: } 32020: # 1244 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: 32020: template> 32020: __shared_ptr(auto_ptr<_Yp>&& __r); 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { } 32020: 32020: template 32020: _Assignable<_Yp> 32020: operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept 32020: { 32020: _M_ptr = __r._M_ptr; 32020: _M_refcount = __r._M_refcount; 32020: return *this; 32020: } 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: template 32020: _Assignable<_Yp> 32020: operator=(auto_ptr<_Yp>&& __r) 32020: { 32020: __shared_ptr(std::move(__r)).swap(*this); 32020: return *this; 32020: } 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: __shared_ptr& 32020: operator=(__shared_ptr&& __r) noexcept 32020: { 32020: __shared_ptr(std::move(__r)).swap(*this); 32020: return *this; 32020: } 32020: 32020: template 32020: _Assignable<_Yp> 32020: operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept 32020: { 32020: __shared_ptr(std::move(__r)).swap(*this); 32020: return *this; 32020: } 32020: 32020: template 32020: _UniqAssignable<_Yp, _Del> 32020: operator=(unique_ptr<_Yp, _Del>&& __r) 32020: { 32020: __shared_ptr(std::move(__r)).swap(*this); 32020: return *this; 32020: } 32020: 32020: void 32020: reset() noexcept 32020: { __shared_ptr().swap(*this); } 32020: 32020: template 32020: _SafeConv<_Yp> 32020: reset(_Yp* __p) 32020: { 32020: 32020: ; 32020: __shared_ptr(__p).swap(*this); 32020: } 32020: 32020: template 32020: _SafeConv<_Yp> 32020: reset(_Yp* __p, _Deleter __d) 32020: { __shared_ptr(__p, std::move(__d)).swap(*this); } 32020: 32020: template 32020: _SafeConv<_Yp> 32020: reset(_Yp* __p, _Deleter __d, _Alloc __a) 32020: { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); } 32020: 32020: 32020: element_type* 32020: get() const noexcept 32020: { return _M_ptr; } 32020: 32020: 32020: explicit operator bool() const 32020: { return _M_ptr == 0 ? false : true; } 32020: 32020: 32020: bool 32020: unique() const noexcept 32020: { return _M_refcount._M_unique(); } 32020: 32020: 32020: long 32020: use_count() const noexcept 32020: { return _M_refcount._M_get_use_count(); } 32020: 32020: 32020: void 32020: swap(__shared_ptr<_Tp, _Lp>& __other) noexcept 32020: { 32020: std::swap(_M_ptr, __other._M_ptr); 32020: _M_refcount._M_swap(__other._M_refcount); 32020: } 32020: # 1356 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: template 32020: bool 32020: owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept 32020: { return _M_refcount._M_less(__rhs._M_refcount); } 32020: 32020: template 32020: bool 32020: owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept 32020: { return _M_refcount._M_less(__rhs._M_refcount); } 32020: 32020: 32020: protected: 32020: 32020: template 32020: __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) 32020: : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...) 32020: { _M_enable_shared_from_this_with(_M_ptr); } 32020: 32020: template 32020: friend __shared_ptr<_Tp1, _Lp1> 32020: __allocate_shared(const _Alloc& __a, _Args&&... __args); 32020: 32020: 32020: 32020: __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) 32020: : _M_refcount(__r._M_refcount, std::nothrow) 32020: { 32020: _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr; 32020: } 32020: 32020: friend class __weak_ptr<_Tp, _Lp>; 32020: 32020: private: 32020: 32020: template 32020: using __esft_base_t = decltype(__enable_shared_from_this_base( 32020: std::declval&>(), 32020: std::declval<_Yp*>())); 32020: 32020: 32020: template 32020: struct __has_esft_base 32020: : false_type { }; 32020: 32020: template 32020: struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>> 32020: : __not_> { }; 32020: 32020: template::type> 32020: typename enable_if<__has_esft_base<_Yp2>::value>::type 32020: _M_enable_shared_from_this_with(_Yp* __p) noexcept 32020: { 32020: if (auto __base = __enable_shared_from_this_base(_M_refcount, __p)) 32020: __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount); 32020: } 32020: 32020: template::type> 32020: typename enable_if::value>::type 32020: _M_enable_shared_from_this_with(_Yp*) noexcept 32020: { } 32020: 32020: void* 32020: _M_get_deleter(const std::type_info& __ti) const noexcept 32020: { return _M_refcount._M_get_deleter(__ti); } 32020: 32020: template friend class __shared_ptr; 32020: template friend class __weak_ptr; 32020: 32020: template 32020: friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept; 32020: 32020: template 32020: friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept; 32020: 32020: element_type* _M_ptr; 32020: __shared_count<_Lp> _M_refcount; 32020: }; 32020: 32020: 32020: 32020: template 32020: inline bool 32020: operator==(const __shared_ptr<_Tp1, _Lp>& __a, 32020: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 32020: { return __a.get() == __b.get(); } 32020: 32020: template 32020: inline bool 32020: operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 32020: { return !__a; } 32020: # 1463 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: template 32020: inline bool 32020: operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 32020: { return !__a; } 32020: 32020: template 32020: inline bool 32020: operator!=(const __shared_ptr<_Tp1, _Lp>& __a, 32020: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 32020: { return __a.get() != __b.get(); } 32020: 32020: template 32020: inline bool 32020: operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 32020: { return (bool)__a; } 32020: 32020: template 32020: inline bool 32020: operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 32020: { return (bool)__a; } 32020: 32020: template 32020: inline bool 32020: operator<(const __shared_ptr<_Tp, _Lp>& __a, 32020: const __shared_ptr<_Up, _Lp>& __b) noexcept 32020: { 32020: using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; 32020: using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type; 32020: using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type; 32020: return less<_Vp>()(__a.get(), __b.get()); 32020: } 32020: 32020: template 32020: inline bool 32020: operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 32020: { 32020: using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; 32020: return less<_Tp_elt*>()(__a.get(), nullptr); 32020: } 32020: 32020: template 32020: inline bool 32020: operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 32020: { 32020: using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; 32020: return less<_Tp_elt*>()(nullptr, __a.get()); 32020: } 32020: 32020: template 32020: inline bool 32020: operator<=(const __shared_ptr<_Tp1, _Lp>& __a, 32020: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 32020: { return !(__b < __a); } 32020: 32020: template 32020: inline bool 32020: operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 32020: { return !(nullptr < __a); } 32020: 32020: template 32020: inline bool 32020: operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 32020: { return !(__a < nullptr); } 32020: 32020: template 32020: inline bool 32020: operator>(const __shared_ptr<_Tp1, _Lp>& __a, 32020: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 32020: { return (__b < __a); } 32020: 32020: template 32020: inline bool 32020: operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 32020: { return nullptr < __a; } 32020: 32020: template 32020: inline bool 32020: operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 32020: { return __a < nullptr; } 32020: 32020: template 32020: inline bool 32020: operator>=(const __shared_ptr<_Tp1, _Lp>& __a, 32020: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 32020: { return !(__a < __b); } 32020: 32020: template 32020: inline bool 32020: operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 32020: { return !(__a < nullptr); } 32020: 32020: template 32020: inline bool 32020: operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 32020: { return !(nullptr < __a); } 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept 32020: { __a.swap(__b); } 32020: # 1573 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 32020: { 32020: using _Sp = __shared_ptr<_Tp, _Lp>; 32020: return _Sp(__r, static_cast(__r.get())); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 32020: { 32020: using _Sp = __shared_ptr<_Tp, _Lp>; 32020: return _Sp(__r, const_cast(__r.get())); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 32020: { 32020: using _Sp = __shared_ptr<_Tp, _Lp>; 32020: if (auto* __p = dynamic_cast(__r.get())) 32020: return _Sp(__r, __p); 32020: return _Sp(); 32020: } 32020: 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: reinterpret_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 32020: { 32020: using _Sp = __shared_ptr<_Tp, _Lp>; 32020: return _Sp(__r, reinterpret_cast(__r.get())); 32020: } 32020: 32020: 32020: template 32020: class __weak_ptr 32020: { 32020: template 32020: using _Compatible = typename 32020: enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type; 32020: 32020: 32020: template 32020: using _Assignable = _Compatible<_Yp, __weak_ptr&>; 32020: 32020: public: 32020: using element_type = typename remove_extent<_Tp>::type; 32020: 32020: constexpr __weak_ptr() noexcept 32020: : _M_ptr(nullptr), _M_refcount() 32020: { } 32020: 32020: __weak_ptr(const __weak_ptr&) noexcept = default; 32020: 32020: ~__weak_ptr() = default; 32020: # 1655 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_base.h" 3 32020: template> 32020: __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept 32020: : _M_refcount(__r._M_refcount) 32020: { _M_ptr = __r.lock().get(); } 32020: 32020: template> 32020: __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept 32020: : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) 32020: { } 32020: 32020: __weak_ptr(__weak_ptr&& __r) noexcept 32020: : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount)) 32020: { __r._M_ptr = nullptr; } 32020: 32020: template> 32020: __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept 32020: : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount)) 32020: { __r._M_ptr = nullptr; } 32020: 32020: __weak_ptr& 32020: operator=(const __weak_ptr& __r) noexcept = default; 32020: 32020: template 32020: _Assignable<_Yp> 32020: operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept 32020: { 32020: _M_ptr = __r.lock().get(); 32020: _M_refcount = __r._M_refcount; 32020: return *this; 32020: } 32020: 32020: template 32020: _Assignable<_Yp> 32020: operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept 32020: { 32020: _M_ptr = __r._M_ptr; 32020: _M_refcount = __r._M_refcount; 32020: return *this; 32020: } 32020: 32020: __weak_ptr& 32020: operator=(__weak_ptr&& __r) noexcept 32020: { 32020: _M_ptr = __r._M_ptr; 32020: _M_refcount = std::move(__r._M_refcount); 32020: __r._M_ptr = nullptr; 32020: return *this; 32020: } 32020: 32020: template 32020: _Assignable<_Yp> 32020: operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept 32020: { 32020: _M_ptr = __r.lock().get(); 32020: _M_refcount = std::move(__r._M_refcount); 32020: __r._M_ptr = nullptr; 32020: return *this; 32020: } 32020: 32020: __shared_ptr<_Tp, _Lp> 32020: lock() const noexcept 32020: { return __shared_ptr(*this, std::nothrow); } 32020: 32020: long 32020: use_count() const noexcept 32020: { return _M_refcount._M_get_use_count(); } 32020: 32020: bool 32020: expired() const noexcept 32020: { return _M_refcount._M_get_use_count() == 0; } 32020: 32020: template 32020: bool 32020: owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept 32020: { return _M_refcount._M_less(__rhs._M_refcount); } 32020: 32020: template 32020: bool 32020: owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept 32020: { return _M_refcount._M_less(__rhs._M_refcount); } 32020: 32020: void 32020: reset() noexcept 32020: { __weak_ptr().swap(*this); } 32020: 32020: void 32020: swap(__weak_ptr& __s) noexcept 32020: { 32020: std::swap(_M_ptr, __s._M_ptr); 32020: _M_refcount._M_swap(__s._M_refcount); 32020: } 32020: 32020: private: 32020: 32020: void 32020: _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept 32020: { 32020: if (use_count() == 0) 32020: { 32020: _M_ptr = __ptr; 32020: _M_refcount = __refcount; 32020: } 32020: } 32020: 32020: template friend class __shared_ptr; 32020: template friend class __weak_ptr; 32020: friend class __enable_shared_from_this<_Tp, _Lp>; 32020: friend class enable_shared_from_this<_Tp>; 32020: 32020: element_type* _M_ptr; 32020: __weak_count<_Lp> _M_refcount; 32020: }; 32020: 32020: 32020: template 32020: inline void 32020: swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept 32020: { __a.swap(__b); } 32020: 32020: template 32020: struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool> 32020: { 32020: bool 32020: operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept 32020: { return __lhs.owner_before(__rhs); } 32020: 32020: bool 32020: operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept 32020: { return __lhs.owner_before(__rhs); } 32020: 32020: bool 32020: operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept 32020: { return __lhs.owner_before(__rhs); } 32020: }; 32020: 32020: template<> 32020: struct _Sp_owner_less 32020: { 32020: template 32020: auto 32020: operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept 32020: -> decltype(__lhs.owner_before(__rhs)) 32020: { return __lhs.owner_before(__rhs); } 32020: 32020: using is_transparent = void; 32020: }; 32020: 32020: template 32020: struct owner_less<__shared_ptr<_Tp, _Lp>> 32020: : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>> 32020: { }; 32020: 32020: template 32020: struct owner_less<__weak_ptr<_Tp, _Lp>> 32020: : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>> 32020: { }; 32020: 32020: 32020: template 32020: class __enable_shared_from_this 32020: { 32020: protected: 32020: constexpr __enable_shared_from_this() noexcept { } 32020: 32020: __enable_shared_from_this(const __enable_shared_from_this&) noexcept { } 32020: 32020: __enable_shared_from_this& 32020: operator=(const __enable_shared_from_this&) noexcept 32020: { return *this; } 32020: 32020: ~__enable_shared_from_this() { } 32020: 32020: public: 32020: __shared_ptr<_Tp, _Lp> 32020: shared_from_this() 32020: { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); } 32020: 32020: __shared_ptr 32020: shared_from_this() const 32020: { return __shared_ptr(this->_M_weak_this); } 32020: 32020: 32020: __weak_ptr<_Tp, _Lp> 32020: weak_from_this() noexcept 32020: { return this->_M_weak_this; } 32020: 32020: __weak_ptr 32020: weak_from_this() const noexcept 32020: { return this->_M_weak_this; } 32020: 32020: 32020: private: 32020: template 32020: void 32020: _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept 32020: { _M_weak_this._M_assign(__p, __n); } 32020: 32020: friend const __enable_shared_from_this* 32020: __enable_shared_from_this_base(const __shared_count<_Lp>&, 32020: const __enable_shared_from_this* __p) 32020: { return __p; } 32020: 32020: template 32020: friend class __shared_ptr; 32020: 32020: mutable __weak_ptr<_Tp, _Lp> _M_weak_this; 32020: }; 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: __allocate_shared(const _Alloc& __a, _Args&&... __args) 32020: { 32020: return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a}, 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: __make_shared(_Args&&... __args) 32020: { 32020: typedef typename std::remove_const<_Tp>::type _Tp_nc; 32020: return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: template 32020: struct hash<__shared_ptr<_Tp, _Lp>> 32020: : public __hash_base> 32020: { 32020: size_t 32020: operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept 32020: { 32020: return hash::element_type*>()( 32020: __s.get()); 32020: } 32020: }; 32020: 32020: 32020: } 32020: # 53 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: inline std::basic_ostream<_Ch, _Tr>& 32020: operator<<(std::basic_ostream<_Ch, _Tr>& __os, 32020: const __shared_ptr<_Tp, _Lp>& __p) 32020: { 32020: __os << __p.get(); 32020: return __os; 32020: } 32020: 32020: template 32020: inline _Del* 32020: get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept 32020: { 32020: 32020: return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline _Del* 32020: get_deleter(const shared_ptr<_Tp>& __p) noexcept 32020: { 32020: 32020: return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); 32020: 32020: 32020: 32020: } 32020: # 120 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: class shared_ptr : public __shared_ptr<_Tp> 32020: { 32020: template 32020: using _Constructible = typename enable_if< 32020: is_constructible<__shared_ptr<_Tp>, _Args...>::value 32020: >::type; 32020: 32020: template 32020: using _Assignable = typename enable_if< 32020: is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr& 32020: >::type; 32020: 32020: public: 32020: 32020: 32020: using element_type = typename __shared_ptr<_Tp>::element_type; 32020: 32020: 32020: 32020: 32020: using weak_type = weak_ptr<_Tp>; 32020: 32020: 32020: 32020: 32020: 32020: constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { } 32020: 32020: shared_ptr(const shared_ptr&) noexcept = default; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template> 32020: explicit 32020: shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { } 32020: # 174 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template> 32020: shared_ptr(_Yp* __p, _Deleter __d) 32020: : __shared_ptr<_Tp>(__p, std::move(__d)) { } 32020: # 192 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: shared_ptr(nullptr_t __p, _Deleter __d) 32020: : __shared_ptr<_Tp>(__p, std::move(__d)) { } 32020: # 211 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template> 32020: shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a) 32020: : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { } 32020: # 231 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) 32020: : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { } 32020: # 255 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept 32020: : __shared_ptr<_Tp>(__r, __p) { } 32020: # 293 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template&>> 32020: shared_ptr(const shared_ptr<_Yp>& __r) noexcept 32020: : __shared_ptr<_Tp>(__r) { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: shared_ptr(shared_ptr&& __r) noexcept 32020: : __shared_ptr<_Tp>(std::move(__r)) { } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template>> 32020: shared_ptr(shared_ptr<_Yp>&& __r) noexcept 32020: : __shared_ptr<_Tp>(std::move(__r)) { } 32020: # 323 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template&>> 32020: explicit shared_ptr(const weak_ptr<_Yp>& __r) 32020: : __shared_ptr<_Tp>(__r) { } 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: template>> 32020: shared_ptr(auto_ptr<_Yp>&& __r); 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: 32020: 32020: template>> 32020: shared_ptr(unique_ptr<_Yp, _Del>&& __r) 32020: : __shared_ptr<_Tp>(std::move(__r)) { } 32020: # 356 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { } 32020: 32020: shared_ptr& operator=(const shared_ptr&) noexcept = default; 32020: 32020: template 32020: _Assignable&> 32020: operator=(const shared_ptr<_Yp>& __r) noexcept 32020: { 32020: this->__shared_ptr<_Tp>::operator=(__r); 32020: return *this; 32020: } 32020: 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: template 32020: _Assignable> 32020: operator=(auto_ptr<_Yp>&& __r) 32020: { 32020: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 32020: return *this; 32020: } 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: shared_ptr& 32020: operator=(shared_ptr&& __r) noexcept 32020: { 32020: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 32020: return *this; 32020: } 32020: 32020: template 32020: _Assignable> 32020: operator=(shared_ptr<_Yp>&& __r) noexcept 32020: { 32020: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 32020: return *this; 32020: } 32020: 32020: template 32020: _Assignable> 32020: operator=(unique_ptr<_Yp, _Del>&& __r) 32020: { 32020: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 32020: return *this; 32020: } 32020: 32020: private: 32020: 32020: template 32020: shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) 32020: : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: friend shared_ptr<_Yp> 32020: allocate_shared(const _Alloc& __a, _Args&&... __args); 32020: 32020: 32020: shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) 32020: : __shared_ptr<_Tp>(__r, std::nothrow) { } 32020: 32020: friend class weak_ptr<_Tp>; 32020: }; 32020: 32020: 32020: template 32020: shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>; 32020: template 32020: shared_ptr(unique_ptr<_Tp, _Del>) -> shared_ptr<_Tp>; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 32020: { return __a.get() == __b.get(); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 32020: { return !__a; } 32020: # 461 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 32020: { return !__a; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 32020: { return __a.get() != __b.get(); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 32020: { return (bool)__a; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 32020: { return (bool)__a; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 32020: { 32020: using _Tp_elt = typename shared_ptr<_Tp>::element_type; 32020: using _Up_elt = typename shared_ptr<_Up>::element_type; 32020: using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type; 32020: return less<_Vp>()(__a.get(), __b.get()); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 32020: { 32020: using _Tp_elt = typename shared_ptr<_Tp>::element_type; 32020: return less<_Tp_elt*>()(__a.get(), nullptr); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 32020: { 32020: using _Tp_elt = typename shared_ptr<_Tp>::element_type; 32020: return less<_Tp_elt*>()(nullptr, __a.get()); 32020: } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 32020: { return !(__b < __a); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 32020: { return !(nullptr < __a); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 32020: { return !(__a < nullptr); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 32020: { return (__b < __a); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 32020: { return nullptr < __a; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 32020: { return __a < nullptr; } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 32020: { return !(__a < __b); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 32020: { return !(__a < nullptr); } 32020: 32020: 32020: template 32020: [[__nodiscard__]] inline bool 32020: operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 32020: { return !(nullptr < __a); } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept 32020: { __a.swap(__b); } 32020: 32020: 32020: 32020: 32020: template 32020: inline shared_ptr<_Tp> 32020: static_pointer_cast(const shared_ptr<_Up>& __r) noexcept 32020: { 32020: using _Sp = shared_ptr<_Tp>; 32020: return _Sp(__r, static_cast(__r.get())); 32020: } 32020: 32020: 32020: template 32020: inline shared_ptr<_Tp> 32020: const_pointer_cast(const shared_ptr<_Up>& __r) noexcept 32020: { 32020: using _Sp = shared_ptr<_Tp>; 32020: return _Sp(__r, const_cast(__r.get())); 32020: } 32020: 32020: 32020: template 32020: inline shared_ptr<_Tp> 32020: dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept 32020: { 32020: using _Sp = shared_ptr<_Tp>; 32020: if (auto* __p = dynamic_cast(__r.get())) 32020: return _Sp(__r, __p); 32020: return _Sp(); 32020: } 32020: 32020: 32020: 32020: template 32020: inline shared_ptr<_Tp> 32020: reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept 32020: { 32020: using _Sp = shared_ptr<_Tp>; 32020: return _Sp(__r, reinterpret_cast(__r.get())); 32020: } 32020: # 684 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: class weak_ptr : public __weak_ptr<_Tp> 32020: { 32020: template 32020: using _Constructible = typename enable_if< 32020: is_constructible<__weak_ptr<_Tp>, _Arg>::value 32020: >::type; 32020: 32020: template 32020: using _Assignable = typename enable_if< 32020: is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr& 32020: >::type; 32020: 32020: public: 32020: constexpr weak_ptr() noexcept = default; 32020: 32020: template&>> 32020: weak_ptr(const shared_ptr<_Yp>& __r) noexcept 32020: : __weak_ptr<_Tp>(__r) { } 32020: 32020: weak_ptr(const weak_ptr&) noexcept = default; 32020: 32020: template&>> 32020: weak_ptr(const weak_ptr<_Yp>& __r) noexcept 32020: : __weak_ptr<_Tp>(__r) { } 32020: 32020: weak_ptr(weak_ptr&&) noexcept = default; 32020: 32020: template>> 32020: weak_ptr(weak_ptr<_Yp>&& __r) noexcept 32020: : __weak_ptr<_Tp>(std::move(__r)) { } 32020: 32020: weak_ptr& 32020: operator=(const weak_ptr& __r) noexcept = default; 32020: 32020: template 32020: _Assignable&> 32020: operator=(const weak_ptr<_Yp>& __r) noexcept 32020: { 32020: this->__weak_ptr<_Tp>::operator=(__r); 32020: return *this; 32020: } 32020: 32020: template 32020: _Assignable&> 32020: operator=(const shared_ptr<_Yp>& __r) noexcept 32020: { 32020: this->__weak_ptr<_Tp>::operator=(__r); 32020: return *this; 32020: } 32020: 32020: weak_ptr& 32020: operator=(weak_ptr&& __r) noexcept = default; 32020: 32020: template 32020: _Assignable> 32020: operator=(weak_ptr<_Yp>&& __r) noexcept 32020: { 32020: this->__weak_ptr<_Tp>::operator=(std::move(__r)); 32020: return *this; 32020: } 32020: 32020: shared_ptr<_Tp> 32020: lock() const noexcept 32020: { return shared_ptr<_Tp>(*this, std::nothrow); } 32020: }; 32020: 32020: 32020: template 32020: weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept 32020: { __a.swap(__b); } 32020: 32020: 32020: 32020: template 32020: struct owner_less; 32020: 32020: 32020: template<> 32020: struct owner_less : _Sp_owner_less 32020: { }; 32020: 32020: 32020: template 32020: struct owner_less> 32020: : public _Sp_owner_less, weak_ptr<_Tp>> 32020: { }; 32020: 32020: 32020: template 32020: struct owner_less> 32020: : public _Sp_owner_less, shared_ptr<_Tp>> 32020: { }; 32020: 32020: 32020: 32020: 32020: template 32020: class enable_shared_from_this 32020: { 32020: protected: 32020: constexpr enable_shared_from_this() noexcept { } 32020: 32020: enable_shared_from_this(const enable_shared_from_this&) noexcept { } 32020: 32020: enable_shared_from_this& 32020: operator=(const enable_shared_from_this&) noexcept 32020: { return *this; } 32020: 32020: ~enable_shared_from_this() { } 32020: 32020: public: 32020: shared_ptr<_Tp> 32020: shared_from_this() 32020: { return shared_ptr<_Tp>(this->_M_weak_this); } 32020: 32020: shared_ptr 32020: shared_from_this() const 32020: { return shared_ptr(this->_M_weak_this); } 32020: 32020: 32020: 32020: weak_ptr<_Tp> 32020: weak_from_this() noexcept 32020: { return this->_M_weak_this; } 32020: 32020: weak_ptr 32020: weak_from_this() const noexcept 32020: { return this->_M_weak_this; } 32020: 32020: 32020: private: 32020: template 32020: void 32020: _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept 32020: { _M_weak_this._M_assign(__p, __n); } 32020: 32020: 32020: friend const enable_shared_from_this* 32020: __enable_shared_from_this_base(const __shared_count<>&, 32020: const enable_shared_from_this* __p) 32020: { return __p; } 32020: 32020: template 32020: friend class __shared_ptr; 32020: 32020: mutable weak_ptr<_Tp> _M_weak_this; 32020: }; 32020: # 855 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: inline shared_ptr<_Tp> 32020: allocate_shared(const _Alloc& __a, _Args&&... __args) 32020: { 32020: return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a}, 32020: std::forward<_Args>(__args)...); 32020: } 32020: # 870 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr.h" 3 32020: template 32020: inline shared_ptr<_Tp> 32020: make_shared(_Args&&... __args) 32020: { 32020: typedef typename std::remove_cv<_Tp>::type _Tp_nc; 32020: return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: template 32020: struct hash> 32020: : public __hash_base> 32020: { 32020: size_t 32020: operator()(const shared_ptr<_Tp>& __s) const noexcept 32020: { 32020: return std::hash::element_type*>()(__s.get()); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: namespace __detail::__variant 32020: { 32020: template struct _Never_valueless_alt; 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt> 32020: : std::true_type 32020: { }; 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt> 32020: : std::true_type 32020: { }; 32020: } 32020: 32020: 32020: 32020: } 32020: # 85 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 1 3 32020: # 35 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: struct _Sp_locker 32020: { 32020: _Sp_locker(const _Sp_locker&) = delete; 32020: _Sp_locker& operator=(const _Sp_locker&) = delete; 32020: 32020: 32020: explicit 32020: _Sp_locker(const void*) noexcept; 32020: _Sp_locker(const void*, const void*) noexcept; 32020: ~_Sp_locker(); 32020: 32020: private: 32020: unsigned char _M_key1; 32020: unsigned char _M_key2; 32020: 32020: 32020: 32020: }; 32020: # 74 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: template 32020: inline bool 32020: atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p) 32020: { 32020: 32020: return __gthread_active_p() == 0; 32020: 32020: 32020: 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_is_lock_free(const shared_ptr<_Tp>* __p) 32020: { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); } 32020: # 101 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: template 32020: inline shared_ptr<_Tp> 32020: atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) 32020: { 32020: _Sp_locker __lock{__p}; 32020: return *__p; 32020: } 32020: 32020: template 32020: inline shared_ptr<_Tp> 32020: atomic_load(const shared_ptr<_Tp>* __p) 32020: { return std::atomic_load_explicit(__p, memory_order_seq_cst); } 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order) 32020: { 32020: _Sp_locker __lock{__p}; 32020: return *__p; 32020: } 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: atomic_load(const __shared_ptr<_Tp, _Lp>* __p) 32020: { return std::atomic_load_explicit(__p, memory_order_seq_cst); } 32020: # 137 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: template 32020: inline void 32020: atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, 32020: memory_order) 32020: { 32020: _Sp_locker __lock{__p}; 32020: __p->swap(__r); 32020: } 32020: 32020: template 32020: inline void 32020: atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) 32020: { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } 32020: 32020: template 32020: inline void 32020: atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p, 32020: __shared_ptr<_Tp, _Lp> __r, 32020: memory_order) 32020: { 32020: _Sp_locker __lock{__p}; 32020: __p->swap(__r); 32020: } 32020: 32020: template 32020: inline void 32020: atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) 32020: { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } 32020: # 174 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: template 32020: inline shared_ptr<_Tp> 32020: atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, 32020: memory_order) 32020: { 32020: _Sp_locker __lock{__p}; 32020: __p->swap(__r); 32020: return __r; 32020: } 32020: 32020: template 32020: inline shared_ptr<_Tp> 32020: atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) 32020: { 32020: return std::atomic_exchange_explicit(__p, std::move(__r), 32020: memory_order_seq_cst); 32020: } 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p, 32020: __shared_ptr<_Tp, _Lp> __r, 32020: memory_order) 32020: { 32020: _Sp_locker __lock{__p}; 32020: __p->swap(__r); 32020: return __r; 32020: } 32020: 32020: template 32020: inline __shared_ptr<_Tp, _Lp> 32020: atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) 32020: { 32020: return std::atomic_exchange_explicit(__p, std::move(__r), 32020: memory_order_seq_cst); 32020: } 32020: # 223 "/usr/arm-linux-gnueabihf/include/c++/10/bits/shared_ptr_atomic.h" 3 32020: template 32020: bool 32020: atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, 32020: shared_ptr<_Tp>* __v, 32020: shared_ptr<_Tp> __w, 32020: memory_order, 32020: memory_order) 32020: { 32020: shared_ptr<_Tp> __x; 32020: _Sp_locker __lock{__p, __v}; 32020: owner_less> __less; 32020: if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) 32020: { 32020: __x = std::move(*__p); 32020: *__p = std::move(__w); 32020: return true; 32020: } 32020: __x = std::move(*__v); 32020: *__v = *__p; 32020: return false; 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, 32020: shared_ptr<_Tp> __w) 32020: { 32020: return std::atomic_compare_exchange_strong_explicit(__p, __v, 32020: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, 32020: shared_ptr<_Tp>* __v, 32020: shared_ptr<_Tp> __w, 32020: memory_order __success, 32020: memory_order __failure) 32020: { 32020: return std::atomic_compare_exchange_strong_explicit(__p, __v, 32020: std::move(__w), __success, __failure); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, 32020: shared_ptr<_Tp> __w) 32020: { 32020: return std::atomic_compare_exchange_weak_explicit(__p, __v, 32020: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 32020: } 32020: 32020: template 32020: bool 32020: atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p, 32020: __shared_ptr<_Tp, _Lp>* __v, 32020: __shared_ptr<_Tp, _Lp> __w, 32020: memory_order, 32020: memory_order) 32020: { 32020: __shared_ptr<_Tp, _Lp> __x; 32020: _Sp_locker __lock{__p, __v}; 32020: owner_less<__shared_ptr<_Tp, _Lp>> __less; 32020: if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) 32020: { 32020: __x = std::move(*__p); 32020: *__p = std::move(__w); 32020: return true; 32020: } 32020: __x = std::move(*__v); 32020: *__v = *__p; 32020: return false; 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p, 32020: __shared_ptr<_Tp, _Lp>* __v, 32020: __shared_ptr<_Tp, _Lp> __w) 32020: { 32020: return std::atomic_compare_exchange_strong_explicit(__p, __v, 32020: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p, 32020: __shared_ptr<_Tp, _Lp>* __v, 32020: __shared_ptr<_Tp, _Lp> __w, 32020: memory_order __success, 32020: memory_order __failure) 32020: { 32020: return std::atomic_compare_exchange_strong_explicit(__p, __v, 32020: std::move(__w), __success, __failure); 32020: } 32020: 32020: template 32020: inline bool 32020: atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p, 32020: __shared_ptr<_Tp, _Lp>* __v, 32020: __shared_ptr<_Tp, _Lp> __w) 32020: { 32020: return std::atomic_compare_exchange_weak_explicit(__p, __v, 32020: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 86 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 1 3 32020: # 36 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: template 32020: struct auto_ptr_ref 32020: { 32020: _Tp1* _M_ptr; 32020: 32020: explicit 32020: auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } 32020: } __attribute__ ((__deprecated__)); 32020: 32020: #pragma GCC diagnostic push 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: # 88 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: template 32020: class auto_ptr 32020: { 32020: private: 32020: _Tp* _M_ptr; 32020: 32020: public: 32020: 32020: typedef _Tp element_type; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: explicit 32020: auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } 32020: # 114 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } 32020: # 126 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: template 32020: auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } 32020: # 137 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: auto_ptr& 32020: operator=(auto_ptr& __a) throw() 32020: { 32020: reset(__a.release()); 32020: return *this; 32020: } 32020: # 154 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: template 32020: auto_ptr& 32020: operator=(auto_ptr<_Tp1>& __a) throw() 32020: { 32020: reset(__a.release()); 32020: return *this; 32020: } 32020: # 172 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: ~auto_ptr() { delete _M_ptr; } 32020: # 182 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: element_type& 32020: operator*() const throw() 32020: { 32020: ; 32020: return *_M_ptr; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: element_type* 32020: operator->() const throw() 32020: { 32020: ; 32020: return _M_ptr; 32020: } 32020: # 212 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: element_type* 32020: get() const throw() { return _M_ptr; } 32020: # 226 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: element_type* 32020: release() throw() 32020: { 32020: element_type* __tmp = _M_ptr; 32020: _M_ptr = 0; 32020: return __tmp; 32020: } 32020: # 241 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: void 32020: reset(element_type* __p = 0) throw() 32020: { 32020: if (__p != _M_ptr) 32020: { 32020: delete _M_ptr; 32020: _M_ptr = __p; 32020: } 32020: } 32020: # 266 "/usr/arm-linux-gnueabihf/include/c++/10/backward/auto_ptr.h" 3 32020: auto_ptr(auto_ptr_ref __ref) throw() 32020: : _M_ptr(__ref._M_ptr) { } 32020: 32020: auto_ptr& 32020: operator=(auto_ptr_ref __ref) throw() 32020: { 32020: if (__ref._M_ptr != this->get()) 32020: { 32020: delete _M_ptr; 32020: _M_ptr = __ref._M_ptr; 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: operator auto_ptr_ref<_Tp1>() throw() 32020: { return auto_ptr_ref<_Tp1>(this->release()); } 32020: 32020: template 32020: operator auto_ptr<_Tp1>() throw() 32020: { return auto_ptr<_Tp1>(this->release()); } 32020: } __attribute__ ((__deprecated__)); 32020: 32020: 32020: 32020: template<> 32020: class auto_ptr 32020: { 32020: public: 32020: typedef void element_type; 32020: } __attribute__ ((__deprecated__)); 32020: 32020: 32020: template<_Lock_policy _Lp> 32020: template 32020: inline 32020: __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r) 32020: : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get())) 32020: { __r.release(); } 32020: 32020: template 32020: template 32020: inline 32020: __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r) 32020: : _M_ptr(__r.get()), _M_refcount() 32020: { 32020: 32020: static_assert( sizeof(_Tp1) > 0, "incomplete type" ); 32020: _Tp1* __tmp = __r.get(); 32020: _M_refcount = __shared_count<_Lp>(std::move(__r)); 32020: _M_enable_shared_from_this_with(__tmp); 32020: } 32020: 32020: template 32020: template 32020: inline 32020: shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r) 32020: : __shared_ptr<_Tp>(std::move(__r)) { } 32020: 32020: template 32020: template 32020: inline 32020: unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept 32020: : _M_t(__u.release(), deleter_type()) { } 32020: 32020: 32020: #pragma GCC diagnostic pop 32020: 32020: 32020: } 32020: # 88 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: # 100 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 122 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: inline void* 32020: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept 32020: { 32020: 32020: const auto __intptr = reinterpret_cast(__ptr); 32020: 32020: 32020: 32020: 32020: 32020: 32020: const auto __aligned = (__intptr - 1u + __align) & -__align; 32020: const auto __diff = __aligned - __intptr; 32020: if ((__size + __diff) > __space) 32020: return nullptr; 32020: else 32020: { 32020: __space -= __diff; 32020: return __ptr = reinterpret_cast(__aligned); 32020: } 32020: } 32020: # 158 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: enum class pointer_safety { relaxed, preferred, strict }; 32020: 32020: 32020: inline void 32020: declare_reachable(void*) { } 32020: 32020: 32020: template 32020: inline _Tp* 32020: undeclare_reachable(_Tp* __p) { return __p; } 32020: 32020: 32020: inline void 32020: declare_no_pointers(char*, size_t) { } 32020: 32020: 32020: inline void 32020: undeclare_no_pointers(char*, size_t) { } 32020: 32020: 32020: inline pointer_safety 32020: get_pointer_safety() noexcept { return pointer_safety::relaxed; } 32020: # 411 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: 32020: } 32020: # 422 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_memory_defs.h" 1 3 32020: # 15 "/usr/arm-linux-gnueabihf/include/c++/10/pstl/glue_memory_defs.h" 3 32020: namespace std 32020: { 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_move_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n); 32020: 32020: 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> 32020: uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); 32020: 32020: template 32020: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> 32020: uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n); 32020: 32020: } 32020: # 423 "/usr/arm-linux-gnueabihf/include/c++/10/memory" 2 3 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: template class QWeakPointer; 32020: template class QSharedPointer; 32020: template class QEnableSharedFromThis; 32020: 32020: class QVariant; 32020: 32020: template 32020: QSharedPointer qSharedPointerCast(const QSharedPointer &ptr); 32020: template 32020: QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &ptr); 32020: template 32020: QSharedPointer qSharedPointerConstCast(const QSharedPointer &ptr); 32020: 32020: 32020: template 32020: QSharedPointer qSharedPointerObjectCast(const QSharedPointer &ptr); 32020: 32020: 32020: namespace QtPrivate { 32020: struct EnableInternalData; 32020: } 32020: 32020: namespace QtSharedPointer { 32020: template class ExternalRefCount; 32020: 32020: template QSharedPointer copyAndSetPointer(X * ptr, const QSharedPointer &src); 32020: 32020: 32020: __attribute__((visibility("default"))) void internalSafetyCheckAdd(const void *, const volatile void *); 32020: __attribute__((visibility("default"))) void internalSafetyCheckRemove(const void *); 32020: 32020: template 32020: inline void executeDeleter(T *t, RetVal (Klass:: *memberDeleter)()) 32020: { if (t) (t->*memberDeleter)(); } 32020: template 32020: inline void executeDeleter(T *t, Deleter d) 32020: { d(t); } 32020: struct NormalDeleter {}; 32020: 32020: 32020: template struct RemovePointer; 32020: template struct RemovePointer { typedef T Type; }; 32020: template struct RemovePointer > { typedef T Type; }; 32020: template struct RemovePointer > { typedef T Type; }; 32020: # 133 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 3 4 32020: struct ExternalRefCountData 32020: { 32020: typedef void (*DestroyerFn)(ExternalRefCountData *); 32020: QBasicAtomicInt weakref; 32020: QBasicAtomicInt strongref; 32020: DestroyerFn destroyer; 32020: 32020: inline ExternalRefCountData(DestroyerFn d) 32020: : destroyer(d) 32020: { 32020: strongref.storeRelaxed(1); 32020: weakref.storeRelaxed(1); 32020: } 32020: inline ExternalRefCountData(Qt::Initialization) { } 32020: ~ExternalRefCountData() { static_cast(false && (!weakref.loadRelaxed())); static_cast(false && (strongref.loadRelaxed() <= 0)); } 32020: 32020: void destroy() { destroyer(this); } 32020: 32020: 32020: __attribute__((visibility("default"))) static ExternalRefCountData *getAndRef(const QObject *); 32020: __attribute__((visibility("default"))) void setQObjectShared(const QObject *, bool enable); 32020: __attribute__((visibility("default"))) void checkQObjectShared(const QObject *); 32020: 32020: inline void checkQObjectShared(...) { } 32020: inline void setQObjectShared(...) { } 32020: 32020: inline void operator delete(void *ptr) { ::operator delete(ptr); } 32020: inline void operator delete(void *, void *) { } 32020: }; 32020: 32020: 32020: template 32020: struct CustomDeleter 32020: { 32020: Deleter deleter; 32020: T *ptr; 32020: 32020: CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {} 32020: void execute() { executeDeleter(ptr, deleter); } 32020: }; 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 3 4 32020: template 32020: struct CustomDeleter 32020: { 32020: T *ptr; 32020: 32020: CustomDeleter(T *p, NormalDeleter) : ptr(p) {} 32020: void execute() { delete ptr; } 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct ExternalRefCountWithCustomDeleter: public ExternalRefCountData 32020: { 32020: typedef ExternalRefCountWithCustomDeleter Self; 32020: typedef ExternalRefCountData BaseClass; 32020: CustomDeleter extra; 32020: 32020: static inline void deleter(ExternalRefCountData *self) 32020: { 32020: Self *realself = static_cast(self); 32020: realself->extra.execute(); 32020: 32020: 32020: realself->extra.~CustomDeleter(); 32020: } 32020: static void safetyCheckDeleter(ExternalRefCountData *self) 32020: { 32020: internalSafetyCheckRemove(self); 32020: deleter(self); 32020: } 32020: 32020: static inline Self *create(T *ptr, Deleter userDeleter, DestroyerFn actualDeleter) 32020: { 32020: Self *d = static_cast(::operator new(sizeof(Self))); 32020: 32020: 32020: new (&d->extra) CustomDeleter(ptr, userDeleter); 32020: new (d) BaseClass(actualDeleter); 32020: 32020: return d; 32020: } 32020: private: 32020: 32020: ExternalRefCountWithCustomDeleter() = delete; 32020: ~ExternalRefCountWithCustomDeleter() = delete; 32020: ExternalRefCountWithCustomDeleter(const ExternalRefCountWithCustomDeleter &) = delete; ExternalRefCountWithCustomDeleter &operator=(const ExternalRefCountWithCustomDeleter &) = delete; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct ExternalRefCountWithContiguousData: public ExternalRefCountData 32020: { 32020: typedef ExternalRefCountData Parent; 32020: typedef typename std::remove_cv::type NoCVType; 32020: NoCVType data; 32020: 32020: static void deleter(ExternalRefCountData *self) 32020: { 32020: ExternalRefCountWithContiguousData *that = 32020: static_cast(self); 32020: that->data.~T(); 32020: (void)that;; 32020: } 32020: static void safetyCheckDeleter(ExternalRefCountData *self) 32020: { 32020: internalSafetyCheckRemove(self); 32020: deleter(self); 32020: } 32020: static void noDeleter(ExternalRefCountData *) { } 32020: 32020: static inline ExternalRefCountData *create(NoCVType **ptr, DestroyerFn destroy) 32020: { 32020: ExternalRefCountWithContiguousData *d = 32020: static_cast(::operator new(sizeof(ExternalRefCountWithContiguousData))); 32020: 32020: 32020: 32020: new (d) Parent(destroy); 32020: 32020: *ptr = &d->data; 32020: return d; 32020: } 32020: 32020: private: 32020: 32020: ExternalRefCountWithContiguousData() = delete; 32020: ~ExternalRefCountWithContiguousData() = delete; 32020: ExternalRefCountWithContiguousData(const ExternalRefCountWithContiguousData &) = delete; ExternalRefCountWithContiguousData &operator=(const ExternalRefCountWithContiguousData &) = delete; 32020: }; 32020: 32020: 32020: __attribute__((visibility("default"))) QWeakPointer weakPointerFromVariant_internal(const QVariant &variant); 32020: __attribute__((visibility("default"))) QSharedPointer sharedPointerFromVariant_internal(const QVariant &variant); 32020: 32020: } 32020: 32020: template class QSharedPointer 32020: { 32020: typedef T *QSharedPointer:: *RestrictedBool; 32020: typedef QtSharedPointer::ExternalRefCountData Data; 32020: template 32020: using IfCompatible = typename std::enable_if::value, bool>::type; 32020: 32020: public: 32020: typedef T Type; 32020: typedef T element_type; 32020: typedef T value_type; 32020: typedef value_type *pointer; 32020: typedef const value_type *const_pointer; 32020: typedef value_type &reference; 32020: typedef const value_type &const_reference; 32020: typedef qptrdiff difference_type; 32020: 32020: T *data() const noexcept { return value; } 32020: T *get() const noexcept { return value; } 32020: bool isNull() const noexcept { return !data(); } 32020: operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QSharedPointer::value; } 32020: bool operator !() const noexcept { return isNull(); } 32020: T &operator*() const { return *data(); } 32020: T *operator->() const noexcept { return data(); } 32020: 32020: constexpr QSharedPointer() noexcept : value(nullptr), d(nullptr) { } 32020: ~QSharedPointer() { deref(); } 32020: 32020: constexpr QSharedPointer(std::nullptr_t) noexcept : value(nullptr), d(nullptr) { } 32020: 32020: template = true> 32020: inline explicit QSharedPointer(X *ptr) : value(ptr) 32020: { internalConstruct(ptr, QtSharedPointer::NormalDeleter()); } 32020: 32020: template = true> 32020: inline QSharedPointer(X *ptr, Deleter deleter) : value(ptr) 32020: { internalConstruct(ptr, deleter); } 32020: 32020: template 32020: QSharedPointer(std::nullptr_t, Deleter deleter) : value(nullptr) 32020: { internalConstruct(static_cast(nullptr), deleter); } 32020: 32020: QSharedPointer(const QSharedPointer &other) noexcept : value(other.value), d(other.d) 32020: { if (d) ref(); } 32020: QSharedPointer &operator=(const QSharedPointer &other) noexcept 32020: { 32020: QSharedPointer copy(other); 32020: swap(copy); 32020: return *this; 32020: } 32020: QSharedPointer(QSharedPointer &&other) noexcept 32020: : value(other.value), d(other.d) 32020: { 32020: other.d = nullptr; 32020: other.value = nullptr; 32020: } 32020: QSharedPointer &operator=(QSharedPointer &&other) noexcept 32020: { 32020: QSharedPointer moved(std::move(other)); 32020: swap(moved); 32020: return *this; 32020: } 32020: 32020: template = true> 32020: QSharedPointer(QSharedPointer &&other) noexcept 32020: : value(other.value), d(other.d) 32020: { 32020: other.d = nullptr; 32020: other.value = nullptr; 32020: } 32020: 32020: template = true> 32020: QSharedPointer &operator=(QSharedPointer &&other) noexcept 32020: { 32020: QSharedPointer moved(std::move(other)); 32020: swap(moved); 32020: return *this; 32020: } 32020: 32020: template = true> 32020: QSharedPointer(const QSharedPointer &other) noexcept : value(other.value), d(other.d) 32020: { if (d) ref(); } 32020: 32020: template = true> 32020: inline QSharedPointer &operator=(const QSharedPointer &other) 32020: { 32020: QSharedPointer copy(other); 32020: swap(copy); 32020: return *this; 32020: } 32020: 32020: template = true> 32020: inline QSharedPointer(const QWeakPointer &other) : value(nullptr), d(nullptr) 32020: { *this = other; } 32020: 32020: template = true> 32020: inline QSharedPointer &operator=(const QWeakPointer &other) 32020: { internalSet(other.d, other.value); return *this; } 32020: 32020: inline void swap(QSharedPointer &other) noexcept 32020: { this->internalSwap(other); } 32020: 32020: inline void reset() { clear(); } 32020: inline void reset(T *t) 32020: { QSharedPointer copy(t); swap(copy); } 32020: template 32020: inline void reset(T *t, Deleter deleter) 32020: { QSharedPointer copy(t, deleter); swap(copy); } 32020: 32020: template 32020: QSharedPointer staticCast() const 32020: { 32020: return qSharedPointerCast(*this); 32020: } 32020: 32020: template 32020: QSharedPointer dynamicCast() const 32020: { 32020: return qSharedPointerDynamicCast(*this); 32020: } 32020: 32020: template 32020: QSharedPointer constCast() const 32020: { 32020: return qSharedPointerConstCast(*this); 32020: } 32020: 32020: 32020: template 32020: QSharedPointer objectCast() const 32020: { 32020: return qSharedPointerObjectCast(*this); 32020: } 32020: 32020: 32020: inline void clear() { QSharedPointer copy; swap(copy); } 32020: 32020: QWeakPointer toWeakRef() const; 32020: 32020: template 32020: static QSharedPointer create(Args && ...arguments) 32020: { 32020: typedef QtSharedPointer::ExternalRefCountWithContiguousData Private; 32020: 32020: 32020: 32020: typename Private::DestroyerFn destroy = &Private::deleter; 32020: 32020: typename Private::DestroyerFn noDestroy = &Private::noDeleter; 32020: QSharedPointer result(Qt::Uninitialized); 32020: typename std::remove_cv::type *ptr; 32020: result.d = Private::create(&ptr, noDestroy); 32020: 32020: 32020: new (ptr) T(std::forward(arguments)...); 32020: result.value = ptr; 32020: result.d->destroyer = destroy; 32020: result.d->setQObjectShared(result.value, true); 32020: 32020: 32020: 32020: result.enableSharedFromThis(result.data()); 32020: return result; 32020: } 32020: 32020: private: 32020: explicit QSharedPointer(Qt::Initialization) {} 32020: 32020: void deref() noexcept 32020: { deref(d); } 32020: static void deref(Data *dd) noexcept 32020: { 32020: if (!dd) return; 32020: if (!dd->strongref.deref()) { 32020: dd->destroy(); 32020: } 32020: if (!dd->weakref.deref()) 32020: delete dd; 32020: } 32020: 32020: template 32020: inline void enableSharedFromThis(const QEnableSharedFromThis *ptr) 32020: { 32020: ptr->initializeFromSharedPointer(constCast::type>()); 32020: } 32020: 32020: inline void enableSharedFromThis(...) {} 32020: 32020: template 32020: inline void internalConstruct(X *ptr, Deleter deleter) 32020: { 32020: typedef QtSharedPointer::ExternalRefCountWithCustomDeleter Private; 32020: 32020: 32020: 32020: typename Private::DestroyerFn actualDeleter = &Private::deleter; 32020: 32020: d = Private::create(ptr, deleter, actualDeleter); 32020: 32020: 32020: 32020: 32020: d->setQObjectShared(ptr, true); 32020: enableSharedFromThis(ptr); 32020: } 32020: 32020: void internalSwap(QSharedPointer &other) noexcept 32020: { 32020: qSwap(d, other.d); 32020: qSwap(this->value, other.value); 32020: } 32020: 32020: 32020: 32020: 32020: template friend class QSharedPointer; 32020: template friend class QWeakPointer; 32020: template friend QSharedPointer QtSharedPointer::copyAndSetPointer(X * ptr, const QSharedPointer &src); 32020: 32020: void ref() const noexcept { d->weakref.ref(); d->strongref.ref(); } 32020: 32020: inline void internalSet(Data *o, T *actual) 32020: { 32020: if (o) { 32020: 32020: 32020: int tmp = o->strongref.loadRelaxed(); 32020: while (tmp > 0) { 32020: 32020: if (o->strongref.testAndSetRelaxed(tmp, tmp + 1)) 32020: break; 32020: tmp = o->strongref.loadRelaxed(); 32020: } 32020: 32020: if (tmp > 0) { 32020: o->weakref.ref(); 32020: } else { 32020: o->checkQObjectShared(actual); 32020: o = nullptr; 32020: } 32020: } 32020: 32020: qSwap(d, o); 32020: qSwap(this->value, actual); 32020: if (!d || d->strongref.loadRelaxed() == 0) 32020: this->value = nullptr; 32020: 32020: 32020: deref(o); 32020: } 32020: 32020: Type *value; 32020: Data *d; 32020: }; 32020: 32020: template 32020: class QWeakPointer 32020: { 32020: typedef T *QWeakPointer:: *RestrictedBool; 32020: typedef QtSharedPointer::ExternalRefCountData Data; 32020: template 32020: using IfCompatible = typename std::enable_if::value, bool>::type; 32020: 32020: public: 32020: typedef T element_type; 32020: typedef T value_type; 32020: typedef value_type *pointer; 32020: typedef const value_type *const_pointer; 32020: typedef value_type &reference; 32020: typedef const value_type &const_reference; 32020: typedef qptrdiff difference_type; 32020: 32020: bool isNull() const noexcept { return d == nullptr || d->strongref.loadRelaxed() == 0 || value == nullptr; } 32020: operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QWeakPointer::value; } 32020: bool operator !() const noexcept { return isNull(); } 32020: 32020: 32020: __attribute__ ((__deprecated__("Use toStrongRef() instead, and data() on the returned QSharedPointer"))) 32020: T *data() const noexcept { return internalData(); } 32020: 32020: 32020: inline QWeakPointer() noexcept : d(nullptr), value(nullptr) { } 32020: inline ~QWeakPointer() { if (d && !d->weakref.deref()) delete d; } 32020: # 583 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer_impl.h" 3 4 32020: QWeakPointer(const QWeakPointer &other) noexcept : d(other.d), value(other.value) 32020: { if (d) d->weakref.ref(); } 32020: QWeakPointer(QWeakPointer &&other) noexcept 32020: : d(other.d), value(other.value) 32020: { 32020: other.d = nullptr; 32020: other.value = nullptr; 32020: } 32020: QWeakPointer &operator=(QWeakPointer &&other) noexcept 32020: { QWeakPointer moved(std::move(other)); swap(moved); return *this; } 32020: QWeakPointer &operator=(const QWeakPointer &other) noexcept 32020: { 32020: QWeakPointer copy(other); 32020: swap(copy); 32020: return *this; 32020: } 32020: 32020: void swap(QWeakPointer &other) noexcept 32020: { 32020: qSwap(this->d, other.d); 32020: qSwap(this->value, other.value); 32020: } 32020: 32020: inline QWeakPointer(const QSharedPointer &o) : d(o.d), value(o.data()) 32020: { if (d) d->weakref.ref();} 32020: inline QWeakPointer &operator=(const QSharedPointer &o) 32020: { 32020: internalSet(o.d, o.value); 32020: return *this; 32020: } 32020: 32020: template = true> 32020: inline QWeakPointer(const QWeakPointer &o) : d(nullptr), value(nullptr) 32020: { *this = o; } 32020: 32020: template = true> 32020: inline QWeakPointer &operator=(const QWeakPointer &o) 32020: { 32020: 32020: 32020: *this = o.toStrongRef(); 32020: return *this; 32020: } 32020: 32020: template 32020: bool operator==(const QWeakPointer &o) const noexcept 32020: { return d == o.d && value == static_cast(o.value); } 32020: 32020: template 32020: bool operator!=(const QWeakPointer &o) const noexcept 32020: { return !(*this == o); } 32020: 32020: template = true> 32020: inline QWeakPointer(const QSharedPointer &o) : d(nullptr), value(nullptr) 32020: { *this = o; } 32020: 32020: template = true> 32020: inline QWeakPointer &operator=(const QSharedPointer &o) 32020: { 32020: internalSet(o.d, o.data()); 32020: return *this; 32020: } 32020: 32020: template 32020: bool operator==(const QSharedPointer &o) const noexcept 32020: { return d == o.d; } 32020: 32020: template 32020: bool operator!=(const QSharedPointer &o) const noexcept 32020: { return !(*this == o); } 32020: 32020: inline void clear() { *this = QWeakPointer(); } 32020: 32020: inline QSharedPointer toStrongRef() const { return QSharedPointer(*this); } 32020: 32020: inline QSharedPointer lock() const { return toStrongRef(); } 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: friend struct QtPrivate::EnableInternalData; 32020: 32020: 32020: 32020: template friend class QSharedPointer; 32020: template friend class QPointer; 32020: 32020: 32020: template 32020: inline QWeakPointer &assign(X *ptr) 32020: { return *this = QWeakPointer(ptr, true); } 32020: 32020: 32020: template = true> 32020: inline QWeakPointer(X *ptr, bool) : d(ptr ? Data::getAndRef(ptr) : nullptr), value(ptr) 32020: { } 32020: 32020: 32020: inline void internalSet(Data *o, T *actual) 32020: { 32020: if (d == o) return; 32020: if (o) 32020: o->weakref.ref(); 32020: if (d && !d->weakref.deref()) 32020: delete d; 32020: d = o; 32020: value = actual; 32020: } 32020: 32020: 32020: 32020: inline T *internalData() const noexcept 32020: { 32020: return d == nullptr || d->strongref.loadRelaxed() == 0 ? nullptr : value; 32020: } 32020: 32020: Data *d; 32020: T *value; 32020: }; 32020: 32020: namespace QtPrivate { 32020: struct EnableInternalData { 32020: template 32020: static T *internalData(const QWeakPointer &p) noexcept { return p.internalData(); } 32020: }; 32020: 32020: 32020: template 32020: struct EnableInternalDataWrap : EnableInternalData {}; 32020: } 32020: 32020: template 32020: class QEnableSharedFromThis 32020: { 32020: protected: 32020: QEnableSharedFromThis() = default; 32020: QEnableSharedFromThis(const QEnableSharedFromThis &) {} 32020: QEnableSharedFromThis &operator=(const QEnableSharedFromThis &) { return *this; } 32020: 32020: public: 32020: inline QSharedPointer sharedFromThis() { return QSharedPointer(weakPointer); } 32020: inline QSharedPointer sharedFromThis() const { return QSharedPointer(weakPointer); } 32020: 32020: 32020: private: 32020: template friend class QSharedPointer; 32020: 32020: 32020: 32020: template 32020: inline void initializeFromSharedPointer(const QSharedPointer &ptr) const 32020: { 32020: weakPointer = ptr; 32020: } 32020: 32020: mutable QWeakPointer weakPointer; 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: bool operator==(const QSharedPointer &ptr1, const QSharedPointer &ptr2) noexcept 32020: { 32020: return ptr1.data() == ptr2.data(); 32020: } 32020: template 32020: bool operator!=(const QSharedPointer &ptr1, const QSharedPointer &ptr2) noexcept 32020: { 32020: return ptr1.data() != ptr2.data(); 32020: } 32020: 32020: template 32020: bool operator==(const QSharedPointer &ptr1, const X *ptr2) noexcept 32020: { 32020: return ptr1.data() == ptr2; 32020: } 32020: template 32020: bool operator==(const T *ptr1, const QSharedPointer &ptr2) noexcept 32020: { 32020: return ptr1 == ptr2.data(); 32020: } 32020: template 32020: bool operator!=(const QSharedPointer &ptr1, const X *ptr2) noexcept 32020: { 32020: return !(ptr1 == ptr2); 32020: } 32020: template 32020: bool operator!=(const T *ptr1, const QSharedPointer &ptr2) noexcept 32020: { 32020: return !(ptr2 == ptr1); 32020: } 32020: 32020: template 32020: bool operator==(const QSharedPointer &ptr1, const QWeakPointer &ptr2) noexcept 32020: { 32020: return ptr2 == ptr1; 32020: } 32020: template 32020: bool operator!=(const QSharedPointer &ptr1, const QWeakPointer &ptr2) noexcept 32020: { 32020: return ptr2 != ptr1; 32020: } 32020: 32020: template 32020: inline bool operator==(const QSharedPointer &lhs, std::nullptr_t) noexcept 32020: { 32020: return lhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator!=(const QSharedPointer &lhs, std::nullptr_t) noexcept 32020: { 32020: return !lhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator==(std::nullptr_t, const QSharedPointer &rhs) noexcept 32020: { 32020: return rhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator!=(std::nullptr_t, const QSharedPointer &rhs) noexcept 32020: { 32020: return !rhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator==(const QWeakPointer &lhs, std::nullptr_t) noexcept 32020: { 32020: return lhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator!=(const QWeakPointer &lhs, std::nullptr_t) noexcept 32020: { 32020: return !lhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator==(std::nullptr_t, const QWeakPointer &rhs) noexcept 32020: { 32020: return rhs.isNull(); 32020: } 32020: 32020: template 32020: inline bool operator!=(std::nullptr_t, const QWeakPointer &rhs) noexcept 32020: { 32020: return !rhs.isNull(); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline typename QSharedPointer::difference_type operator-(const QSharedPointer &ptr1, const QSharedPointer &ptr2) 32020: { 32020: return ptr1.data() - ptr2.data(); 32020: } 32020: template 32020: inline typename QSharedPointer::difference_type operator-(const QSharedPointer &ptr1, X *ptr2) 32020: { 32020: return ptr1.data() - ptr2; 32020: } 32020: template 32020: inline typename QSharedPointer::difference_type operator-(T *ptr1, const QSharedPointer &ptr2) 32020: { 32020: return ptr1 - ptr2.data(); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline bool operator<(const QSharedPointer &ptr1, const QSharedPointer &ptr2) 32020: { 32020: using CT = typename std::common_type::type; 32020: return std::less()(ptr1.data(), ptr2.data()); 32020: } 32020: template 32020: inline bool operator<(const QSharedPointer &ptr1, X *ptr2) 32020: { 32020: using CT = typename std::common_type::type; 32020: return std::less()(ptr1.data(), ptr2); 32020: } 32020: template 32020: inline bool operator<(T *ptr1, const QSharedPointer &ptr2) 32020: { 32020: using CT = typename std::common_type::type; 32020: return std::less()(ptr1, ptr2.data()); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline uint qHash(const QSharedPointer &ptr, uint seed = 0) 32020: { 32020: return ::qHash(ptr.data(), seed); 32020: } 32020: 32020: 32020: template 32020: inline QWeakPointer QSharedPointer::toWeakRef() const 32020: { 32020: return QWeakPointer(*this); 32020: } 32020: 32020: template 32020: inline void swap(QSharedPointer &p1, QSharedPointer &p2) noexcept 32020: { p1.swap(p2); } 32020: 32020: template 32020: inline void swap(QWeakPointer &p1, QWeakPointer &p2) noexcept 32020: { p1.swap(p2); } 32020: 32020: namespace QtSharedPointer { 32020: 32020: template 32020: inline QSharedPointer copyAndSetPointer(X *ptr, const QSharedPointer &src) 32020: { 32020: QSharedPointer result; 32020: result.internalSet(src.d, ptr); 32020: return result; 32020: } 32020: } 32020: 32020: 32020: template 32020: inline QSharedPointer qSharedPointerCast(const QSharedPointer &src) 32020: { 32020: X *ptr = static_cast(src.data()); 32020: return QtSharedPointer::copyAndSetPointer(ptr, src); 32020: } 32020: template 32020: inline QSharedPointer qSharedPointerCast(const QWeakPointer &src) 32020: { 32020: return qSharedPointerCast(src.toStrongRef()); 32020: } 32020: 32020: template 32020: inline QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &src) 32020: { 32020: X *ptr = dynamic_cast(src.data()); 32020: if (!ptr) 32020: return QSharedPointer(); 32020: return QtSharedPointer::copyAndSetPointer(ptr, src); 32020: } 32020: template 32020: inline QSharedPointer qSharedPointerDynamicCast(const QWeakPointer &src) 32020: { 32020: return qSharedPointerDynamicCast(src.toStrongRef()); 32020: } 32020: 32020: template 32020: inline QSharedPointer qSharedPointerConstCast(const QSharedPointer &src) 32020: { 32020: X *ptr = const_cast(src.data()); 32020: return QtSharedPointer::copyAndSetPointer(ptr, src); 32020: } 32020: template 32020: inline QSharedPointer qSharedPointerConstCast(const QWeakPointer &src) 32020: { 32020: return qSharedPointerConstCast(src.toStrongRef()); 32020: } 32020: 32020: template 32020: inline 32020: QWeakPointer qWeakPointerCast(const QSharedPointer &src) 32020: { 32020: return qSharedPointerCast(src).toWeakRef(); 32020: } 32020: 32020: 32020: template 32020: inline QSharedPointer qSharedPointerObjectCast(const QSharedPointer &src) 32020: { 32020: X *ptr = qobject_cast(src.data()); 32020: return QtSharedPointer::copyAndSetPointer(ptr, src); 32020: } 32020: template 32020: inline QSharedPointer qSharedPointerObjectCast(const QWeakPointer &src) 32020: { 32020: return qSharedPointerObjectCast(src.toStrongRef()); 32020: } 32020: 32020: template 32020: inline QSharedPointer::Type> 32020: qobject_cast(const QSharedPointer &src) 32020: { 32020: return qSharedPointerObjectCast::Type, T>(src); 32020: } 32020: template 32020: inline QSharedPointer::Type> 32020: qobject_cast(const QWeakPointer &src) 32020: { 32020: return qSharedPointerObjectCast::Type, T>(src); 32020: } 32020: 32020: 32020: 32020: template 32020: QWeakPointer::Value, T>::type> 32020: qWeakPointerFromVariant(const QVariant &variant) 32020: { 32020: return QWeakPointer(qobject_cast(QtPrivate::EnableInternalData::internalData(QtSharedPointer::weakPointerFromVariant_internal(variant)))); 32020: } 32020: template 32020: QSharedPointer::Value, T>::type> 32020: qSharedPointerFromVariant(const QVariant &variant) 32020: { 32020: return qSharedPointerObjectCast(QtSharedPointer::sharedPointerFromVariant_internal(variant)); 32020: } 32020: 32020: 32020: 32020: template 32020: std::shared_ptr qobject_pointer_cast(const std::shared_ptr &src) 32020: { 32020: using element_type = typename std::shared_ptr::element_type; 32020: return std::shared_ptr(src, qobject_cast(src.get())); 32020: } 32020: 32020: template 32020: std::shared_ptr qobject_pointer_cast(std::shared_ptr &&src) 32020: { 32020: using element_type = typename std::shared_ptr::element_type; 32020: auto castResult = qobject_cast(src.get()); 32020: if (castResult) { 32020: auto result = std::shared_ptr(std::move(src), castResult); 32020: 32020: 32020: 32020: 32020: 32020: src.reset(); 32020: 32020: return result; 32020: } 32020: return std::shared_ptr(); 32020: } 32020: 32020: template 32020: std::shared_ptr qSharedPointerObjectCast(const std::shared_ptr &src) 32020: { 32020: return qobject_pointer_cast(src); 32020: } 32020: 32020: template 32020: std::shared_ptr qSharedPointerObjectCast(std::shared_ptr &&src) 32020: { 32020: return qobject_pointer_cast(std::move(src)); 32020: } 32020: 32020: 32020: 32020: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial >(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable >(), 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"; } }; 32020: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial >(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable >(), 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"; } }; 32020: 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qsharedpointer.h" 2 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixelformat.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixelformat.h" 3 4 32020: 32020: 32020: class QPixelFormat 32020: { 32020: 32020: 32020: 32020: enum FieldWidth { 32020: ModelFieldWidth = 4, 32020: FirstFieldWidth = 6, 32020: SecondFieldWidth = FirstFieldWidth, 32020: ThirdFieldWidth = FirstFieldWidth, 32020: FourthFieldWidth = FirstFieldWidth, 32020: FifthFieldWidth = FirstFieldWidth, 32020: AlphaFieldWidth = FirstFieldWidth, 32020: AlphaUsageFieldWidth = 1, 32020: AlphaPositionFieldWidth = 1, 32020: PremulFieldWidth = 1, 32020: TypeInterpretationFieldWidth = 4, 32020: ByteOrderFieldWidth = 2, 32020: SubEnumFieldWidth = 6, 32020: UnusedFieldWidth = 9, 32020: 32020: TotalFieldWidthByWidths = ModelFieldWidth + FirstFieldWidth + SecondFieldWidth + ThirdFieldWidth + 32020: FourthFieldWidth + FifthFieldWidth + AlphaFieldWidth + AlphaUsageFieldWidth + 32020: AlphaPositionFieldWidth + PremulFieldWidth + TypeInterpretationFieldWidth + 32020: ByteOrderFieldWidth + SubEnumFieldWidth + UnusedFieldWidth 32020: }; 32020: 32020: enum Field { 32020: ModelField = 0, 32020: 32020: 32020: FirstField = ModelField + int(ModelFieldWidth), 32020: SecondField = FirstField + int(FirstFieldWidth), 32020: ThirdField = SecondField + int(SecondFieldWidth), 32020: FourthField = ThirdField + int(ThirdFieldWidth), 32020: FifthField = FourthField + int(FourthFieldWidth), 32020: AlphaField = FifthField + int(FifthFieldWidth), 32020: AlphaUsageField = AlphaField + int(AlphaFieldWidth), 32020: AlphaPositionField = AlphaUsageField + int(AlphaUsageFieldWidth), 32020: PremulField = AlphaPositionField + int(AlphaPositionFieldWidth), 32020: TypeInterpretationField = PremulField + int(PremulFieldWidth), 32020: ByteOrderField = TypeInterpretationField + int(TypeInterpretationFieldWidth), 32020: SubEnumField = ByteOrderField + int(ByteOrderFieldWidth), 32020: UnusedField = SubEnumField + int(SubEnumFieldWidth), 32020: 32020: TotalFieldWidthByOffsets = UnusedField + int(UnusedFieldWidth) 32020: }; 32020: 32020: static_assert(bool(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets)), "uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets)"); 32020: static_assert(bool(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64)), "uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64)"); 32020: 32020: constexpr inline uchar get(Field offset, FieldWidth width) const noexcept 32020: { return uchar((data >> uint(offset)) & ((static_cast(1ULL) << uint(width)) - static_cast(1ULL))); } 32020: constexpr static inline quint64 set(Field offset, FieldWidth width, uchar value) 32020: { return (quint64(value) & ((static_cast(1ULL) << uint(width)) - static_cast(1ULL))) << uint(offset); } 32020: 32020: public: 32020: enum ColorModel { 32020: RGB, 32020: BGR, 32020: Indexed, 32020: Grayscale, 32020: CMYK, 32020: HSL, 32020: HSV, 32020: YUV, 32020: Alpha 32020: }; 32020: 32020: enum AlphaUsage { 32020: UsesAlpha, 32020: IgnoresAlpha 32020: }; 32020: 32020: enum AlphaPosition { 32020: AtBeginning, 32020: AtEnd 32020: }; 32020: 32020: enum AlphaPremultiplied { 32020: NotPremultiplied, 32020: Premultiplied 32020: }; 32020: 32020: enum TypeInterpretation { 32020: UnsignedInteger, 32020: UnsignedShort, 32020: UnsignedByte, 32020: FloatingPoint 32020: }; 32020: 32020: enum YUVLayout { 32020: YUV444, 32020: YUV422, 32020: YUV411, 32020: YUV420P, 32020: YUV420SP, 32020: YV12, 32020: UYVY, 32020: YUYV, 32020: NV12, 32020: NV21, 32020: IMC1, 32020: IMC2, 32020: IMC3, 32020: IMC4, 32020: Y8, 32020: Y16 32020: }; 32020: 32020: enum ByteOrder { 32020: LittleEndian, 32020: BigEndian, 32020: CurrentSystemEndian 32020: }; 32020: 32020: constexpr inline QPixelFormat() noexcept : data(0) {} 32020: constexpr inline QPixelFormat(ColorModel colorModel, 32020: uchar firstSize, 32020: uchar secondSize, 32020: uchar thirdSize, 32020: uchar fourthSize, 32020: uchar fifthSize, 32020: uchar alphaSize, 32020: AlphaUsage alphaUsage, 32020: AlphaPosition alphaPosition, 32020: AlphaPremultiplied premultiplied, 32020: TypeInterpretation typeInterpretation, 32020: ByteOrder byteOrder = CurrentSystemEndian, 32020: uchar subEnum = 0) noexcept; 32020: 32020: constexpr inline ColorModel colorModel() const noexcept { return ColorModel(get(ModelField, ModelFieldWidth)); } 32020: constexpr inline uchar channelCount() const noexcept { return (get(FirstField, FirstFieldWidth) > 0) + 32020: (get(SecondField, SecondFieldWidth) > 0) + 32020: (get(ThirdField, ThirdFieldWidth) > 0) + 32020: (get(FourthField, FourthFieldWidth) > 0) + 32020: (get(FifthField, FifthFieldWidth) > 0) + 32020: (get(AlphaField, AlphaFieldWidth) > 0); } 32020: 32020: constexpr inline uchar redSize() const noexcept { return get(FirstField, FirstFieldWidth); } 32020: constexpr inline uchar greenSize() const noexcept { return get(SecondField, SecondFieldWidth); } 32020: constexpr inline uchar blueSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 32020: 32020: constexpr inline uchar cyanSize() const noexcept { return get(FirstField, FirstFieldWidth); } 32020: constexpr inline uchar magentaSize() const noexcept { return get(SecondField, SecondFieldWidth); } 32020: constexpr inline uchar yellowSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 32020: constexpr inline uchar blackSize() const noexcept { return get(FourthField, FourthFieldWidth); } 32020: 32020: constexpr inline uchar hueSize() const noexcept { return get(FirstField, FirstFieldWidth); } 32020: constexpr inline uchar saturationSize() const noexcept { return get(SecondField, SecondFieldWidth); } 32020: constexpr inline uchar lightnessSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 32020: constexpr inline uchar brightnessSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 32020: 32020: constexpr inline uchar alphaSize() const noexcept { return get(AlphaField, AlphaFieldWidth); } 32020: 32020: constexpr inline uchar bitsPerPixel() const noexcept { return get(FirstField, FirstFieldWidth) + 32020: get(SecondField, SecondFieldWidth) + 32020: get(ThirdField, ThirdFieldWidth) + 32020: get(FourthField, FourthFieldWidth) + 32020: get(FifthField, FifthFieldWidth) + 32020: get(AlphaField, AlphaFieldWidth); } 32020: 32020: constexpr inline AlphaUsage alphaUsage() const noexcept { return AlphaUsage(get(AlphaUsageField, AlphaUsageFieldWidth)); } 32020: constexpr inline AlphaPosition alphaPosition() const noexcept { return AlphaPosition(get(AlphaPositionField, AlphaPositionFieldWidth)); } 32020: constexpr inline AlphaPremultiplied premultiplied() const noexcept { return AlphaPremultiplied(get(PremulField, PremulFieldWidth)); } 32020: constexpr inline TypeInterpretation typeInterpretation() const noexcept { return TypeInterpretation(get(TypeInterpretationField, TypeInterpretationFieldWidth)); } 32020: constexpr inline ByteOrder byteOrder() const noexcept { return ByteOrder(get(ByteOrderField, ByteOrderFieldWidth)); } 32020: 32020: constexpr inline YUVLayout yuvLayout() const noexcept { return YUVLayout(get(SubEnumField, SubEnumFieldWidth)); } 32020: constexpr inline uchar subEnum() const noexcept { return get(SubEnumField, SubEnumFieldWidth); } 32020: 32020: private: 32020: constexpr static inline ByteOrder resolveByteOrder(ByteOrder bo) 32020: { return bo == CurrentSystemEndian ? 1234 == 1234 ? LittleEndian : BigEndian : bo ; } 32020: 32020: private: 32020: quint64 data; 32020: 32020: friend __attribute__((const)) constexpr inline bool operator==(QPixelFormat fmt1, QPixelFormat fmt2) 32020: { return fmt1.data == fmt2.data; } 32020: 32020: friend __attribute__((const)) constexpr inline bool operator!=(QPixelFormat fmt1, QPixelFormat fmt2) 32020: { return !(fmt1 == fmt2); } 32020: }; 32020: static_assert(bool(sizeof(QPixelFormat) == sizeof(quint64)), "sizeof(QPixelFormat) == sizeof(quint64)"); 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPixelFormat)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPixelFormat >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPixelFormat) }; static inline const char *name() { return "QPixelFormat"; } }; 32020: 32020: 32020: namespace QtPrivate { 32020: QPixelFormat __attribute__((visibility("default"))) QPixelFormat_createYUV(QPixelFormat::YUVLayout yuvLayout, 32020: uchar alphaSize, 32020: QPixelFormat::AlphaUsage alphaUsage, 32020: QPixelFormat::AlphaPosition alphaPosition, 32020: QPixelFormat::AlphaPremultiplied premultiplied, 32020: QPixelFormat::TypeInterpretation typeInterpretation, 32020: QPixelFormat::ByteOrder byteOrder); 32020: } 32020: 32020: constexpr 32020: QPixelFormat::QPixelFormat(ColorModel mdl, 32020: uchar firstSize, 32020: uchar secondSize, 32020: uchar thirdSize, 32020: uchar fourthSize, 32020: uchar fifthSize, 32020: uchar alfa, 32020: AlphaUsage usage, 32020: AlphaPosition position, 32020: AlphaPremultiplied premult, 32020: TypeInterpretation typeInterp, 32020: ByteOrder b_order, 32020: uchar s_enum) noexcept 32020: : data(set(ModelField, ModelFieldWidth, uchar(mdl)) | 32020: set(FirstField, FirstFieldWidth, firstSize) | 32020: set(SecondField, SecondFieldWidth, secondSize) | 32020: set(ThirdField, ThirdFieldWidth, thirdSize) | 32020: set(FourthField, FourthFieldWidth, fourthSize) | 32020: set(FifthField, FifthFieldWidth, fifthSize) | 32020: set(AlphaField, AlphaFieldWidth, alfa) | 32020: set(AlphaUsageField, AlphaUsageFieldWidth, uchar(usage)) | 32020: set(AlphaPositionField, AlphaPositionFieldWidth, uchar(position)) | 32020: set(PremulField, PremulFieldWidth, uchar(premult)) | 32020: set(TypeInterpretationField, TypeInterpretationFieldWidth, uchar(typeInterp)) | 32020: set(ByteOrderField, ByteOrderFieldWidth, uchar(resolveByteOrder(b_order))) | 32020: set(SubEnumField, SubEnumFieldWidth, s_enum) | 32020: set(UnusedField, UnusedFieldWidth, 0)) 32020: { 32020: } 32020: 32020: constexpr inline QPixelFormat qPixelFormatRgba(uchar red, 32020: uchar green, 32020: uchar blue, 32020: uchar alfa, 32020: QPixelFormat::AlphaUsage usage, 32020: QPixelFormat::AlphaPosition position, 32020: QPixelFormat::AlphaPremultiplied pmul=QPixelFormat::NotPremultiplied, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 32020: { 32020: return QPixelFormat(QPixelFormat::RGB, 32020: red, 32020: green, 32020: blue, 32020: 0, 32020: 0, 32020: alfa, 32020: usage, 32020: position, 32020: pmul, 32020: typeInt); 32020: } 32020: 32020: constexpr inline QPixelFormat qPixelFormatGrayscale(uchar channelSize, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 32020: { 32020: return QPixelFormat(QPixelFormat::Grayscale, 32020: channelSize, 32020: 0, 32020: 0, 32020: 0, 32020: 0, 32020: 0, 32020: QPixelFormat::IgnoresAlpha, 32020: QPixelFormat::AtBeginning, 32020: QPixelFormat::NotPremultiplied, 32020: typeInt); 32020: } 32020: 32020: constexpr inline QPixelFormat qPixelFormatAlpha(uchar channelSize, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 32020: { 32020: return QPixelFormat(QPixelFormat::Alpha, 32020: 0, 32020: 0, 32020: 0, 32020: 0, 32020: 0, 32020: channelSize, 32020: QPixelFormat::UsesAlpha, 32020: QPixelFormat::AtBeginning, 32020: QPixelFormat::NotPremultiplied, 32020: typeInt); 32020: } 32020: 32020: constexpr inline QPixelFormat qPixelFormatCmyk(uchar channelSize, 32020: uchar alfa=0, 32020: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 32020: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 32020: { 32020: return QPixelFormat(QPixelFormat::CMYK, 32020: channelSize, 32020: channelSize, 32020: channelSize, 32020: channelSize, 32020: 0, 32020: alfa, 32020: usage, 32020: position, 32020: QPixelFormat::NotPremultiplied, 32020: typeInt); 32020: } 32020: 32020: constexpr inline QPixelFormat qPixelFormatHsl(uchar channelSize, 32020: uchar alfa=0, 32020: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 32020: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::FloatingPoint) noexcept 32020: { 32020: return QPixelFormat(QPixelFormat::HSL, 32020: channelSize, 32020: channelSize, 32020: channelSize, 32020: 0, 32020: 0, 32020: alfa, 32020: usage, 32020: position, 32020: QPixelFormat::NotPremultiplied, 32020: typeInt); 32020: } 32020: 32020: constexpr inline QPixelFormat qPixelFormatHsv(uchar channelSize, 32020: uchar alfa=0, 32020: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 32020: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::FloatingPoint) noexcept 32020: { 32020: return QPixelFormat(QPixelFormat::HSV, 32020: channelSize, 32020: channelSize, 32020: channelSize, 32020: 0, 32020: 0, 32020: alfa, 32020: usage, 32020: position, 32020: QPixelFormat::NotPremultiplied, 32020: typeInt); 32020: } 32020: 32020: inline QPixelFormat qPixelFormatYuv(QPixelFormat::YUVLayout layout, 32020: uchar alfa=0, 32020: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 32020: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 32020: QPixelFormat::AlphaPremultiplied p_mul=QPixelFormat::NotPremultiplied, 32020: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedByte, 32020: QPixelFormat::ByteOrder b_order=QPixelFormat::LittleEndian) 32020: { 32020: return QtPrivate::QPixelFormat_createYUV(layout, 32020: alfa, 32020: usage, 32020: position, 32020: p_mul, 32020: typeInt, 32020: b_order); 32020: } 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qmatrix.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qmatrix.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpolygon.h" 1 3 4 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpolygon.h" 3 4 32020: 32020: 32020: 32020: class QMatrix; 32020: class QTransform; 32020: class QRect; 32020: class QVariant; 32020: 32020: class __attribute__((visibility("default"))) QPolygon : public QVector 32020: { 32020: public: 32020: inline QPolygon() {} 32020: inline ~QPolygon() {} 32020: inline explicit QPolygon(int size); 32020: inline QPolygon(const QVector &v) : QVector(v) {} 32020: QPolygon(QVector &&v) noexcept : QVector(std::move(v)) {} 32020: QPolygon(const QRect &r, bool closed=false); 32020: QPolygon(int nPoints, const int *points); 32020: QPolygon(const QPolygon &other) : QVector(other) {} 32020: QPolygon(QPolygon &&other) noexcept : QVector(std::move(other)) {} 32020: QPolygon &operator=(QPolygon &&other) noexcept { swap(other); return *this; } 32020: QPolygon &operator=(const QPolygon &other) { QVector::operator=(other); return *this; } 32020: void swap(QPolygon &other) noexcept { QVector::swap(other); } 32020: 32020: operator QVariant() const; 32020: 32020: void translate(int dx, int dy); 32020: void translate(const QPoint &offset); 32020: 32020: [[nodiscard]] QPolygon translated(int dx, int dy) const; 32020: [[nodiscard]] inline QPolygon translated(const QPoint &offset) const; 32020: 32020: QRect boundingRect() const; 32020: 32020: void point(int i, int *x, int *y) const; 32020: QPoint point(int i) const; 32020: void setPoint(int index, int x, int y); 32020: void setPoint(int index, const QPoint &p); 32020: void setPoints(int nPoints, const int *points); 32020: void setPoints(int nPoints, int firstx, int firsty, ...); 32020: void putPoints(int index, int nPoints, const int *points); 32020: void putPoints(int index, int nPoints, int firstx, int firsty, ...); 32020: void putPoints(int index, int nPoints, const QPolygon & from, int fromIndex=0); 32020: 32020: bool containsPoint(const QPoint &pt, Qt::FillRule fillRule) const; 32020: 32020: [[nodiscard]] QPolygon united(const QPolygon &r) const; 32020: [[nodiscard]] QPolygon intersected(const QPolygon &r) const; 32020: [[nodiscard]] QPolygon subtracted(const QPolygon &r) const; 32020: 32020: bool intersects(const QPolygon &r) const; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPolygon)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPolygon >::value, isDummy = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPolygon) }; static inline const char *name() { return "QPolygon"; } }; inline void swap(QPolygon &value1, QPolygon &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: inline QPolygon::QPolygon(int asize) : QVector(asize) {} 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPolygon &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &stream, QPolygon &polygon); 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline void QPolygon::setPoint(int index, const QPoint &pt) 32020: { (*this)[index] = pt; } 32020: 32020: inline void QPolygon::setPoint(int index, int x, int y) 32020: { (*this)[index] = QPoint(x, y); } 32020: 32020: inline QPoint QPolygon::point(int index) const 32020: { return at(index); } 32020: 32020: inline void QPolygon::translate(const QPoint &offset) 32020: { translate(offset.x(), offset.y()); } 32020: 32020: inline QPolygon QPolygon::translated(const QPoint &offset) const 32020: { return translated(offset.x(), offset.y()); } 32020: 32020: class QRectF; 32020: 32020: class __attribute__((visibility("default"))) QPolygonF : public QVector 32020: { 32020: public: 32020: inline QPolygonF() {} 32020: inline ~QPolygonF() {} 32020: inline explicit QPolygonF(int size); 32020: inline QPolygonF(const QVector &v) : QVector(v) {} 32020: QPolygonF(QVector &&v) noexcept : QVector(std::move(v)) {} 32020: QPolygonF(const QRectF &r); 32020: QPolygonF(const QPolygon &a); 32020: inline QPolygonF(const QPolygonF &a) : QVector(a) {} 32020: QPolygonF(QPolygonF &&other) noexcept : QVector(std::move(other)) {} 32020: QPolygonF &operator=(QPolygonF &&other) noexcept { swap(other); return *this; } 32020: QPolygonF &operator=(const QPolygonF &other) { QVector::operator=(other); return *this; } 32020: inline void swap(QPolygonF &other) { QVector::swap(other); } 32020: 32020: operator QVariant() const; 32020: 32020: inline void translate(qreal dx, qreal dy); 32020: void translate(const QPointF &offset); 32020: 32020: inline QPolygonF translated(qreal dx, qreal dy) const; 32020: [[nodiscard]] QPolygonF translated(const QPointF &offset) const; 32020: 32020: QPolygon toPolygon() const; 32020: 32020: bool isClosed() const { return !isEmpty() && first() == last(); } 32020: 32020: QRectF boundingRect() const; 32020: 32020: bool containsPoint(const QPointF &pt, Qt::FillRule fillRule) const; 32020: 32020: [[nodiscard]] QPolygonF united(const QPolygonF &r) const; 32020: [[nodiscard]] QPolygonF intersected(const QPolygonF &r) const; 32020: [[nodiscard]] QPolygonF subtracted(const QPolygonF &r) const; 32020: 32020: bool intersects(const QPolygonF &r) const; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPolygonF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPolygonF >::value, isDummy = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPolygonF) }; static inline const char *name() { return "QPolygonF"; } }; inline void swap(QPolygonF &value1, QPolygonF &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: inline QPolygonF::QPolygonF(int asize) : QVector(asize) {} 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPolygonF &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &stream, const QPolygonF &array); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &stream, QPolygonF &array); 32020: 32020: 32020: inline void QPolygonF::translate(qreal dx, qreal dy) 32020: { translate(QPointF(dx, dy)); } 32020: 32020: inline QPolygonF QPolygonF::translated(qreal dx, qreal dy) const 32020: { return translated(QPointF(dx, dy)); } 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qmatrix.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qregion.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qregion.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qregion.h" 2 3 4 32020: 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 1 3 4 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: 32020: 32020: 32020: class QByteArray; 32020: class QIODevicePrivate; 32020: 32020: class __attribute__((visibility("default"))) QIODevice 32020: 32020: : public QObject 32020: 32020: { 32020: 32020: public: 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: 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: 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 68 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: struct QPrivateSignal {}; 32020: 32020: public: 32020: enum OpenModeFlag { 32020: NotOpen = 0x0000, 32020: ReadOnly = 0x0001, 32020: WriteOnly = 0x0002, 32020: ReadWrite = ReadOnly | WriteOnly, 32020: Append = 0x0004, 32020: Truncate = 0x0008, 32020: Text = 0x0010, 32020: Unbuffered = 0x0020, 32020: NewOnly = 0x0040, 32020: ExistingOnly = 0x0080 32020: }; 32020: typedef QFlags OpenMode; 32020: 32020: QIODevice(); 32020: 32020: explicit QIODevice(QObject *parent); 32020: 32020: virtual ~QIODevice(); 32020: 32020: OpenMode openMode() const; 32020: 32020: void setTextModeEnabled(bool enabled); 32020: bool isTextModeEnabled() const; 32020: 32020: bool isOpen() const; 32020: bool isReadable() const; 32020: bool isWritable() const; 32020: virtual bool isSequential() const; 32020: 32020: int readChannelCount() const; 32020: int writeChannelCount() const; 32020: int currentReadChannel() const; 32020: void setCurrentReadChannel(int channel); 32020: int currentWriteChannel() const; 32020: void setCurrentWriteChannel(int channel); 32020: 32020: virtual bool open(OpenMode mode); 32020: virtual void close(); 32020: 32020: 32020: 32020: virtual qint64 pos() const; 32020: virtual qint64 size() const; 32020: virtual bool seek(qint64 pos); 32020: virtual bool atEnd() const; 32020: virtual bool reset(); 32020: 32020: virtual qint64 bytesAvailable() const; 32020: virtual qint64 bytesToWrite() const; 32020: 32020: qint64 read(char *data, qint64 maxlen); 32020: QByteArray read(qint64 maxlen); 32020: QByteArray readAll(); 32020: qint64 readLine(char *data, qint64 maxlen); 32020: QByteArray readLine(qint64 maxlen = 0); 32020: virtual bool canReadLine() const; 32020: 32020: void startTransaction(); 32020: void commitTransaction(); 32020: void rollbackTransaction(); 32020: bool isTransactionStarted() const; 32020: 32020: qint64 write(const char *data, qint64 len); 32020: qint64 write(const char *data); 32020: inline qint64 write(const QByteArray &data) 32020: { return write(data.constData(), data.size()); } 32020: 32020: qint64 peek(char *data, qint64 maxlen); 32020: QByteArray peek(qint64 maxlen); 32020: qint64 skip(qint64 maxSize); 32020: 32020: virtual bool waitForReadyRead(int msecs); 32020: virtual bool waitForBytesWritten(int msecs); 32020: 32020: void ungetChar(char c); 32020: bool putChar(char c); 32020: bool getChar(char *c); 32020: 32020: QString errorString() const; 32020: 32020: 32020: public : 32020: void readyRead(); 32020: void channelReadyRead(int channel); 32020: void bytesWritten(qint64 bytes); 32020: void channelBytesWritten(int channel, qint64 bytes); 32020: void aboutToClose(); 32020: void readChannelFinished(); 32020: 32020: 32020: protected: 32020: 32020: 32020: 32020: QIODevice(QIODevicePrivate &dd, QObject *parent = nullptr); 32020: 32020: virtual qint64 readData(char *data, qint64 maxlen) = 0; 32020: virtual qint64 readLineData(char *data, qint64 maxlen); 32020: virtual qint64 writeData(const char *data, qint64 len) = 0; 32020: 32020: void setOpenMode(OpenMode openMode); 32020: 32020: void setErrorString(const QString &errorString); 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: inline QIODevicePrivate* d_func() { 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: } inline const QIODevicePrivate* d_func() const { 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 181 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qiodevice.h" 3 4 32020: } friend class QIODevicePrivate; 32020: QIODevice(const QIODevice &) = delete; QIODevice &operator=(const QIODevice &) = delete; 32020: }; 32020: 32020: 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); } 32020: 32020: 32020: class QDebug; 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug debug, QIODevice::OpenMode modes); 32020: 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class qfloat16; 32020: class QByteArray; 32020: class QIODevice; 32020: 32020: template class QList; 32020: template class QVector; 32020: template class QSet; 32020: template class QHash; 32020: template class QMap; 32020: 32020: 32020: class QDataStreamPrivate; 32020: namespace QtPrivate { 32020: class StreamStateSaver; 32020: } 32020: class __attribute__((visibility("default"))) QDataStream 32020: { 32020: public: 32020: enum Version { 32020: Qt_1_0 = 1, 32020: Qt_2_0 = 2, 32020: Qt_2_1 = 3, 32020: Qt_3_0 = 4, 32020: Qt_3_1 = 5, 32020: Qt_3_3 = 6, 32020: Qt_4_0 = 7, 32020: Qt_4_1 = Qt_4_0, 32020: Qt_4_2 = 8, 32020: Qt_4_3 = 9, 32020: Qt_4_4 = 10, 32020: Qt_4_5 = 11, 32020: Qt_4_6 = 12, 32020: Qt_4_7 = Qt_4_6, 32020: Qt_4_8 = Qt_4_7, 32020: Qt_4_9 = Qt_4_8, 32020: Qt_5_0 = 13, 32020: Qt_5_1 = 14, 32020: Qt_5_2 = 15, 32020: Qt_5_3 = Qt_5_2, 32020: Qt_5_4 = 16, 32020: Qt_5_5 = Qt_5_4, 32020: Qt_5_6 = 17, 32020: Qt_5_7 = Qt_5_6, 32020: Qt_5_8 = Qt_5_7, 32020: Qt_5_9 = Qt_5_8, 32020: Qt_5_10 = Qt_5_9, 32020: Qt_5_11 = Qt_5_10, 32020: Qt_5_12 = 18, 32020: Qt_5_13 = 19, 32020: Qt_5_14 = Qt_5_13, 32020: 32020: Qt_5_15 = Qt_5_14, 32020: Qt_DefaultCompiledVersion = Qt_5_15 32020: # 115 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: }; 32020: 32020: enum ByteOrder { 32020: BigEndian = QSysInfo::BigEndian, 32020: LittleEndian = QSysInfo::LittleEndian 32020: }; 32020: 32020: enum Status { 32020: Ok, 32020: ReadPastEnd, 32020: ReadCorruptData, 32020: WriteFailed 32020: }; 32020: 32020: enum FloatingPointPrecision { 32020: SinglePrecision, 32020: DoublePrecision 32020: }; 32020: 32020: QDataStream(); 32020: explicit QDataStream(QIODevice *); 32020: QDataStream(QByteArray *, QIODevice::OpenMode flags); 32020: QDataStream(const QByteArray &); 32020: ~QDataStream(); 32020: 32020: QIODevice *device() const; 32020: void setDevice(QIODevice *); 32020: 32020: __attribute__ ((__deprecated__("Use QDataStream::setDevice(nullptr) instead"))) 32020: void unsetDevice(); 32020: 32020: 32020: bool atEnd() const; 32020: 32020: Status status() const; 32020: void setStatus(Status status); 32020: void resetStatus(); 32020: 32020: FloatingPointPrecision floatingPointPrecision() const; 32020: void setFloatingPointPrecision(FloatingPointPrecision precision); 32020: 32020: ByteOrder byteOrder() const; 32020: void setByteOrder(ByteOrder); 32020: 32020: int version() const; 32020: void setVersion(int); 32020: 32020: QDataStream &operator>>(qint8 &i); 32020: QDataStream &operator>>(quint8 &i); 32020: QDataStream &operator>>(qint16 &i); 32020: QDataStream &operator>>(quint16 &i); 32020: QDataStream &operator>>(qint32 &i); 32020: inline QDataStream &operator>>(quint32 &i); 32020: QDataStream &operator>>(qint64 &i); 32020: QDataStream &operator>>(quint64 &i); 32020: QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; } 32020: 32020: QDataStream &operator>>(bool &i); 32020: QDataStream &operator>>(qfloat16 &f); 32020: QDataStream &operator>>(float &f); 32020: QDataStream &operator>>(double &f); 32020: QDataStream &operator>>(char *&str); 32020: 32020: QDataStream &operator<<(qint8 i); 32020: QDataStream &operator<<(quint8 i); 32020: QDataStream &operator<<(qint16 i); 32020: QDataStream &operator<<(quint16 i); 32020: QDataStream &operator<<(qint32 i); 32020: inline QDataStream &operator<<(quint32 i); 32020: QDataStream &operator<<(qint64 i); 32020: QDataStream &operator<<(quint64 i); 32020: QDataStream &operator<<(std::nullptr_t) { return *this; } 32020: QDataStream &operator<<(bool i); 32020: QDataStream &operator<<(qfloat16 f); 32020: QDataStream &operator<<(float f); 32020: QDataStream &operator<<(double f); 32020: QDataStream &operator<<(const char *str); 32020: 32020: QDataStream &readBytes(char *&, uint &len); 32020: int readRawData(char *, int len); 32020: 32020: QDataStream &writeBytes(const char *, uint len); 32020: int writeRawData(const char *, int len); 32020: 32020: int skipRawData(int len); 32020: 32020: void startTransaction(); 32020: bool commitTransaction(); 32020: void rollbackTransaction(); 32020: void abortTransaction(); 32020: 32020: private: 32020: QDataStream(const QDataStream &) = delete; QDataStream &operator=(const QDataStream &) = delete; 32020: 32020: QScopedPointer d; 32020: 32020: QIODevice *dev; 32020: bool owndev; 32020: bool noswap; 32020: ByteOrder byteorder; 32020: int ver; 32020: Status q_status; 32020: 32020: int readBlock(char *data, int len); 32020: friend class QtPrivate::StreamStateSaver; 32020: }; 32020: 32020: namespace QtPrivate { 32020: 32020: class StreamStateSaver 32020: { 32020: public: 32020: inline StreamStateSaver(QDataStream *s) : stream(s), oldStatus(s->status()) 32020: { 32020: if (!stream->dev || !stream->dev->isTransactionStarted()) 32020: stream->resetStatus(); 32020: } 32020: inline ~StreamStateSaver() 32020: { 32020: if (oldStatus != QDataStream::Ok) { 32020: stream->resetStatus(); 32020: stream->setStatus(oldStatus); 32020: } 32020: } 32020: 32020: private: 32020: QDataStream *stream; 32020: QDataStream::Status oldStatus; 32020: }; 32020: 32020: template 32020: QDataStream &readArrayBasedContainer(QDataStream &s, Container &c) 32020: { 32020: StreamStateSaver stateSaver(&s); 32020: 32020: c.clear(); 32020: quint32 n; 32020: s >> n; 32020: c.reserve(n); 32020: for (quint32 i = 0; i < n; ++i) { 32020: typename Container::value_type t; 32020: s >> t; 32020: if (s.status() != QDataStream::Ok) { 32020: c.clear(); 32020: break; 32020: } 32020: c.append(t); 32020: } 32020: 32020: return s; 32020: } 32020: 32020: template 32020: QDataStream &readListBasedContainer(QDataStream &s, Container &c) 32020: { 32020: StreamStateSaver stateSaver(&s); 32020: 32020: c.clear(); 32020: quint32 n; 32020: s >> n; 32020: for (quint32 i = 0; i < n; ++i) { 32020: typename Container::value_type t; 32020: s >> t; 32020: if (s.status() != QDataStream::Ok) { 32020: c.clear(); 32020: break; 32020: } 32020: c << t; 32020: } 32020: 32020: return s; 32020: } 32020: 32020: template 32020: struct MultiContainer { using type = T; }; 32020: template 32020: struct MultiContainer> { using type = QMultiMap; }; 32020: template 32020: struct MultiContainer> { using type = QMultiHash; }; 32020: 32020: template 32020: QDataStream &readAssociativeContainer(QDataStream &s, Container &c) 32020: { 32020: StreamStateSaver stateSaver(&s); 32020: 32020: c.clear(); 32020: quint32 n; 32020: s >> n; 32020: for (quint32 i = 0; i < n; ++i) { 32020: typename Container::key_type k; 32020: typename Container::mapped_type t; 32020: s >> k >> t; 32020: if (s.status() != QDataStream::Ok) { 32020: c.clear(); 32020: break; 32020: } 32020: static_cast::type &>(c).insert(k, t); 32020: } 32020: 32020: return s; 32020: } 32020: 32020: template 32020: QDataStream &writeSequentialContainer(QDataStream &s, const Container &c) 32020: { 32020: s << quint32(c.size()); 32020: for (const typename Container::value_type &t : c) 32020: s << t; 32020: 32020: return s; 32020: } 32020: 32020: template 32020: QDataStream &writeAssociativeContainer(QDataStream &s, const Container &c) 32020: { 32020: s << quint32(c.size()); 32020: 32020: 32020: 32020: 32020: auto it = c.constEnd(); 32020: auto begin = c.constBegin(); 32020: while (it != begin) { 32020: 32020: # 338 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 338 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: 32020: 32020: # 339 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: # 339 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: 32020: --it; 32020: 32020: # 341 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 341 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: 32020: s << it.key() << it.value(); 32020: } 32020: # 359 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qdatastream.h" 3 4 32020: return s; 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: inline QIODevice *QDataStream::device() const 32020: { return dev; } 32020: 32020: inline QDataStream::ByteOrder QDataStream::byteOrder() const 32020: { return byteorder; } 32020: 32020: inline int QDataStream::version() const 32020: { return ver; } 32020: 32020: inline void QDataStream::setVersion(int v) 32020: { ver = v; } 32020: 32020: inline QDataStream &QDataStream::operator>>(quint8 &i) 32020: { return *this >> reinterpret_cast(i); } 32020: 32020: inline QDataStream &QDataStream::operator>>(quint16 &i) 32020: { return *this >> reinterpret_cast(i); } 32020: 32020: inline QDataStream &QDataStream::operator>>(quint32 &i) 32020: { return *this >> reinterpret_cast(i); } 32020: 32020: inline QDataStream &QDataStream::operator>>(quint64 &i) 32020: { return *this >> reinterpret_cast(i); } 32020: 32020: inline QDataStream &QDataStream::operator<<(quint8 i) 32020: { return *this << qint8(i); } 32020: 32020: inline QDataStream &QDataStream::operator<<(quint16 i) 32020: { return *this << qint16(i); } 32020: 32020: inline QDataStream &QDataStream::operator<<(quint32 i) 32020: { return *this << qint32(i); } 32020: 32020: inline QDataStream &QDataStream::operator<<(quint64 i) 32020: { return *this << qint64(i); } 32020: 32020: template 32020: inline QDataStream &operator<<(QDataStream &s, QFlags e) 32020: { return s << e.i; } 32020: 32020: template 32020: inline QDataStream &operator>>(QDataStream &s, QFlags &e) 32020: { return s >> e.i; } 32020: 32020: template 32020: typename std::enable_if::value, QDataStream &>::type& 32020: operator<<(QDataStream &s, const T &t) 32020: { return s << static_cast::type>(t); } 32020: 32020: template 32020: typename std::enable_if::value, QDataStream &>::type& 32020: operator>>(QDataStream &s, T &t) 32020: { return s >> reinterpret_cast::type &>(t); } 32020: 32020: template 32020: inline QDataStream &operator>>(QDataStream &s, QList &l) 32020: { 32020: return QtPrivate::readArrayBasedContainer(s, l); 32020: } 32020: 32020: template 32020: inline QDataStream &operator<<(QDataStream &s, const QList &l) 32020: { 32020: return QtPrivate::writeSequentialContainer(s, l); 32020: } 32020: 32020: template 32020: inline QDataStream &operator>>(QDataStream &s, QVector &v) 32020: { 32020: return QtPrivate::readArrayBasedContainer(s, v); 32020: } 32020: 32020: template 32020: inline QDataStream &operator<<(QDataStream &s, const QVector &v) 32020: { 32020: return QtPrivate::writeSequentialContainer(s, v); 32020: } 32020: 32020: template 32020: inline QDataStream &operator>>(QDataStream &s, QSet &set) 32020: { 32020: return QtPrivate::readListBasedContainer(s, set); 32020: } 32020: 32020: template 32020: inline QDataStream &operator<<(QDataStream &s, const QSet &set) 32020: { 32020: return QtPrivate::writeSequentialContainer(s, set); 32020: } 32020: 32020: template 32020: inline QDataStream &operator>>(QDataStream &s, QHash &hash) 32020: { 32020: return QtPrivate::readAssociativeContainer(s, hash); 32020: } 32020: 32020: template 32020: inline QDataStream &operator<<(QDataStream &s, const QHash &hash) 32020: { 32020: return QtPrivate::writeAssociativeContainer(s, hash); 32020: } 32020: 32020: template 32020: inline QDataStream &operator>>(QDataStream &s, QMap &map) 32020: { 32020: return QtPrivate::readAssociativeContainer(s, map); 32020: } 32020: 32020: template 32020: inline QDataStream &operator<<(QDataStream &s, const QMap &map) 32020: { 32020: return QtPrivate::writeAssociativeContainer(s, map); 32020: } 32020: 32020: 32020: template 32020: inline QDataStream& operator>>(QDataStream& s, QPair& p) 32020: { 32020: s >> p.first >> p.second; 32020: return s; 32020: } 32020: 32020: template 32020: inline QDataStream& operator<<(QDataStream& s, const QPair& p) 32020: { 32020: s << p.first << p.second; 32020: return s; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qregion.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: template class QVector; 32020: class QVariant; 32020: 32020: struct QRegionPrivate; 32020: 32020: class QBitmap; 32020: 32020: class __attribute__((visibility("default"))) QRegion 32020: { 32020: public: 32020: enum RegionType { Rectangle, Ellipse }; 32020: 32020: QRegion(); 32020: QRegion(int x, int y, int w, int h, RegionType t = Rectangle); 32020: QRegion(const QRect &r, RegionType t = Rectangle); 32020: QRegion(const QPolygon &pa, Qt::FillRule fillRule = Qt::OddEvenFill); 32020: QRegion(const QRegion ®ion); 32020: QRegion(QRegion &&other) noexcept 32020: : d(other.d) { other.d = const_cast(&shared_empty); } 32020: QRegion(const QBitmap &bitmap); 32020: ~QRegion(); 32020: QRegion &operator=(const QRegion &); 32020: inline QRegion &operator=(QRegion &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: inline void swap(QRegion &other) noexcept { qSwap(d, other.d); } 32020: bool isEmpty() const; 32020: bool isNull() const; 32020: 32020: typedef const QRect *const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: const_iterator begin() const noexcept; 32020: const_iterator cbegin() const noexcept { return begin(); } 32020: const_iterator end() const noexcept; 32020: const_iterator cend() const noexcept { return end(); } 32020: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator crbegin() const noexcept { return rbegin(); } 32020: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator crend() const noexcept { return rend(); } 32020: 32020: bool contains(const QPoint &p) const; 32020: bool contains(const QRect &r) const; 32020: 32020: void translate(int dx, int dy); 32020: inline void translate(const QPoint &p) { translate(p.x(), p.y()); } 32020: [[nodiscard]] QRegion translated(int dx, int dy) const; 32020: [[nodiscard]] inline QRegion translated(const QPoint &p) const { return translated(p.x(), p.y()); } 32020: 32020: [[nodiscard]] QRegion united(const QRegion &r) const; 32020: [[nodiscard]] QRegion united(const QRect &r) const; 32020: [[nodiscard]] QRegion intersected(const QRegion &r) const; 32020: [[nodiscard]] QRegion intersected(const QRect &r) const; 32020: [[nodiscard]] QRegion subtracted(const QRegion &r) const; 32020: [[nodiscard]] QRegion xored(const QRegion &r) const; 32020: # 119 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qregion.h" 3 4 32020: bool intersects(const QRegion &r) const; 32020: bool intersects(const QRect &r) const; 32020: 32020: QRect boundingRect() const noexcept; 32020: 32020: __attribute__ ((__deprecated__("Use begin()/end() instead"))) 32020: QVector rects() const; 32020: 32020: void setRects(const QRect *rect, int num); 32020: int rectCount() const noexcept; 32020: # 139 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qregion.h" 3 4 32020: QRegion operator|(const QRegion &r) const; 32020: QRegion operator+(const QRegion &r) const; 32020: QRegion operator+(const QRect &r) const; 32020: QRegion operator&(const QRegion &r) const; 32020: QRegion operator&(const QRect &r) const; 32020: QRegion operator-(const QRegion &r) const; 32020: QRegion operator^(const QRegion &r) const; 32020: 32020: QRegion& operator|=(const QRegion &r); 32020: QRegion& operator+=(const QRegion &r); 32020: QRegion& operator+=(const QRect &r); 32020: QRegion& operator&=(const QRegion &r); 32020: QRegion& operator&=(const QRect &r); 32020: QRegion& operator-=(const QRegion &r); 32020: QRegion& operator^=(const QRegion &r); 32020: 32020: bool operator==(const QRegion &r) const; 32020: inline bool operator!=(const QRegion &r) const { return !(operator==(r)); } 32020: operator QVariant() const; 32020: 32020: 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); 32020: 32020: private: 32020: QRegion copy() const; 32020: void detach(); 32020: __attribute__((visibility("default"))) 32020: friend bool qt_region_strictContains(const QRegion ®ion, 32020: const QRect &rect); 32020: friend struct QRegionPrivate; 32020: 32020: 32020: void exec(const QByteArray &ba, int ver = 0, QDataStream::ByteOrder byteOrder = QDataStream::BigEndian); 32020: 32020: struct QRegionData { 32020: QtPrivate::RefCount ref; 32020: QRegionPrivate *qt_rgn; 32020: }; 32020: struct QRegionData *d; 32020: static const struct QRegionData shared_empty; 32020: static void cleanUp(QRegionData *x); 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QRegion)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRegion >::value, isDummy = (((((5<<16)|(15<<8)|(2)) >= ((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); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegion &); 32020: 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qmatrix.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qline.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qline.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QLine 32020: { 32020: public: 32020: constexpr inline QLine(); 32020: constexpr inline QLine(const QPoint &pt1, const QPoint &pt2); 32020: constexpr inline QLine(int x1, int y1, int x2, int y2); 32020: 32020: constexpr inline bool isNull() const; 32020: 32020: constexpr inline QPoint p1() const; 32020: constexpr inline QPoint p2() const; 32020: 32020: constexpr inline int x1() const; 32020: constexpr inline int y1() const; 32020: 32020: constexpr inline int x2() const; 32020: constexpr inline int y2() const; 32020: 32020: constexpr inline int dx() const; 32020: constexpr inline int dy() const; 32020: 32020: inline void translate(const QPoint &p); 32020: inline void translate(int dx, int dy); 32020: 32020: [[nodiscard]] constexpr inline QLine translated(const QPoint &p) const; 32020: [[nodiscard]] constexpr inline QLine translated(int dx, int dy) const; 32020: 32020: [[nodiscard]] constexpr inline QPoint center() const; 32020: 32020: inline void setP1(const QPoint &p1); 32020: inline void setP2(const QPoint &p2); 32020: inline void setPoints(const QPoint &p1, const QPoint &p2); 32020: inline void setLine(int x1, int y1, int x2, int y2); 32020: 32020: constexpr inline bool operator==(const QLine &d) const; 32020: constexpr inline bool operator!=(const QLine &d) const { return !(*this == d); } 32020: 32020: private: 32020: QPoint pt1, pt2; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QLine)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QLine >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QLine) }; static inline const char *name() { return "QLine"; } }; 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QLine::QLine() { } 32020: 32020: constexpr inline QLine::QLine(const QPoint &pt1_, const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { } 32020: 32020: constexpr inline QLine::QLine(int x1pos, int y1pos, int x2pos, int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { } 32020: 32020: constexpr inline bool QLine::isNull() const 32020: { 32020: return pt1 == pt2; 32020: } 32020: 32020: constexpr inline int QLine::x1() const 32020: { 32020: return pt1.x(); 32020: } 32020: 32020: constexpr inline int QLine::y1() const 32020: { 32020: return pt1.y(); 32020: } 32020: 32020: constexpr inline int QLine::x2() const 32020: { 32020: return pt2.x(); 32020: } 32020: 32020: constexpr inline int QLine::y2() const 32020: { 32020: return pt2.y(); 32020: } 32020: 32020: constexpr inline QPoint QLine::p1() const 32020: { 32020: return pt1; 32020: } 32020: 32020: constexpr inline QPoint QLine::p2() const 32020: { 32020: return pt2; 32020: } 32020: 32020: constexpr inline int QLine::dx() const 32020: { 32020: return pt2.x() - pt1.x(); 32020: } 32020: 32020: constexpr inline int QLine::dy() const 32020: { 32020: return pt2.y() - pt1.y(); 32020: } 32020: 32020: inline void QLine::translate(const QPoint &point) 32020: { 32020: pt1 += point; 32020: pt2 += point; 32020: } 32020: 32020: inline void QLine::translate(int adx, int ady) 32020: { 32020: this->translate(QPoint(adx, ady)); 32020: } 32020: 32020: constexpr inline QLine QLine::translated(const QPoint &p) const 32020: { 32020: return QLine(pt1 + p, pt2 + p); 32020: } 32020: 32020: constexpr inline QLine QLine::translated(int adx, int ady) const 32020: { 32020: return translated(QPoint(adx, ady)); 32020: } 32020: 32020: constexpr inline QPoint QLine::center() const 32020: { 32020: return QPoint(int((qint64(pt1.x()) + pt2.x()) / 2), int((qint64(pt1.y()) + pt2.y()) / 2)); 32020: } 32020: 32020: inline void QLine::setP1(const QPoint &aP1) 32020: { 32020: pt1 = aP1; 32020: } 32020: 32020: inline void QLine::setP2(const QPoint &aP2) 32020: { 32020: pt2 = aP2; 32020: } 32020: 32020: inline void QLine::setPoints(const QPoint &aP1, const QPoint &aP2) 32020: { 32020: pt1 = aP1; 32020: pt2 = aP2; 32020: } 32020: 32020: inline void QLine::setLine(int aX1, int aY1, int aX2, int aY2) 32020: { 32020: pt1 = QPoint(aX1, aY1); 32020: pt2 = QPoint(aX2, aY2); 32020: } 32020: 32020: constexpr inline bool QLine::operator==(const QLine &d) const 32020: { 32020: return pt1 == d.pt1 && pt2 == d.pt2; 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QLine &p); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLine &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLine &); 32020: 32020: 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QLineF { 32020: public: 32020: 32020: enum IntersectType { NoIntersection, BoundedIntersection, UnboundedIntersection }; 32020: using IntersectionType = IntersectType; 32020: 32020: constexpr inline QLineF(); 32020: constexpr inline QLineF(const QPointF &pt1, const QPointF &pt2); 32020: constexpr inline QLineF(qreal x1, qreal y1, qreal x2, qreal y2); 32020: constexpr inline QLineF(const QLine &line) : pt1(line.p1()), pt2(line.p2()) { } 32020: 32020: [[nodiscard]] static QLineF fromPolar(qreal length, qreal angle); 32020: 32020: constexpr bool isNull() const; 32020: 32020: constexpr inline QPointF p1() const; 32020: constexpr inline QPointF p2() const; 32020: 32020: constexpr inline qreal x1() const; 32020: constexpr inline qreal y1() const; 32020: 32020: constexpr inline qreal x2() const; 32020: constexpr inline qreal y2() const; 32020: 32020: constexpr inline qreal dx() const; 32020: constexpr inline qreal dy() const; 32020: 32020: qreal length() const; 32020: void setLength(qreal len); 32020: 32020: qreal angle() const; 32020: void setAngle(qreal angle); 32020: 32020: qreal angleTo(const QLineF &l) const; 32020: 32020: [[nodiscard]] QLineF unitVector() const; 32020: [[nodiscard]] constexpr inline QLineF normalVector() const; 32020: 32020: IntersectionType intersects(const QLineF &l, QPointF *intersectionPoint) const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use intersects() instead"))) 32020: IntersectType intersect(const QLineF &l, QPointF *intersectionPoint) const; 32020: __attribute__ ((__deprecated__("Use qMin(l1.angleTo(l2), l2.angleTo(l1)) instead"))) 32020: qreal angle(const QLineF &l) const; 32020: 32020: 32020: constexpr inline QPointF pointAt(qreal t) const; 32020: inline void translate(const QPointF &p); 32020: inline void translate(qreal dx, qreal dy); 32020: 32020: [[nodiscard]] constexpr inline QLineF translated(const QPointF &p) const; 32020: [[nodiscard]] constexpr inline QLineF translated(qreal dx, qreal dy) const; 32020: 32020: [[nodiscard]] constexpr inline QPointF center() const; 32020: 32020: inline void setP1(const QPointF &p1); 32020: inline void setP2(const QPointF &p2); 32020: inline void setPoints(const QPointF &p1, const QPointF &p2); 32020: inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2); 32020: 32020: constexpr inline bool operator==(const QLineF &d) const; 32020: constexpr inline bool operator!=(const QLineF &d) const { return !(*this == d); } 32020: 32020: constexpr QLine toLine() const; 32020: 32020: private: 32020: QPointF pt1, pt2; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QLineF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QLineF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QLineF) }; static inline const char *name() { return "QLineF"; } }; 32020: 32020: 32020: 32020: 32020: 32020: constexpr inline QLineF::QLineF() 32020: { 32020: } 32020: 32020: constexpr inline QLineF::QLineF(const QPointF &apt1, const QPointF &apt2) 32020: : pt1(apt1), pt2(apt2) 32020: { 32020: } 32020: 32020: constexpr inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos) 32020: : pt1(x1pos, y1pos), pt2(x2pos, y2pos) 32020: { 32020: } 32020: 32020: constexpr inline qreal QLineF::x1() const 32020: { 32020: return pt1.x(); 32020: } 32020: 32020: constexpr inline qreal QLineF::y1() const 32020: { 32020: return pt1.y(); 32020: } 32020: 32020: constexpr inline qreal QLineF::x2() const 32020: { 32020: return pt2.x(); 32020: } 32020: 32020: constexpr inline qreal QLineF::y2() const 32020: { 32020: return pt2.y(); 32020: } 32020: 32020: constexpr inline bool QLineF::isNull() const 32020: { 32020: return qFuzzyCompare(pt1.x(), pt2.x()) && qFuzzyCompare(pt1.y(), pt2.y()); 32020: } 32020: 32020: constexpr inline QPointF QLineF::p1() const 32020: { 32020: return pt1; 32020: } 32020: 32020: constexpr inline QPointF QLineF::p2() const 32020: { 32020: return pt2; 32020: } 32020: 32020: constexpr inline qreal QLineF::dx() const 32020: { 32020: return pt2.x() - pt1.x(); 32020: } 32020: 32020: constexpr inline qreal QLineF::dy() const 32020: { 32020: return pt2.y() - pt1.y(); 32020: } 32020: 32020: constexpr inline QLineF QLineF::normalVector() const 32020: { 32020: return QLineF(p1(), p1() + QPointF(dy(), -dx())); 32020: } 32020: 32020: inline void QLineF::translate(const QPointF &point) 32020: { 32020: pt1 += point; 32020: pt2 += point; 32020: } 32020: 32020: inline void QLineF::translate(qreal adx, qreal ady) 32020: { 32020: this->translate(QPointF(adx, ady)); 32020: } 32020: 32020: constexpr inline QLineF QLineF::translated(const QPointF &p) const 32020: { 32020: return QLineF(pt1 + p, pt2 + p); 32020: } 32020: 32020: constexpr inline QLineF QLineF::translated(qreal adx, qreal ady) const 32020: { 32020: return translated(QPointF(adx, ady)); 32020: } 32020: 32020: constexpr inline QPointF QLineF::center() const 32020: { 32020: return QPointF(0.5 * pt1.x() + 0.5 * pt2.x(), 0.5 * pt1.y() + 0.5 * pt2.y()); 32020: } 32020: 32020: inline void QLineF::setLength(qreal len) 32020: { 32020: if (isNull()) 32020: return; 32020: static_cast(false && (length() > 0)); 32020: const QLineF v = unitVector(); 32020: len /= v.length(); 32020: pt2 = QPointF(pt1.x() + len * v.dx(), pt1.y() + len * v.dy()); 32020: } 32020: 32020: constexpr inline QPointF QLineF::pointAt(qreal t) const 32020: { 32020: return QPointF(pt1.x() + (pt2.x() - pt1.x()) * t, pt1.y() + (pt2.y() - pt1.y()) * t); 32020: } 32020: 32020: constexpr inline QLine QLineF::toLine() const 32020: { 32020: return QLine(pt1.toPoint(), pt2.toPoint()); 32020: } 32020: 32020: 32020: inline void QLineF::setP1(const QPointF &aP1) 32020: { 32020: pt1 = aP1; 32020: } 32020: 32020: inline void QLineF::setP2(const QPointF &aP2) 32020: { 32020: pt2 = aP2; 32020: } 32020: 32020: inline void QLineF::setPoints(const QPointF &aP1, const QPointF &aP2) 32020: { 32020: pt1 = aP1; 32020: pt2 = aP2; 32020: } 32020: 32020: inline void QLineF::setLine(qreal aX1, qreal aY1, qreal aX2, qreal aY2) 32020: { 32020: pt1 = QPointF(aX1, aY1); 32020: pt2 = QPointF(aX2, aY2); 32020: } 32020: 32020: 32020: constexpr inline bool QLineF::operator==(const QLineF &d) const 32020: { 32020: return pt1 == d.pt1 && pt2 == d.pt2; 32020: } 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QLineF &p); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLineF &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLineF &); 32020: 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qmatrix.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QPainterPath; 32020: class QVariant; 32020: 32020: class __attribute__((visibility("default"))) QMatrix 32020: { 32020: public: 32020: inline explicit QMatrix(Qt::Initialization) {} 32020: QMatrix(); 32020: QMatrix(qreal m11, qreal m12, qreal m21, qreal m22, 32020: qreal dx, qreal dy); 32020: 32020: 32020: 32020: QMatrix &operator=(QMatrix &&other) noexcept 32020: { memcpy(static_cast(this), static_cast(&other), sizeof(QMatrix)); return *this; } 32020: QMatrix &operator=(const QMatrix &) noexcept; 32020: QMatrix(QMatrix &&other) noexcept 32020: { memcpy(static_cast(this), static_cast(&other), sizeof(QMatrix)); } 32020: QMatrix(const QMatrix &other) noexcept; 32020: 32020: 32020: void setMatrix(qreal m11, qreal m12, qreal m21, qreal m22, 32020: qreal dx, qreal dy); 32020: 32020: qreal m11() const { return _m11; } 32020: qreal m12() const { return _m12; } 32020: qreal m21() const { return _m21; } 32020: qreal m22() const { return _m22; } 32020: qreal dx() const { return _dx; } 32020: qreal dy() const { return _dy; } 32020: 32020: void map(int x, int y, int *tx, int *ty) const; 32020: void map(qreal x, qreal y, qreal *tx, qreal *ty) const; 32020: QRect mapRect(const QRect &) const; 32020: QRectF mapRect(const QRectF &) const; 32020: 32020: QPoint map(const QPoint &p) const; 32020: QPointF map(const QPointF&p) const; 32020: QLine map(const QLine &l) const; 32020: QLineF map(const QLineF &l) const; 32020: QPolygonF map(const QPolygonF &a) const; 32020: QPolygon map(const QPolygon &a) const; 32020: QRegion map(const QRegion &r) const; 32020: QPainterPath map(const QPainterPath &p) const; 32020: QPolygon mapToPolygon(const QRect &r) const; 32020: 32020: void reset(); 32020: inline bool isIdentity() const; 32020: 32020: QMatrix &translate(qreal dx, qreal dy); 32020: QMatrix &scale(qreal sx, qreal sy); 32020: QMatrix &shear(qreal sh, qreal sv); 32020: QMatrix &rotate(qreal a); 32020: 32020: bool isInvertible() const { return !qFuzzyIsNull(_m11*_m22 - _m12*_m21); } 32020: qreal determinant() const { return _m11*_m22 - _m12*_m21; } 32020: 32020: [[nodiscard]] QMatrix inverted(bool *invertible = nullptr) const; 32020: 32020: bool operator==(const QMatrix &) const; 32020: bool operator!=(const QMatrix &) const; 32020: 32020: QMatrix &operator*=(const QMatrix &); 32020: QMatrix operator*(const QMatrix &o) const; 32020: 32020: operator QVariant() const; 32020: 32020: private: 32020: inline QMatrix(bool) 32020: : _m11(1.) 32020: , _m12(0.) 32020: , _m21(0.) 32020: , _m22(1.) 32020: , _dx(0.) 32020: , _dy(0.) {} 32020: inline QMatrix(qreal am11, qreal am12, qreal am21, qreal am22, qreal adx, qreal ady, bool) 32020: : _m11(am11) 32020: , _m12(am12) 32020: , _m21(am21) 32020: , _m22(am22) 32020: , _dx(adx) 32020: , _dy(ady) {} 32020: friend class QTransform; 32020: qreal _m11, _m12; 32020: qreal _m21, _m22; 32020: qreal _dx, _dy; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QMatrix)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMatrix >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMatrix) }; static inline const char *name() { return "QMatrix"; } }; 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(const QMatrix &key, uint seed = 0) noexcept; 32020: 32020: 32020: inline QPoint operator*(const QPoint &p, const QMatrix &m) 32020: { return m.map(p); } 32020: inline QPointF operator*(const QPointF &p, const QMatrix &m) 32020: { return m.map(p); } 32020: inline QLineF operator*(const QLineF &l, const QMatrix &m) 32020: { return m.map(l); } 32020: inline QLine operator*(const QLine &l, const QMatrix &m) 32020: { return m.map(l); } 32020: inline QPolygon operator *(const QPolygon &a, const QMatrix &m) 32020: { return m.map(a); } 32020: inline QPolygonF operator *(const QPolygonF &a, const QMatrix &m) 32020: { return m.map(a); } 32020: inline QRegion operator *(const QRegion &r, const QMatrix &m) 32020: { return m.map(r); } 32020: __attribute__((visibility("default"))) QPainterPath operator *(const QPainterPath &p, const QMatrix &m); 32020: 32020: inline bool QMatrix::isIdentity() const 32020: { 32020: return qFuzzyIsNull(_m11 - 1) && qFuzzyIsNull(_m22 - 1) && qFuzzyIsNull(_m12) 32020: && qFuzzyIsNull(_m21) && qFuzzyIsNull(_dx) && qFuzzyIsNull(_dy); 32020: } 32020: 32020: inline bool qFuzzyCompare(const QMatrix& m1, const QMatrix& m2) 32020: { 32020: return qFuzzyCompare(m1.m11(), m2.m11()) 32020: && qFuzzyCompare(m1.m12(), m2.m12()) 32020: && qFuzzyCompare(m1.m21(), m2.m21()) 32020: && qFuzzyCompare(m1.m22(), m2.m22()) 32020: && qFuzzyCompare(m1.dx(), m2.dx()) 32020: && qFuzzyCompare(m1.dy(), m2.dy()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMatrix &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMatrix &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMatrix &); 32020: 32020: 32020: 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QVariant; 32020: class QPainterPath; 32020: 32020: class __attribute__((visibility("default"))) QTransform 32020: { 32020: public: 32020: enum TransformationType { 32020: TxNone = 0x00, 32020: TxTranslate = 0x01, 32020: TxScale = 0x02, 32020: TxRotate = 0x04, 32020: TxShear = 0x08, 32020: TxProject = 0x10 32020: }; 32020: 32020: inline explicit QTransform(Qt::Initialization) : affine(Qt::Uninitialized) {} 32020: QTransform(); 32020: QTransform(qreal h11, qreal h12, qreal h13, 32020: qreal h21, qreal h22, qreal h23, 32020: qreal h31, qreal h32, qreal h33 = 1.0); 32020: QTransform(qreal h11, qreal h12, qreal h21, 32020: qreal h22, qreal dx, qreal dy); 32020: 32020: explicit QTransform(const QMatrix &mtx); 32020: 32020: 32020: 32020: 32020: QTransform &operator=(QTransform &&other) noexcept 32020: { memcpy(static_cast(this), static_cast(&other), sizeof(QTransform)); return *this; } 32020: QTransform &operator=(const QTransform &) noexcept; 32020: QTransform(QTransform &&other) noexcept 32020: : affine(Qt::Uninitialized) 32020: { memcpy(static_cast(this), static_cast(&other), sizeof(QTransform)); } 32020: QTransform(const QTransform &other) noexcept 32020: : affine(Qt::Uninitialized) 32020: { memcpy(static_cast(this), static_cast(&other), sizeof(QTransform)); } 32020: 32020: 32020: bool isAffine() const; 32020: bool isIdentity() const; 32020: bool isInvertible() const; 32020: bool isScaling() const; 32020: bool isRotating() const; 32020: bool isTranslating() const; 32020: 32020: TransformationType type() const; 32020: 32020: inline qreal determinant() const; 32020: 32020: __attribute__ ((__deprecated__("Use determinant() instead"))) 32020: qreal det() const; 32020: 32020: 32020: qreal m11() const; 32020: qreal m12() const; 32020: qreal m13() const; 32020: qreal m21() const; 32020: qreal m22() const; 32020: qreal m23() const; 32020: qreal m31() const; 32020: qreal m32() const; 32020: qreal m33() const; 32020: qreal dx() const; 32020: qreal dy() const; 32020: 32020: void setMatrix(qreal m11, qreal m12, qreal m13, 32020: qreal m21, qreal m22, qreal m23, 32020: qreal m31, qreal m32, qreal m33); 32020: 32020: [[nodiscard]] QTransform inverted(bool *invertible = nullptr) const; 32020: [[nodiscard]] QTransform adjoint() const; 32020: [[nodiscard]] QTransform transposed() const; 32020: 32020: QTransform &translate(qreal dx, qreal dy); 32020: QTransform &scale(qreal sx, qreal sy); 32020: QTransform &shear(qreal sh, qreal sv); 32020: QTransform &rotate(qreal a, Qt::Axis axis = Qt::ZAxis); 32020: QTransform &rotateRadians(qreal a, Qt::Axis axis = Qt::ZAxis); 32020: 32020: static bool squareToQuad(const QPolygonF &square, QTransform &result); 32020: static bool quadToSquare(const QPolygonF &quad, QTransform &result); 32020: static bool quadToQuad(const QPolygonF &one, 32020: const QPolygonF &two, 32020: QTransform &result); 32020: 32020: bool operator==(const QTransform &) const; 32020: bool operator!=(const QTransform &) const; 32020: 32020: QTransform &operator*=(const QTransform &); 32020: QTransform operator*(const QTransform &o) const; 32020: 32020: operator QVariant() const; 32020: 32020: void reset(); 32020: QPoint map(const QPoint &p) const; 32020: QPointF map(const QPointF &p) const; 32020: QLine map(const QLine &l) const; 32020: QLineF map(const QLineF &l) const; 32020: QPolygonF map(const QPolygonF &a) const; 32020: QPolygon map(const QPolygon &a) const; 32020: QRegion map(const QRegion &r) const; 32020: QPainterPath map(const QPainterPath &p) const; 32020: QPolygon mapToPolygon(const QRect &r) const; 32020: QRect mapRect(const QRect &) const; 32020: QRectF mapRect(const QRectF &) const; 32020: void map(int x, int y, int *tx, int *ty) const; 32020: void map(qreal x, qreal y, qreal *tx, qreal *ty) const; 32020: 32020: 32020: const QMatrix &toAffine() const; 32020: 32020: 32020: QTransform &operator*=(qreal div); 32020: QTransform &operator/=(qreal div); 32020: QTransform &operator+=(qreal div); 32020: QTransform &operator-=(qreal div); 32020: 32020: static QTransform fromTranslate(qreal dx, qreal dy); 32020: static QTransform fromScale(qreal dx, qreal dy); 32020: 32020: private: 32020: inline QTransform(qreal h11, qreal h12, qreal h13, 32020: qreal h21, qreal h22, qreal h23, 32020: qreal h31, qreal h32, qreal h33, bool) 32020: : affine(h11, h12, h21, h22, h31, h32, true) 32020: , m_13(h13), m_23(h23), m_33(h33) 32020: , m_type(TxNone) 32020: , m_dirty(TxProject) 32020: 32020: , d(nullptr) 32020: 32020: { 32020: } 32020: inline QTransform(bool) 32020: : affine(true) 32020: , m_13(0), m_23(0), m_33(1) 32020: , m_type(TxNone) 32020: , m_dirty(TxNone) 32020: 32020: , d(nullptr) 32020: 32020: { 32020: } 32020: inline TransformationType inline_type() const; 32020: QMatrix affine; 32020: qreal m_13; 32020: qreal m_23; 32020: qreal m_33; 32020: 32020: mutable uint m_type : 5; 32020: mutable uint m_dirty : 5; 32020: 32020: class Private; 32020: Private *d; 32020: 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QTransform)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTransform >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTransform) }; static inline const char *name() { return "QTransform"; } }; 32020: 32020: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(const QTransform &key, uint seed = 0) noexcept; 32020: 32020: 32020: inline QTransform::TransformationType QTransform::inline_type() const 32020: { 32020: if (m_dirty == TxNone) 32020: return static_cast(m_type); 32020: return type(); 32020: } 32020: 32020: inline bool QTransform::isAffine() const 32020: { 32020: return inline_type() < TxProject; 32020: } 32020: inline bool QTransform::isIdentity() const 32020: { 32020: return inline_type() == TxNone; 32020: } 32020: 32020: inline bool QTransform::isInvertible() const 32020: { 32020: return !qFuzzyIsNull(determinant()); 32020: } 32020: 32020: inline bool QTransform::isScaling() const 32020: { 32020: return type() >= TxScale; 32020: } 32020: inline bool QTransform::isRotating() const 32020: { 32020: return inline_type() >= TxRotate; 32020: } 32020: 32020: inline bool QTransform::isTranslating() const 32020: { 32020: return inline_type() >= TxTranslate; 32020: } 32020: 32020: inline qreal QTransform::determinant() const 32020: { 32020: return affine._m11*(m_33*affine._m22-affine._dy*m_23) - 32020: affine._m21*(m_33*affine._m12-affine._dy*m_13)+affine._dx*(m_23*affine._m12-affine._m22*m_13); 32020: } 32020: 32020: inline qreal QTransform::det() const 32020: { 32020: return determinant(); 32020: } 32020: 32020: inline qreal QTransform::m11() const 32020: { 32020: return affine._m11; 32020: } 32020: inline qreal QTransform::m12() const 32020: { 32020: return affine._m12; 32020: } 32020: inline qreal QTransform::m13() const 32020: { 32020: return m_13; 32020: } 32020: inline qreal QTransform::m21() const 32020: { 32020: return affine._m21; 32020: } 32020: inline qreal QTransform::m22() const 32020: { 32020: return affine._m22; 32020: } 32020: inline qreal QTransform::m23() const 32020: { 32020: return m_23; 32020: } 32020: inline qreal QTransform::m31() const 32020: { 32020: return affine._dx; 32020: } 32020: inline qreal QTransform::m32() const 32020: { 32020: return affine._dy; 32020: } 32020: inline qreal QTransform::m33() const 32020: { 32020: return m_33; 32020: } 32020: inline qreal QTransform::dx() const 32020: { 32020: return affine._dx; 32020: } 32020: inline qreal QTransform::dy() const 32020: { 32020: return affine._dy; 32020: } 32020: 32020: 32020: # 306 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 306 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: 32020: 32020: 32020: # 308 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wfloat-equal" 32020: # 308 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: 32020: 32020: 32020: inline QTransform &QTransform::operator*=(qreal num) 32020: { 32020: if (num == 1.) 32020: return *this; 32020: affine._m11 *= num; 32020: affine._m12 *= num; 32020: m_13 *= num; 32020: affine._m21 *= num; 32020: affine._m22 *= num; 32020: m_23 *= num; 32020: affine._dx *= num; 32020: affine._dy *= num; 32020: m_33 *= num; 32020: if (m_dirty < TxScale) 32020: m_dirty = TxScale; 32020: return *this; 32020: } 32020: inline QTransform &QTransform::operator/=(qreal div) 32020: { 32020: if (div == 0) 32020: return *this; 32020: div = 1/div; 32020: return operator*=(div); 32020: } 32020: inline QTransform &QTransform::operator+=(qreal num) 32020: { 32020: if (num == 0) 32020: return *this; 32020: affine._m11 += num; 32020: affine._m12 += num; 32020: m_13 += num; 32020: affine._m21 += num; 32020: affine._m22 += num; 32020: m_23 += num; 32020: affine._dx += num; 32020: affine._dy += num; 32020: m_33 += num; 32020: m_dirty = TxProject; 32020: return *this; 32020: } 32020: inline QTransform &QTransform::operator-=(qreal num) 32020: { 32020: if (num == 0) 32020: return *this; 32020: affine._m11 -= num; 32020: affine._m12 -= num; 32020: m_13 -= num; 32020: affine._m21 -= num; 32020: affine._m22 -= num; 32020: m_23 -= num; 32020: affine._dx -= num; 32020: affine._dy -= num; 32020: m_33 -= num; 32020: m_dirty = TxProject; 32020: return *this; 32020: } 32020: 32020: 32020: # 368 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 368 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtransform.h" 3 4 32020: 32020: 32020: inline bool qFuzzyCompare(const QTransform& t1, const QTransform& t2) 32020: { 32020: return qFuzzyCompare(t1.m11(), t2.m11()) 32020: && qFuzzyCompare(t1.m12(), t2.m12()) 32020: && qFuzzyCompare(t1.m13(), t2.m13()) 32020: && qFuzzyCompare(t1.m21(), t2.m21()) 32020: && qFuzzyCompare(t1.m22(), t2.m22()) 32020: && qFuzzyCompare(t1.m23(), t2.m23()) 32020: && qFuzzyCompare(t1.m31(), t2.m31()) 32020: && qFuzzyCompare(t1.m32(), t2.m32()) 32020: && qFuzzyCompare(t1.m33(), t2.m33()); 32020: } 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTransform &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTransform &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTransform &); 32020: 32020: 32020: 32020: 32020: inline QPoint operator*(const QPoint &p, const QTransform &m) 32020: { return m.map(p); } 32020: inline QPointF operator*(const QPointF &p, const QTransform &m) 32020: { return m.map(p); } 32020: inline QLineF operator*(const QLineF &l, const QTransform &m) 32020: { return m.map(l); } 32020: inline QLine operator*(const QLine &l, const QTransform &m) 32020: { return m.map(l); } 32020: inline QPolygon operator *(const QPolygon &a, const QTransform &m) 32020: { return m.map(a); } 32020: inline QPolygonF operator *(const QPolygonF &a, const QTransform &m) 32020: { return m.map(a); } 32020: inline QRegion operator *(const QRegion &r, const QTransform &m) 32020: { return m.map(r); } 32020: 32020: inline QTransform operator *(const QTransform &a, qreal n) 32020: { QTransform t(a); t *= n; return t; } 32020: inline QTransform operator /(const QTransform &a, qreal n) 32020: { QTransform t(a); t /= n; return t; } 32020: inline QTransform operator +(const QTransform &a, qreal n) 32020: { QTransform t(a); t += n; return t; } 32020: inline QTransform operator -(const QTransform &a, qreal n) 32020: { QTransform t(a); t -= n; return t; } 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 2 3 4 32020: # 61 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: 32020: 32020: 32020: class QColorSpace; 32020: class QColorTransform; 32020: class QIODevice; 32020: class QMatrix; 32020: class QStringList; 32020: class QTransform; 32020: class QVariant; 32020: template class QList; 32020: template class QVector; 32020: 32020: struct QImageData; 32020: class QImageDataMisc; 32020: # 97 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: typedef void (*QImageCleanupFunction)(void*); 32020: 32020: class __attribute__((visibility("default"))) QImage : public QPaintDevice 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 101 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 101 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: 32020: # 101 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 101 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 101 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 101 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: 32020: public: 32020: enum InvertMode { InvertRgb, InvertRgba }; 32020: enum Format { 32020: Format_Invalid, 32020: Format_Mono, 32020: Format_MonoLSB, 32020: Format_Indexed8, 32020: Format_RGB32, 32020: Format_ARGB32, 32020: Format_ARGB32_Premultiplied, 32020: Format_RGB16, 32020: Format_ARGB8565_Premultiplied, 32020: Format_RGB666, 32020: Format_ARGB6666_Premultiplied, 32020: Format_RGB555, 32020: Format_ARGB8555_Premultiplied, 32020: Format_RGB888, 32020: Format_RGB444, 32020: Format_ARGB4444_Premultiplied, 32020: Format_RGBX8888, 32020: Format_RGBA8888, 32020: Format_RGBA8888_Premultiplied, 32020: Format_BGR30, 32020: Format_A2BGR30_Premultiplied, 32020: Format_RGB30, 32020: Format_A2RGB30_Premultiplied, 32020: Format_Alpha8, 32020: Format_Grayscale8, 32020: Format_RGBX64, 32020: Format_RGBA64, 32020: Format_RGBA64_Premultiplied, 32020: Format_Grayscale16, 32020: Format_BGR888, 32020: 32020: NImageFormats 32020: 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Format) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Format) noexcept { return "Format"; } 32020: 32020: QImage() noexcept; 32020: QImage(const QSize &size, Format format); 32020: QImage(int width, int height, Format format); 32020: QImage(uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 32020: QImage(const uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 32020: QImage(uchar *data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 32020: QImage(const uchar *data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 32020: 32020: 32020: explicit QImage(const char * const xpm[]); 32020: 32020: explicit QImage(const QString &fileName, const char *format = nullptr); 32020: 32020: QImage(const QImage &); 32020: inline QImage(QImage &&other) noexcept 32020: : QPaintDevice(), d(nullptr) 32020: { qSwap(d, other.d); } 32020: ~QImage(); 32020: 32020: QImage &operator=(const QImage &); 32020: inline QImage &operator=(QImage &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: inline void swap(QImage &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: bool isNull() const; 32020: 32020: int devType() const override; 32020: 32020: bool operator==(const QImage &) const; 32020: bool operator!=(const QImage &) const; 32020: operator QVariant() const; 32020: void detach(); 32020: bool isDetached() const; 32020: 32020: QImage copy(const QRect &rect = QRect()) const; 32020: inline QImage copy(int x, int y, int w, int h) const 32020: { return copy(QRect(x, y, w, h)); } 32020: 32020: Format format() const; 32020: 32020: 32020: [[nodiscard]] inline __attribute__((always_inline)) QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) const & 32020: { return convertToFormat_helper(f, flags); } 32020: [[nodiscard]] inline __attribute__((always_inline)) QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) && 32020: { 32020: if (convertToFormat_inplace(f, flags)) 32020: return std::move(*this); 32020: else 32020: return convertToFormat_helper(f, flags); 32020: } 32020: 32020: 32020: 32020: [[nodiscard]] QImage convertToFormat(Format f, const QVector &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const; 32020: bool reinterpretAsFormat(Format f); 32020: 32020: void convertTo(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: 32020: int width() const; 32020: int height() const; 32020: QSize size() const; 32020: QRect rect() const; 32020: 32020: int depth() const; 32020: int colorCount() const; 32020: int bitPlaneCount() const; 32020: 32020: QRgb color(int i) const; 32020: void setColor(int i, QRgb c); 32020: void setColorCount(int); 32020: 32020: bool allGray() const; 32020: bool isGrayscale() const; 32020: 32020: uchar *bits(); 32020: const uchar *bits() const; 32020: const uchar *constBits() const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use sizeInBytes"))) int byteCount() const; 32020: 32020: qsizetype sizeInBytes() const; 32020: 32020: uchar *scanLine(int); 32020: const uchar *scanLine(int) const; 32020: const uchar *constScanLine(int) const; 32020: 32020: 32020: 32020: int bytesPerLine() const; 32020: 32020: 32020: bool valid(int x, int y) const; 32020: bool valid(const QPoint &pt) const; 32020: 32020: int pixelIndex(int x, int y) const; 32020: int pixelIndex(const QPoint &pt) const; 32020: 32020: QRgb pixel(int x, int y) const; 32020: QRgb pixel(const QPoint &pt) const; 32020: 32020: void setPixel(int x, int y, uint index_or_rgb); 32020: void setPixel(const QPoint &pt, uint index_or_rgb); 32020: 32020: QColor pixelColor(int x, int y) const; 32020: QColor pixelColor(const QPoint &pt) const; 32020: 32020: void setPixelColor(int x, int y, const QColor &c); 32020: void setPixelColor(const QPoint &pt, const QColor &c); 32020: 32020: QVector colorTable() const; 32020: 32020: 32020: 32020: void setColorTable(const QVector colors); 32020: 32020: 32020: qreal devicePixelRatio() const; 32020: void setDevicePixelRatio(qreal scaleFactor); 32020: 32020: void fill(uint pixel); 32020: void fill(const QColor &color); 32020: void fill(Qt::GlobalColor color); 32020: 32020: 32020: bool hasAlphaChannel() const; 32020: void setAlphaChannel(const QImage &alphaChannel); 32020: 32020: __attribute__ ((__deprecated__("Use convertToFormat(QImage::Format_Alpha8)"))) 32020: QImage alphaChannel() const; 32020: 32020: QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const; 32020: 32020: QImage createHeuristicMask(bool clipTight = true) const; 32020: 32020: QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const; 32020: 32020: inline QImage scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 32020: Qt::TransformationMode mode = Qt::FastTransformation) const 32020: { return scaled(QSize(w, h), aspectMode, mode); } 32020: QImage scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 32020: Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: QImage scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: QImage scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: 32020: __attribute__ ((__deprecated__("Use transformed(const QTransform &matrix, Qt::TransformationMode mode)"))) 32020: QImage transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: __attribute__ ((__deprecated__("trueMatrix(const QTransform &, int w, int h)"))) 32020: static QMatrix trueMatrix(const QMatrix &, int w, int h); 32020: 32020: QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: static QTransform trueMatrix(const QTransform &, int w, int h); 32020: 32020: QImage mirrored(bool horizontally = false, bool vertically = true) const & 32020: { return mirrored_helper(horizontally, vertically); } 32020: QImage &&mirrored(bool horizontally = false, bool vertically = true) && 32020: { mirrored_inplace(horizontally, vertically); return std::move(*this); } 32020: QImage rgbSwapped() const & 32020: { return rgbSwapped_helper(); } 32020: QImage &&rgbSwapped() && 32020: { rgbSwapped_inplace(); return std::move(*this); } 32020: 32020: 32020: 32020: 32020: void invertPixels(InvertMode = InvertRgb); 32020: 32020: QColorSpace colorSpace() const; 32020: QImage convertedToColorSpace(const QColorSpace &) const; 32020: void convertToColorSpace(const QColorSpace &); 32020: void setColorSpace(const QColorSpace &); 32020: 32020: void applyColorTransform(const QColorTransform &transform); 32020: 32020: bool load(QIODevice *device, const char* format); 32020: bool load(const QString &fileName, const char *format = nullptr); 32020: bool loadFromData(const uchar *buf, int len, const char *format = nullptr); 32020: inline bool loadFromData(const QByteArray &data, const char *aformat = nullptr) 32020: { return loadFromData(reinterpret_cast(data.constData()), data.size(), aformat); } 32020: 32020: bool save(const QString &fileName, const char *format = nullptr, int quality = -1) const; 32020: bool save(QIODevice *device, const char *format = nullptr, int quality = -1) const; 32020: 32020: static QImage fromData(const uchar *data, int size, const char *format = nullptr); 32020: inline static QImage fromData(const QByteArray &data, const char *format = nullptr) 32020: { return fromData(reinterpret_cast(data.constData()), data.size(), format); } 32020: 32020: 32020: 32020: 32020: qint64 cacheKey() const; 32020: 32020: QPaintEngine *paintEngine() const override; 32020: 32020: 32020: int dotsPerMeterX() const; 32020: int dotsPerMeterY() const; 32020: void setDotsPerMeterX(int); 32020: void setDotsPerMeterY(int); 32020: QPoint offset() const; 32020: void setOffset(const QPoint&); 32020: 32020: QStringList textKeys() const; 32020: QString text(const QString &key = QString()) const; 32020: void setText(const QString &key, const QString &value); 32020: 32020: QPixelFormat pixelFormat() const noexcept; 32020: static QPixelFormat toPixelFormat(QImage::Format format) noexcept; 32020: static QImage::Format toImageFormat(QPixelFormat format) noexcept; 32020: # 371 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: protected: 32020: virtual int metric(PaintDeviceMetric metric) const override; 32020: QImage mirrored_helper(bool horizontal, bool vertical) const; 32020: QImage rgbSwapped_helper() const; 32020: void mirrored_inplace(bool horizontal, bool vertical); 32020: void rgbSwapped_inplace(); 32020: QImage convertToFormat_helper(Format format, Qt::ImageConversionFlags flags) const; 32020: bool convertToFormat_inplace(Format format, Qt::ImageConversionFlags flags); 32020: QImage smoothScaled(int w, int h) const; 32020: 32020: private: 32020: friend class QWSOnScreenSurface; 32020: QImageData *d; 32020: 32020: friend class QRasterPlatformPixmap; 32020: friend class QBlittablePlatformPixmap; 32020: friend class QPixmapCacheEntry; 32020: friend struct QImageData; 32020: 32020: public: 32020: typedef QImageData * DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QImage)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QImage >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QImage) }; static inline const char *name() { return "QImage"; } }; inline void swap(QImage &value1, QImage &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: 32020: 32020: inline bool QImage::valid(const QPoint &pt) const { return valid(pt.x(), pt.y()); } 32020: inline int QImage::pixelIndex(const QPoint &pt) const { return pixelIndex(pt.x(), pt.y());} 32020: inline QRgb QImage::pixel(const QPoint &pt) const { return pixel(pt.x(), pt.y()); } 32020: inline void QImage::setPixel(const QPoint &pt, uint index_or_rgb) { setPixel(pt.x(), pt.y(), index_or_rgb); } 32020: inline QColor QImage::pixelColor(const QPoint &pt) const { return pixelColor(pt.x(), pt.y()); } 32020: inline void QImage::setPixelColor(const QPoint &pt, const QColor &c) { setPixelColor(pt.x(), pt.y(), c); } 32020: # 502 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qimage.h" 3 4 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QImage &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QImage &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QImage &); 32020: 32020: 32020: 32020: 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: class QImageWriter; 32020: class QImageReader; 32020: class QColor; 32020: class QVariant; 32020: class QPlatformPixmap; 32020: 32020: class __attribute__((visibility("default"))) QPixmap : public QPaintDevice 32020: { 32020: public: 32020: QPixmap(); 32020: explicit QPixmap(QPlatformPixmap *data); 32020: QPixmap(int w, int h); 32020: explicit QPixmap(const QSize &); 32020: QPixmap(const QString& fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: 32020: explicit QPixmap(const char * const xpm[]); 32020: 32020: QPixmap(const QPixmap &); 32020: ~QPixmap(); 32020: 32020: QPixmap &operator=(const QPixmap &); 32020: inline QPixmap &operator=(QPixmap &&other) noexcept 32020: { qSwap(data, other.data); return *this; } 32020: inline void swap(QPixmap &other) noexcept 32020: { qSwap(data, other.data); } 32020: 32020: operator QVariant() const; 32020: 32020: bool isNull() const; 32020: int devType() const override; 32020: 32020: int width() const; 32020: int height() const; 32020: QSize size() const; 32020: QRect rect() const; 32020: int depth() const; 32020: 32020: static int defaultDepth(); 32020: 32020: void fill(const QColor &fillColor = Qt::white); 32020: 32020: __attribute__ ((__deprecated__("Use QPainter or fill(QColor)"))) 32020: void fill(const QPaintDevice *device, const QPoint &ofs); 32020: __attribute__ ((__deprecated__("Use QPainter or fill(QColor)"))) 32020: void fill(const QPaintDevice *device, int xofs, int yofs); 32020: 32020: 32020: QBitmap mask() const; 32020: void setMask(const QBitmap &); 32020: 32020: qreal devicePixelRatio() const; 32020: void setDevicePixelRatio(qreal scaleFactor); 32020: 32020: bool hasAlpha() const; 32020: bool hasAlphaChannel() const; 32020: 32020: 32020: QBitmap createHeuristicMask(bool clipTight = true) const; 32020: 32020: QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QScreen::grabWindow() instead"))) 32020: static QPixmap grabWindow(WId, int x = 0, int y = 0, int w = -1, int h = -1); 32020: __attribute__ ((__deprecated__("Use QWidget::grab() instead"))) 32020: static QPixmap grabWidget(QObject *widget, const QRect &rect); 32020: __attribute__ ((__deprecated__("Use QWidget::grab() instead"))) 32020: static QPixmap grabWidget(QObject *widget, int x = 0, int y = 0, int w = -1, int h = -1); 32020: 32020: 32020: inline QPixmap scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 32020: Qt::TransformationMode mode = Qt::FastTransformation) const 32020: { return scaled(QSize(w, h), aspectMode, mode); } 32020: QPixmap scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 32020: Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: QPixmap scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: QPixmap scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: 32020: __attribute__ ((__deprecated__("Use transformed(const QTransform &, Qt::TransformationMode mode)"))) 32020: QPixmap transformed(const QMatrix &, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: __attribute__ ((__deprecated__("Use trueMatrix(const QTransform &m, int w, int h)"))) 32020: static QMatrix trueMatrix(const QMatrix &m, int w, int h); 32020: 32020: QPixmap transformed(const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation) const; 32020: static QTransform trueMatrix(const QTransform &m, int w, int h); 32020: 32020: QImage toImage() const; 32020: static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: static QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: static QPixmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor) 32020: { 32020: return fromImageInPlace(image, flags); 32020: } 32020: 32020: bool load(const QString& fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: bool loadFromData(const uchar *buf, uint len, const char* format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: inline bool loadFromData(const QByteArray &data, const char* format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: bool save(const QString& fileName, const char* format = nullptr, int quality = -1) const; 32020: bool save(QIODevice* device, const char* format = nullptr, int quality = -1) const; 32020: 32020: bool convertFromImage(const QImage &img, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: 32020: inline QPixmap copy(int x, int y, int width, int height) const; 32020: QPixmap copy(const QRect &rect = QRect()) const; 32020: 32020: inline void scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = nullptr); 32020: void scroll(int dx, int dy, const QRect &rect, QRegion *exposed = nullptr); 32020: 32020: 32020: 32020: 32020: qint64 cacheKey() const; 32020: 32020: bool isDetached() const; 32020: void detach(); 32020: 32020: bool isQBitmap() const; 32020: 32020: QPaintEngine *paintEngine() const override; 32020: 32020: inline bool operator!() const { return isNull(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: protected: 32020: int metric(PaintDeviceMetric) const override; 32020: static QPixmap fromImageInPlace(QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: 32020: private: 32020: QExplicitlySharedDataPointer data; 32020: 32020: bool doImageIO(QImageWriter *io, int quality) const; 32020: 32020: QPixmap(const QSize &s, int type); 32020: void doInit(int, int, int); 32020: 32020: friend class QPlatformPixmap; 32020: friend class QBitmap; 32020: friend class QPaintDevice; 32020: friend class QPainter; 32020: friend class QOpenGLWidget; 32020: friend class QWidgetPrivate; 32020: friend class QRasterBuffer; 32020: 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPixmap &); 32020: 32020: 32020: public: 32020: QPlatformPixmap* handle() const; 32020: 32020: public: 32020: typedef QExplicitlySharedDataPointer DataPtr; 32020: inline DataPtr &data_ptr() { return data; } 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPixmap)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPixmap >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPixmap) }; static inline const char *name() { return "QPixmap"; } }; inline void swap(QPixmap &value1, QPixmap &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: inline QPixmap QPixmap::copy(int ax, int ay, int awidth, int aheight) const 32020: { 32020: return copy(QRect(ax, ay, awidth, aheight)); 32020: } 32020: 32020: inline void QPixmap::scroll(int dx, int dy, int ax, int ay, int awidth, int aheight, QRegion *exposed) 32020: { 32020: scroll(dx, dy, QRect(ax, ay, awidth, aheight), exposed); 32020: } 32020: 32020: inline bool QPixmap::loadFromData(const QByteArray &buf, const char *format, 32020: Qt::ImageConversionFlags flags) 32020: { 32020: return loadFromData(reinterpret_cast(buf.constData()), buf.size(), format, flags); 32020: } 32020: # 254 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpixmap.h" 3 4 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPixmap &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPixmap &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPixmap &); 32020: 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtextoption.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtextoption.h" 3 4 32020: 32020: 32020: 32020: template class QList; 32020: struct QTextOptionPrivate; 32020: 32020: class __attribute__((visibility("default"))) QTextOption 32020: { 32020: public: 32020: enum TabType { 32020: LeftTab, 32020: RightTab, 32020: CenterTab, 32020: DelimiterTab 32020: }; 32020: 32020: struct __attribute__((visibility("default"))) Tab { 32020: inline Tab() : position(80), type(QTextOption::LeftTab) { } 32020: inline Tab(qreal pos, TabType tabType, QChar delim = QChar()) 32020: : position(pos), type(tabType), delimiter(delim) {} 32020: 32020: inline bool operator==(const Tab &other) const { 32020: return type == other.type 32020: && qFuzzyCompare(position, other.position) 32020: && delimiter == other.delimiter; 32020: } 32020: 32020: inline bool operator!=(const Tab &other) const { 32020: return !operator==(other); 32020: } 32020: 32020: qreal position; 32020: TabType type; 32020: QChar delimiter; 32020: }; 32020: 32020: QTextOption(); 32020: QTextOption(Qt::Alignment alignment); 32020: ~QTextOption(); 32020: 32020: QTextOption(const QTextOption &o); 32020: QTextOption &operator=(const QTextOption &o); 32020: 32020: inline void setAlignment(Qt::Alignment alignment); 32020: inline Qt::Alignment alignment() const { return Qt::Alignment(align); } 32020: 32020: inline void setTextDirection(Qt::LayoutDirection aDirection) { this->direction = aDirection; } 32020: inline Qt::LayoutDirection textDirection() const { return Qt::LayoutDirection(direction); } 32020: 32020: enum WrapMode { 32020: NoWrap, 32020: WordWrap, 32020: ManualWrap, 32020: WrapAnywhere, 32020: WrapAtWordBoundaryOrAnywhere 32020: }; 32020: inline void setWrapMode(WrapMode wrap) { wordWrap = wrap; } 32020: inline WrapMode wrapMode() const { return static_cast(wordWrap); } 32020: 32020: enum Flag { 32020: ShowTabsAndSpaces = 0x1, 32020: ShowLineAndParagraphSeparators = 0x2, 32020: AddSpaceForLineAndParagraphSeparators = 0x4, 32020: SuppressColors = 0x8, 32020: ShowDocumentTerminator = 0x10, 32020: IncludeTrailingSpaces = 0x80000000 32020: }; 32020: typedef QFlags Flags; 32020: inline void setFlags(Flags flags); 32020: inline Flags flags() const { return Flags(f); } 32020: 32020: 32020: __attribute__ ((__deprecated__)) inline void setTabStop(qreal tabStop); 32020: __attribute__ ((__deprecated__)) inline qreal tabStop() const { return tabStopDistance(); } 32020: 32020: 32020: inline void setTabStopDistance(qreal tabStopDistance); 32020: inline qreal tabStopDistance() const { return tab; } 32020: 32020: void setTabArray(const QList &tabStops); 32020: QList tabArray() const; 32020: 32020: void setTabs(const QList &tabStops); 32020: QList tabs() const; 32020: 32020: void setUseDesignMetrics(bool b) { design = b; } 32020: bool useDesignMetrics() const { return design; } 32020: 32020: private: 32020: uint align : 8; 32020: uint wordWrap : 4; 32020: uint design : 1; 32020: uint direction : 2; 32020: uint unused : 17; 32020: uint unused2; 32020: uint f; 32020: qreal tab; 32020: QTextOptionPrivate *d; 32020: }; 32020: 32020: constexpr inline QFlags operator|(QTextOption::Flags::enum_type f1, QTextOption::Flags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QTextOption::Flags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QTextOption::Flags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: inline void QTextOption::setAlignment(Qt::Alignment aalignment) 32020: { align = aalignment; } 32020: 32020: inline void QTextOption::setFlags(Flags aflags) 32020: { f = aflags; } 32020: 32020: 32020: inline void QTextOption::setTabStop(qreal atabStop) 32020: { setTabStopDistance(atabStop); } 32020: 32020: 32020: inline void QTextOption::setTabStopDistance(qreal atabStop) 32020: { tab = atabStop; } 32020: 32020: 32020: 32020: template <> struct QMetaTypeId< QTextOption::Tab > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QTextOption::Tab >("QTextOption::Tab", reinterpret_cast< QTextOption::Tab *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpen.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpen.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 1 3 4 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: 32020: 32020: 32020: struct QBrushData; 32020: class QPixmap; 32020: class QGradient; 32020: class QVariant; 32020: struct QBrushDataPointerDeleter; 32020: 32020: class __attribute__((visibility("default"))) QBrush 32020: { 32020: public: 32020: QBrush(); 32020: QBrush(Qt::BrushStyle bs); 32020: QBrush(const QColor &color, Qt::BrushStyle bs=Qt::SolidPattern); 32020: QBrush(Qt::GlobalColor color, Qt::BrushStyle bs=Qt::SolidPattern); 32020: 32020: QBrush(const QColor &color, const QPixmap &pixmap); 32020: QBrush(Qt::GlobalColor color, const QPixmap &pixmap); 32020: QBrush(const QPixmap &pixmap); 32020: QBrush(const QImage &image); 32020: 32020: QBrush(const QBrush &brush); 32020: 32020: QBrush(const QGradient &gradient); 32020: 32020: ~QBrush(); 32020: QBrush &operator=(const QBrush &brush); 32020: inline QBrush &operator=(QBrush &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: inline void swap(QBrush &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: operator QVariant() const; 32020: 32020: inline Qt::BrushStyle style() const; 32020: void setStyle(Qt::BrushStyle); 32020: 32020: 32020: __attribute__ ((__deprecated__("Use transform()"))) inline const QMatrix &matrix() const; 32020: __attribute__ ((__deprecated__("Use setTransform()"))) void setMatrix(const QMatrix &mat); 32020: 32020: 32020: inline QTransform transform() const; 32020: void setTransform(const QTransform &); 32020: 32020: QPixmap texture() const; 32020: void setTexture(const QPixmap &pixmap); 32020: 32020: QImage textureImage() const; 32020: void setTextureImage(const QImage &image); 32020: 32020: inline const QColor &color() const; 32020: void setColor(const QColor &color); 32020: inline void setColor(Qt::GlobalColor color); 32020: 32020: const QGradient *gradient() const; 32020: 32020: bool isOpaque() const; 32020: 32020: bool operator==(const QBrush &b) const; 32020: inline bool operator!=(const QBrush &b) const { return !(operator==(b)); } 32020: 32020: private: 32020: friend class QRasterPaintEngine; 32020: friend class QRasterPaintEnginePrivate; 32020: friend struct QSpanData; 32020: friend class QPainter; 32020: friend bool __attribute__((visibility("default"))) qHasPixmapTexture(const QBrush& brush); 32020: void detach(Qt::BrushStyle newStyle); 32020: void init(const QColor &color, Qt::BrushStyle bs); 32020: QScopedPointer d; 32020: void cleanUp(QBrushData *x); 32020: 32020: public: 32020: inline bool isDetached() const; 32020: typedef QScopedPointer DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: inline void QBrush::setColor(Qt::GlobalColor acolor) 32020: { setColor(QColor(acolor)); } 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QBrush)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QBrush >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QBrush) }; static inline const char *name() { return "QBrush"; } }; inline void swap(QBrush &value1, QBrush &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QBrush &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QBrush &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QBrush &); 32020: 32020: 32020: struct QBrushData 32020: { 32020: QAtomicInt ref; 32020: Qt::BrushStyle style; 32020: QColor color; 32020: QTransform transform; 32020: }; 32020: 32020: inline Qt::BrushStyle QBrush::style() const { return d->style; } 32020: inline const QColor &QBrush::color() const { return d->color; } 32020: 32020: __attribute__ ((__deprecated__("Use transform()"))) 32020: inline const QMatrix &QBrush::matrix() const { return d->transform.toAffine(); } 32020: 32020: inline QTransform QBrush::transform() const { return d->transform; } 32020: inline bool QBrush::isDetached() const { return d->ref.loadRelaxed() == 1; } 32020: 32020: 32020: 32020: 32020: 32020: class QGradientPrivate; 32020: 32020: typedef QPair QGradientStop; 32020: typedef QVector QGradientStops; 32020: 32020: class __attribute__((visibility("default"))) QGradient 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 180 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 180 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: 32020: # 180 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 180 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 180 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 180 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qbrush.h" 3 4 32020: 32020: public: 32020: enum Type { 32020: LinearGradient, 32020: RadialGradient, 32020: ConicalGradient, 32020: NoGradient 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Type) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Type) noexcept { return "Type"; } 32020: 32020: enum Spread { 32020: PadSpread, 32020: ReflectSpread, 32020: RepeatSpread 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Spread) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Spread) noexcept { return "Spread"; } 32020: 32020: enum CoordinateMode { 32020: LogicalMode, 32020: StretchToDeviceMode, 32020: ObjectBoundingMode, 32020: ObjectMode 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(CoordinateMode) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(CoordinateMode) noexcept { return "CoordinateMode"; } 32020: 32020: enum InterpolationMode { 32020: ColorInterpolation, 32020: ComponentInterpolation 32020: }; 32020: 32020: enum Preset { 32020: WarmFlame = 1, 32020: NightFade = 2, 32020: SpringWarmth = 3, 32020: JuicyPeach = 4, 32020: YoungPassion = 5, 32020: LadyLips = 6, 32020: SunnyMorning = 7, 32020: RainyAshville = 8, 32020: FrozenDreams = 9, 32020: WinterNeva = 10, 32020: DustyGrass = 11, 32020: TemptingAzure = 12, 32020: HeavyRain = 13, 32020: AmyCrisp = 14, 32020: MeanFruit = 15, 32020: DeepBlue = 16, 32020: RipeMalinka = 17, 32020: CloudyKnoxville = 18, 32020: MalibuBeach = 19, 32020: NewLife = 20, 32020: TrueSunset = 21, 32020: MorpheusDen = 22, 32020: RareWind = 23, 32020: NearMoon = 24, 32020: WildApple = 25, 32020: SaintPetersburg = 26, 32020: PlumPlate = 28, 32020: EverlastingSky = 29, 32020: HappyFisher = 30, 32020: Blessing = 31, 32020: SharpeyeEagle = 32, 32020: LadogaBottom = 33, 32020: LemonGate = 34, 32020: ItmeoBranding = 35, 32020: ZeusMiracle = 36, 32020: OldHat = 37, 32020: StarWine = 38, 32020: HappyAcid = 41, 32020: AwesomePine = 42, 32020: NewYork = 43, 32020: ShyRainbow = 44, 32020: MixedHopes = 46, 32020: FlyHigh = 47, 32020: StrongBliss = 48, 32020: FreshMilk = 49, 32020: SnowAgain = 50, 32020: FebruaryInk = 51, 32020: KindSteel = 52, 32020: SoftGrass = 53, 32020: GrownEarly = 54, 32020: SharpBlues = 55, 32020: ShadyWater = 56, 32020: DirtyBeauty = 57, 32020: GreatWhale = 58, 32020: TeenNotebook = 59, 32020: PoliteRumors = 60, 32020: SweetPeriod = 61, 32020: WideMatrix = 62, 32020: SoftCherish = 63, 32020: RedSalvation = 64, 32020: BurningSpring = 65, 32020: NightParty = 66, 32020: SkyGlider = 67, 32020: HeavenPeach = 68, 32020: PurpleDivision = 69, 32020: AquaSplash = 70, 32020: SpikyNaga = 72, 32020: LoveKiss = 73, 32020: CleanMirror = 75, 32020: PremiumDark = 76, 32020: ColdEvening = 77, 32020: CochitiLake = 78, 32020: SummerGames = 79, 32020: PassionateBed = 80, 32020: MountainRock = 81, 32020: DesertHump = 82, 32020: JungleDay = 83, 32020: PhoenixStart = 84, 32020: OctoberSilence = 85, 32020: FarawayRiver = 86, 32020: AlchemistLab = 87, 32020: OverSun = 88, 32020: PremiumWhite = 89, 32020: MarsParty = 90, 32020: EternalConstance = 91, 32020: JapanBlush = 92, 32020: SmilingRain = 93, 32020: CloudyApple = 94, 32020: BigMango = 95, 32020: HealthyWater = 96, 32020: AmourAmour = 97, 32020: RiskyConcrete = 98, 32020: StrongStick = 99, 32020: ViciousStance = 100, 32020: PaloAlto = 101, 32020: HappyMemories = 102, 32020: MidnightBloom = 103, 32020: Crystalline = 104, 32020: PartyBliss = 106, 32020: ConfidentCloud = 107, 32020: LeCocktail = 108, 32020: RiverCity = 109, 32020: FrozenBerry = 110, 32020: ChildCare = 112, 32020: FlyingLemon = 113, 32020: NewRetrowave = 114, 32020: HiddenJaguar = 115, 32020: AboveTheSky = 116, 32020: Nega = 117, 32020: DenseWater = 118, 32020: Seashore = 120, 32020: MarbleWall = 121, 32020: CheerfulCaramel = 122, 32020: NightSky = 123, 32020: MagicLake = 124, 32020: YoungGrass = 125, 32020: ColorfulPeach = 126, 32020: GentleCare = 127, 32020: PlumBath = 128, 32020: HappyUnicorn = 129, 32020: AfricanField = 131, 32020: SolidStone = 132, 32020: OrangeJuice = 133, 32020: GlassWater = 134, 32020: NorthMiracle = 136, 32020: FruitBlend = 137, 32020: MillenniumPine = 138, 32020: HighFlight = 139, 32020: MoleHall = 140, 32020: SpaceShift = 142, 32020: ForestInei = 143, 32020: RoyalGarden = 144, 32020: RichMetal = 145, 32020: JuicyCake = 146, 32020: SmartIndigo = 147, 32020: SandStrike = 148, 32020: NorseBeauty = 149, 32020: AquaGuidance = 150, 32020: SunVeggie = 151, 32020: SeaLord = 152, 32020: BlackSea = 153, 32020: GrassShampoo = 154, 32020: LandingAircraft = 155, 32020: WitchDance = 156, 32020: SleeplessNight = 157, 32020: AngelCare = 158, 32020: CrystalRiver = 159, 32020: SoftLipstick = 160, 32020: SaltMountain = 161, 32020: PerfectWhite = 162, 32020: FreshOasis = 163, 32020: StrictNovember = 164, 32020: MorningSalad = 165, 32020: DeepRelief = 166, 32020: SeaStrike = 167, 32020: NightCall = 168, 32020: SupremeSky = 169, 32020: LightBlue = 170, 32020: MindCrawl = 171, 32020: LilyMeadow = 172, 32020: SugarLollipop = 173, 32020: SweetDessert = 174, 32020: MagicRay = 175, 32020: TeenParty = 176, 32020: FrozenHeat = 177, 32020: GagarinView = 178, 32020: FabledSunset = 179, 32020: PerfectBlue = 180, 32020: 32020: NumPresets 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Preset) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Preset) noexcept { return "Preset"; } 32020: 32020: QGradient(); 32020: QGradient(Preset); 32020: ~QGradient(); 32020: 32020: Type type() const { return m_type; } 32020: 32020: inline void setSpread(Spread spread); 32020: Spread spread() const { return m_spread; } 32020: 32020: void setColorAt(qreal pos, const QColor &color); 32020: 32020: void setStops(const QGradientStops &stops); 32020: QGradientStops stops() const; 32020: 32020: CoordinateMode coordinateMode() const; 32020: void setCoordinateMode(CoordinateMode mode); 32020: 32020: InterpolationMode interpolationMode() const; 32020: void setInterpolationMode(InterpolationMode mode); 32020: 32020: bool operator==(const QGradient &gradient) const; 32020: inline bool operator!=(const QGradient &other) const 32020: { return !operator==(other); } 32020: 32020: union QGradientData { 32020: struct { 32020: qreal x1, y1, x2, y2; 32020: } linear; 32020: struct { 32020: qreal cx, cy, fx, fy, cradius; 32020: } radial; 32020: struct { 32020: qreal cx, cy, angle; 32020: } conical; 32020: }; 32020: 32020: private: 32020: friend class QLinearGradient; 32020: friend class QRadialGradient; 32020: friend class QConicalGradient; 32020: friend class QBrush; 32020: 32020: Type m_type; 32020: Spread m_spread; 32020: QGradientStops m_stops; 32020: QGradientData m_data; 32020: void *dummy; 32020: }; 32020: 32020: inline void QGradient::setSpread(Spread aspread) 32020: { m_spread = aspread; } 32020: 32020: class __attribute__((visibility("default"))) QLinearGradient : public QGradient 32020: { 32020: public: 32020: QLinearGradient(); 32020: QLinearGradient(const QPointF &start, const QPointF &finalStop); 32020: QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop); 32020: ~QLinearGradient(); 32020: 32020: QPointF start() const; 32020: void setStart(const QPointF &start); 32020: inline void setStart(qreal x, qreal y) { setStart(QPointF(x, y)); } 32020: 32020: QPointF finalStop() const; 32020: void setFinalStop(const QPointF &stop); 32020: inline void setFinalStop(qreal x, qreal y) { setFinalStop(QPointF(x, y)); } 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QRadialGradient : public QGradient 32020: { 32020: public: 32020: QRadialGradient(); 32020: QRadialGradient(const QPointF ¢er, qreal radius, const QPointF &focalPoint); 32020: QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy); 32020: 32020: QRadialGradient(const QPointF ¢er, qreal radius); 32020: QRadialGradient(qreal cx, qreal cy, qreal radius); 32020: 32020: QRadialGradient(const QPointF ¢er, qreal centerRadius, const QPointF &focalPoint, qreal focalRadius); 32020: QRadialGradient(qreal cx, qreal cy, qreal centerRadius, qreal fx, qreal fy, qreal focalRadius); 32020: 32020: ~QRadialGradient(); 32020: 32020: QPointF center() const; 32020: void setCenter(const QPointF ¢er); 32020: inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } 32020: 32020: QPointF focalPoint() const; 32020: void setFocalPoint(const QPointF &focalPoint); 32020: inline void setFocalPoint(qreal x, qreal y) { setFocalPoint(QPointF(x, y)); } 32020: 32020: qreal radius() const; 32020: void setRadius(qreal radius); 32020: 32020: qreal centerRadius() const; 32020: void setCenterRadius(qreal radius); 32020: 32020: qreal focalRadius() const; 32020: void setFocalRadius(qreal radius); 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QConicalGradient : public QGradient 32020: { 32020: public: 32020: QConicalGradient(); 32020: QConicalGradient(const QPointF ¢er, qreal startAngle); 32020: QConicalGradient(qreal cx, qreal cy, qreal startAngle); 32020: ~QConicalGradient(); 32020: 32020: QPointF center() const; 32020: void setCenter(const QPointF ¢er); 32020: inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } 32020: 32020: qreal angle() const; 32020: void setAngle(qreal angle); 32020: }; 32020: 32020: 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpen.h" 2 3 4 32020: 32020: 32020: 32020: 32020: class QVariant; 32020: class QPenPrivate; 32020: class QBrush; 32020: class QPen; 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &); 32020: 32020: 32020: class __attribute__((visibility("default"))) QPen 32020: { 32020: public: 32020: QPen(); 32020: QPen(Qt::PenStyle); 32020: QPen(const QColor &color); 32020: QPen(const QBrush &brush, qreal width, Qt::PenStyle s = Qt::SolidLine, 32020: Qt::PenCapStyle c = Qt::SquareCap, Qt::PenJoinStyle j = Qt::BevelJoin); 32020: QPen(const QPen &pen) noexcept; 32020: 32020: ~QPen(); 32020: 32020: QPen &operator=(const QPen &pen) noexcept; 32020: QPen(QPen &&other) noexcept 32020: : d(other.d) { other.d = nullptr; } 32020: QPen &operator=(QPen &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: void swap(QPen &other) noexcept { qSwap(d, other.d); } 32020: 32020: Qt::PenStyle style() const; 32020: void setStyle(Qt::PenStyle); 32020: 32020: QVector dashPattern() const; 32020: void setDashPattern(const QVector &pattern); 32020: 32020: qreal dashOffset() const; 32020: void setDashOffset(qreal doffset); 32020: 32020: qreal miterLimit() const; 32020: void setMiterLimit(qreal limit); 32020: 32020: qreal widthF() const; 32020: void setWidthF(qreal width); 32020: 32020: int width() const; 32020: void setWidth(int width); 32020: 32020: QColor color() const; 32020: void setColor(const QColor &color); 32020: 32020: QBrush brush() const; 32020: void setBrush(const QBrush &brush); 32020: 32020: bool isSolid() const; 32020: 32020: Qt::PenCapStyle capStyle() const; 32020: void setCapStyle(Qt::PenCapStyle pcs); 32020: 32020: Qt::PenJoinStyle joinStyle() const; 32020: void setJoinStyle(Qt::PenJoinStyle pcs); 32020: 32020: bool isCosmetic() const; 32020: void setCosmetic(bool cosmetic); 32020: 32020: bool operator==(const QPen &p) const; 32020: inline bool operator!=(const QPen &p) const { return !(operator==(p)); } 32020: operator QVariant() const; 32020: 32020: bool isDetached(); 32020: private: 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &); 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &); 32020: 32020: void detach(); 32020: class QPenPrivate *d; 32020: 32020: public: 32020: typedef QPenPrivate * DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPen)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPen >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPen) }; static inline const char *name() { return "QPen"; } }; inline void swap(QPen &value1, QPen &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPen &); 32020: 32020: 32020: 32020: # 55 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfontinfo.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfontinfo.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 1 3 4 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: 32020: 32020: 32020: class QFontPrivate; 32020: class QStringList; 32020: class QVariant; 32020: 32020: class __attribute__((visibility("default"))) QFont 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfont.h" 3 4 32020: 32020: public: 32020: enum StyleHint { 32020: Helvetica, SansSerif = Helvetica, 32020: Times, Serif = Times, 32020: Courier, TypeWriter = Courier, 32020: OldEnglish, Decorative = OldEnglish, 32020: System, 32020: AnyStyle, 32020: Cursive, 32020: Monospace, 32020: Fantasy 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(StyleHint) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(StyleHint) noexcept { return "StyleHint"; } 32020: 32020: enum StyleStrategy { 32020: PreferDefault = 0x0001, 32020: PreferBitmap = 0x0002, 32020: PreferDevice = 0x0004, 32020: PreferOutline = 0x0008, 32020: ForceOutline = 0x0010, 32020: PreferMatch = 0x0020, 32020: PreferQuality = 0x0040, 32020: PreferAntialias = 0x0080, 32020: NoAntialias = 0x0100, 32020: 32020: OpenGLCompatible __attribute__ ((__deprecated__)) = 0x0200, 32020: ForceIntegerMetrics __attribute__ ((__deprecated__)) = 0x0400, 32020: 32020: NoSubpixelAntialias = 0x0800, 32020: PreferNoShaping = 0x1000, 32020: NoFontMerging = 0x8000 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(StyleStrategy) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(StyleStrategy) noexcept { return "StyleStrategy"; } 32020: 32020: enum HintingPreference { 32020: PreferDefaultHinting = 0, 32020: PreferNoHinting = 1, 32020: PreferVerticalHinting = 2, 32020: PreferFullHinting = 3 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(HintingPreference) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(HintingPreference) noexcept { return "HintingPreference"; } 32020: 32020: 32020: enum Weight { 32020: Thin = 0, 32020: ExtraLight = 12, 32020: Light = 25, 32020: Normal = 50, 32020: Medium = 57, 32020: DemiBold = 63, 32020: Bold = 75, 32020: ExtraBold = 81, 32020: Black = 87 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Weight) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Weight) noexcept { return "Weight"; } 32020: 32020: enum Style { 32020: StyleNormal, 32020: StyleItalic, 32020: StyleOblique 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Style) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Style) noexcept { return "Style"; } 32020: 32020: enum Stretch { 32020: AnyStretch = 0, 32020: UltraCondensed = 50, 32020: ExtraCondensed = 62, 32020: Condensed = 75, 32020: SemiCondensed = 87, 32020: Unstretched = 100, 32020: SemiExpanded = 112, 32020: Expanded = 125, 32020: ExtraExpanded = 150, 32020: UltraExpanded = 200 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Stretch) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Stretch) noexcept { return "Stretch"; } 32020: 32020: enum Capitalization { 32020: MixedCase, 32020: AllUppercase, 32020: AllLowercase, 32020: SmallCaps, 32020: Capitalize 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Capitalization) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Capitalization) noexcept { return "Capitalization"; } 32020: 32020: enum SpacingType { 32020: PercentageSpacing, 32020: AbsoluteSpacing 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(SpacingType) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(SpacingType) noexcept { return "SpacingType"; } 32020: 32020: enum ResolveProperties { 32020: NoPropertiesResolved = 0x0000, 32020: FamilyResolved = 0x0001, 32020: SizeResolved = 0x0002, 32020: StyleHintResolved = 0x0004, 32020: StyleStrategyResolved = 0x0008, 32020: WeightResolved = 0x0010, 32020: StyleResolved = 0x0020, 32020: UnderlineResolved = 0x0040, 32020: OverlineResolved = 0x0080, 32020: StrikeOutResolved = 0x0100, 32020: FixedPitchResolved = 0x0200, 32020: StretchResolved = 0x0400, 32020: KerningResolved = 0x0800, 32020: CapitalizationResolved = 0x1000, 32020: LetterSpacingResolved = 0x2000, 32020: WordSpacingResolved = 0x4000, 32020: HintingPreferenceResolved = 0x8000, 32020: StyleNameResolved = 0x10000, 32020: FamiliesResolved = 0x20000, 32020: AllPropertiesResolved = 0x3ffff 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(ResolveProperties) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(ResolveProperties) noexcept { return "ResolveProperties"; } 32020: 32020: QFont(); 32020: QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false); 32020: 32020: QFont(const QFont &font, QPaintDevice *pd); 32020: 32020: QFont(const QFont &font, const QPaintDevice *pd); 32020: QFont(const QFont &font); 32020: ~QFont(); 32020: 32020: void swap(QFont &other) 32020: { qSwap(d, other.d); qSwap(resolve_mask, other.resolve_mask); } 32020: 32020: QString family() const; 32020: void setFamily(const QString &); 32020: 32020: QStringList families() const; 32020: void setFamilies(const QStringList &); 32020: 32020: QString styleName() const; 32020: void setStyleName(const QString &); 32020: 32020: int pointSize() const; 32020: void setPointSize(int); 32020: qreal pointSizeF() const; 32020: void setPointSizeF(qreal); 32020: 32020: int pixelSize() const; 32020: void setPixelSize(int); 32020: 32020: int weight() const; 32020: void setWeight(int); 32020: 32020: inline bool bold() const; 32020: inline void setBold(bool); 32020: 32020: void setStyle(Style style); 32020: Style style() const; 32020: 32020: inline bool italic() const; 32020: inline void setItalic(bool b); 32020: 32020: bool underline() const; 32020: void setUnderline(bool); 32020: 32020: bool overline() const; 32020: void setOverline(bool); 32020: 32020: bool strikeOut() const; 32020: void setStrikeOut(bool); 32020: 32020: bool fixedPitch() const; 32020: void setFixedPitch(bool); 32020: 32020: bool kerning() const; 32020: void setKerning(bool); 32020: 32020: StyleHint styleHint() const; 32020: StyleStrategy styleStrategy() const; 32020: void setStyleHint(StyleHint, StyleStrategy = PreferDefault); 32020: void setStyleStrategy(StyleStrategy s); 32020: 32020: int stretch() const; 32020: void setStretch(int); 32020: 32020: qreal letterSpacing() const; 32020: SpacingType letterSpacingType() const; 32020: void setLetterSpacing(SpacingType type, qreal spacing); 32020: 32020: qreal wordSpacing() const; 32020: void setWordSpacing(qreal spacing); 32020: 32020: void setCapitalization(Capitalization); 32020: Capitalization capitalization() const; 32020: 32020: void setHintingPreference(HintingPreference hintingPreference); 32020: HintingPreference hintingPreference() const; 32020: 32020: 32020: bool rawMode() const; 32020: void setRawMode(bool); 32020: 32020: 32020: 32020: bool exactMatch() const; 32020: 32020: QFont &operator=(const QFont &); 32020: bool operator==(const QFont &) const; 32020: bool operator!=(const QFont &) const; 32020: bool operator<(const QFont &) const; 32020: operator QVariant() const; 32020: bool isCopyOf(const QFont &) const; 32020: inline QFont &operator=(QFont &&other) noexcept 32020: { qSwap(d, other.d); qSwap(resolve_mask, other.resolve_mask); return *this; } 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__)) void setRawName(const QString &); 32020: __attribute__ ((__deprecated__)) QString rawName() const; 32020: 32020: 32020: QString key() const; 32020: 32020: QString toString() const; 32020: bool fromString(const QString &); 32020: 32020: static QString substitute(const QString &); 32020: static QStringList substitutes(const QString &); 32020: static QStringList substitutions(); 32020: static void insertSubstitution(const QString&, const QString &); 32020: static void insertSubstitutions(const QString&, const QStringList &); 32020: static void removeSubstitutions(const QString &); 32020: 32020: 32020: 32020: static void initialize(); 32020: static void cleanup(); 32020: static void cacheStatistics(); 32020: 32020: QString defaultFamily() const; 32020: 32020: __attribute__ ((__deprecated__)) QString lastResortFamily() const; 32020: __attribute__ ((__deprecated__)) QString lastResortFont() const; 32020: 32020: 32020: QFont resolve(const QFont &) const; 32020: inline uint resolve() const { return resolve_mask; } 32020: inline void resolve(uint mask) { resolve_mask = mask; } 32020: 32020: private: 32020: explicit QFont(QFontPrivate *); 32020: 32020: void detach(); 32020: 32020: 32020: friend class QFontPrivate; 32020: friend class QFontDialogPrivate; 32020: friend class QFontMetrics; 32020: friend class QFontMetricsF; 32020: friend class QFontInfo; 32020: friend class QPainter; 32020: friend class QPainterPrivate; 32020: friend class QApplication; 32020: friend class QWidget; 32020: friend class QWidgetPrivate; 32020: friend class QTextLayout; 32020: friend class QTextEngine; 32020: friend class QStackTextEngine; 32020: friend class QTextLine; 32020: friend struct QScriptLine; 32020: friend class QOpenGLContext; 32020: friend class QWin32PaintEngine; 32020: friend class QAlphaPaintEngine; 32020: friend class QPainterPath; 32020: friend class QTextItemInt; 32020: friend class QPicturePaintEngine; 32020: friend class QPainterReplayer; 32020: friend class QPaintBufferEngine; 32020: friend class QCommandLinkButtonPrivate; 32020: friend class QFontEngine; 32020: 32020: 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QFont &); 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QFont &); 32020: 32020: 32020: 32020: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QFont &); 32020: 32020: 32020: QExplicitlySharedDataPointer d; 32020: uint resolve_mask; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QFont)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFont >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFont) }; static inline const char *name() { return "QFont"; } }; inline void swap(QFont &value1, QFont &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: __attribute__((visibility("default"))) uint qHash(const QFont &font, uint seed = 0) noexcept; 32020: 32020: inline bool QFont::bold() const 32020: { return weight() > Medium; } 32020: 32020: 32020: inline void QFont::setBold(bool enable) 32020: { setWeight(enable ? Bold : Normal); } 32020: 32020: inline bool QFont::italic() const 32020: { 32020: return (style() != StyleNormal); 32020: } 32020: 32020: inline void QFont::setItalic(bool b) { 32020: setStyle(b ? StyleItalic : StyleNormal); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QFont &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QFont &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QFont &); 32020: 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfontinfo.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QFontInfo 32020: { 32020: public: 32020: QFontInfo(const QFont &); 32020: QFontInfo(const QFontInfo &); 32020: ~QFontInfo(); 32020: 32020: QFontInfo &operator=(const QFontInfo &); 32020: 32020: void swap(QFontInfo &other) { qSwap(d, other.d); } 32020: 32020: QString family() const; 32020: QString styleName() const; 32020: int pixelSize() const; 32020: int pointSize() const; 32020: qreal pointSizeF() const; 32020: bool italic() const; 32020: QFont::Style style() const; 32020: int weight() const; 32020: inline bool bold() const { return weight() > QFont::Normal; } 32020: bool underline() const; 32020: bool overline() const; 32020: bool strikeOut() const; 32020: bool fixedPitch() const; 32020: QFont::StyleHint styleHint() const; 32020: 32020: bool rawMode() const; 32020: 32020: 32020: bool exactMatch() const; 32020: 32020: private: 32020: QExplicitlySharedDataPointer d; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QFontInfo)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFontInfo >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFontInfo) }; static inline const char *name() { return "QFontInfo"; } }; inline void swap(QFontInfo &value1, QFontInfo &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfontmetrics.h" 1 3 4 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qfontmetrics.h" 3 4 32020: 32020: 32020: 32020: 32020: class QTextCodec; 32020: class QRect; 32020: 32020: 32020: class __attribute__((visibility("default"))) QFontMetrics 32020: { 32020: public: 32020: explicit QFontMetrics(const QFont &); 32020: 32020: QFontMetrics(const QFont &font, QPaintDevice *pd); 32020: 32020: 32020: 32020: template 32020: 32020: QFontMetrics(const QFont &font, const QPaintDevice *pd) 32020: : QFontMetrics(font, const_cast(pd)) 32020: {} 32020: 32020: 32020: 32020: QFontMetrics(const QFontMetrics &); 32020: ~QFontMetrics(); 32020: 32020: QFontMetrics &operator=(const QFontMetrics &); 32020: inline QFontMetrics &operator=(QFontMetrics &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: 32020: void swap(QFontMetrics &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: int ascent() const; 32020: int capHeight() const; 32020: int descent() const; 32020: int height() const; 32020: int leading() const; 32020: int lineSpacing() const; 32020: int minLeftBearing() const; 32020: int minRightBearing() const; 32020: int maxWidth() const; 32020: 32020: int xHeight() const; 32020: int averageCharWidth() const; 32020: 32020: bool inFont(QChar) const; 32020: bool inFontUcs4(uint ucs4) const; 32020: 32020: int leftBearing(QChar) const; 32020: int rightBearing(QChar) const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QFontMetrics::horizontalAdvance"))) 32020: int width(const QString &, int len = -1) const; 32020: __attribute__ ((__deprecated__("Use QFontMetrics::horizontalAdvance"))) 32020: int width(const QString &, int len, int flags) const; 32020: __attribute__ ((__deprecated__("Use QFontMetrics::horizontalAdvance"))) 32020: int width(QChar) const; 32020: 32020: 32020: int horizontalAdvance(const QString &, int len = -1) const; 32020: int horizontalAdvance(QChar) const; 32020: 32020: 32020: __attribute__ ((__deprecated__)) int charWidth(const QString &str, int pos) const; 32020: 32020: 32020: QRect boundingRect(QChar) const; 32020: 32020: QRect boundingRect(const QString &text) const; 32020: QRect boundingRect(const QRect &r, int flags, const QString &text, int tabstops = 0, int *tabarray = nullptr) const; 32020: inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text, 32020: int tabstops = 0, int *tabarray = nullptr) const 32020: { return boundingRect(QRect(x, y, w, h), flags, text, tabstops, tabarray); } 32020: QSize size(int flags, const QString& str, int tabstops = 0, int *tabarray = nullptr) const; 32020: 32020: QRect tightBoundingRect(const QString &text) const; 32020: 32020: QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const; 32020: 32020: int underlinePos() const; 32020: int overlinePos() const; 32020: int strikeOutPos() const; 32020: int lineWidth() const; 32020: 32020: qreal fontDpi() const; 32020: 32020: bool operator==(const QFontMetrics &other) const; 32020: inline bool operator !=(const QFontMetrics &other) const { return !operator==(other); } 32020: 32020: private: 32020: friend class QFontMetricsF; 32020: friend class QStackTextEngine; 32020: 32020: QExplicitlySharedDataPointer d; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QFontMetrics)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFontMetrics >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFontMetrics) }; static inline const char *name() { return "QFontMetrics"; } }; inline void swap(QFontMetrics &value1, QFontMetrics &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: class __attribute__((visibility("default"))) QFontMetricsF 32020: { 32020: public: 32020: explicit QFontMetricsF(const QFont &font); 32020: 32020: QFontMetricsF(const QFont &font, QPaintDevice *pd); 32020: 32020: 32020: 32020: template 32020: 32020: QFontMetricsF(const QFont &font, const QPaintDevice *pd) 32020: : QFontMetricsF(font, const_cast(pd)) 32020: {} 32020: 32020: 32020: 32020: QFontMetricsF(const QFontMetrics &); 32020: QFontMetricsF(const QFontMetricsF &); 32020: ~QFontMetricsF(); 32020: 32020: QFontMetricsF &operator=(const QFontMetricsF &); 32020: QFontMetricsF &operator=(const QFontMetrics &); 32020: inline QFontMetricsF &operator=(QFontMetricsF &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: 32020: void swap(QFontMetricsF &other) noexcept { qSwap(d, other.d); } 32020: 32020: qreal ascent() const; 32020: qreal capHeight() const; 32020: qreal descent() const; 32020: qreal height() const; 32020: qreal leading() const; 32020: qreal lineSpacing() const; 32020: qreal minLeftBearing() const; 32020: qreal minRightBearing() const; 32020: qreal maxWidth() const; 32020: 32020: qreal xHeight() const; 32020: qreal averageCharWidth() const; 32020: 32020: bool inFont(QChar) const; 32020: bool inFontUcs4(uint ucs4) const; 32020: 32020: qreal leftBearing(QChar) const; 32020: qreal rightBearing(QChar) const; 32020: 32020: 32020: qreal width(const QString &string) const; 32020: qreal width(QChar) const; 32020: 32020: 32020: qreal horizontalAdvance(const QString &string, int length = -1) const; 32020: qreal horizontalAdvance(QChar) const; 32020: 32020: QRectF boundingRect(const QString &string) const; 32020: QRectF boundingRect(QChar) const; 32020: QRectF boundingRect(const QRectF &r, int flags, const QString& string, int tabstops = 0, int *tabarray = nullptr) const; 32020: QSizeF size(int flags, const QString& str, int tabstops = 0, int *tabarray = nullptr) const; 32020: 32020: QRectF tightBoundingRect(const QString &text) const; 32020: 32020: QString elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags = 0) const; 32020: 32020: qreal underlinePos() const; 32020: qreal overlinePos() const; 32020: qreal strikeOutPos() const; 32020: qreal lineWidth() const; 32020: 32020: qreal fontDpi() const; 32020: 32020: bool operator==(const QFontMetricsF &other) const; 32020: inline bool operator !=(const QFontMetricsF &other) const { return !operator==(other); } 32020: 32020: private: 32020: QExplicitlySharedDataPointer d; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QFontMetricsF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFontMetricsF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFontMetricsF) }; static inline const char *name() { return "QFontMetricsF"; } }; inline void swap(QFontMetricsF &value1, QFontMetricsF &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: class QBrush; 32020: class QFontInfo; 32020: class QFontMetrics; 32020: class QPaintDevice; 32020: class QPainterPath; 32020: class QPainterPrivate; 32020: class QPen; 32020: class QPolygon; 32020: class QTextItem; 32020: class QTextEngine; 32020: class QTransform; 32020: class QStaticText; 32020: class QGlyphRun; 32020: 32020: class QPainterPrivateDeleter; 32020: 32020: class __attribute__((visibility("default"))) QPainter 32020: { 32020: inline QPainterPrivate* d_func() { 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: } inline const QPainterPrivate* d_func() const { 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 83 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: } friend class QPainterPrivate; 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 84 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h" 3 4 32020: 32020: 32020: public: 32020: enum RenderHint { 32020: Antialiasing = 0x01, 32020: TextAntialiasing = 0x02, 32020: SmoothPixmapTransform = 0x04, 32020: 32020: HighQualityAntialiasing __attribute__ ((__deprecated__("Use Antialiasing instead"))) = 0x08, 32020: NonCosmeticDefaultPen __attribute__ ((__deprecated__("Default pen is non-cosmetic now"))) = 0x10, 32020: 32020: Qt4CompatiblePainting = 0x20, 32020: LosslessImageRendering = 0x40, 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(RenderHint) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(RenderHint) noexcept { return "RenderHint"; } 32020: 32020: typedef QFlags RenderHints; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(RenderHints) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(RenderHints) noexcept { return "RenderHints"; } 32020: 32020: class PixmapFragment { 32020: public: 32020: qreal x; 32020: qreal y; 32020: qreal sourceLeft; 32020: qreal sourceTop; 32020: qreal width; 32020: qreal height; 32020: qreal scaleX; 32020: qreal scaleY; 32020: qreal rotation; 32020: qreal opacity; 32020: static PixmapFragment __attribute__((visibility("default"))) create(const QPointF &pos, const QRectF &sourceRect, 32020: qreal scaleX = 1, qreal scaleY = 1, 32020: qreal rotation = 0, qreal opacity = 1); 32020: }; 32020: 32020: enum PixmapFragmentHint { 32020: OpaqueHint = 0x01 32020: }; 32020: 32020: typedef QFlags PixmapFragmentHints; 32020: 32020: QPainter(); 32020: explicit QPainter(QPaintDevice *); 32020: ~QPainter(); 32020: 32020: QPaintDevice *device() const; 32020: 32020: bool begin(QPaintDevice *); 32020: bool end(); 32020: bool isActive() const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use begin(QPaintDevice*) instead"))) 32020: void initFrom(const QPaintDevice *device); 32020: 32020: 32020: enum CompositionMode { 32020: CompositionMode_SourceOver, 32020: CompositionMode_DestinationOver, 32020: CompositionMode_Clear, 32020: CompositionMode_Source, 32020: CompositionMode_Destination, 32020: CompositionMode_SourceIn, 32020: CompositionMode_DestinationIn, 32020: CompositionMode_SourceOut, 32020: CompositionMode_DestinationOut, 32020: CompositionMode_SourceAtop, 32020: CompositionMode_DestinationAtop, 32020: CompositionMode_Xor, 32020: 32020: 32020: CompositionMode_Plus, 32020: CompositionMode_Multiply, 32020: CompositionMode_Screen, 32020: CompositionMode_Overlay, 32020: CompositionMode_Darken, 32020: CompositionMode_Lighten, 32020: CompositionMode_ColorDodge, 32020: CompositionMode_ColorBurn, 32020: CompositionMode_HardLight, 32020: CompositionMode_SoftLight, 32020: CompositionMode_Difference, 32020: CompositionMode_Exclusion, 32020: 32020: 32020: RasterOp_SourceOrDestination, 32020: RasterOp_SourceAndDestination, 32020: RasterOp_SourceXorDestination, 32020: RasterOp_NotSourceAndNotDestination, 32020: RasterOp_NotSourceOrNotDestination, 32020: RasterOp_NotSourceXorDestination, 32020: RasterOp_NotSource, 32020: RasterOp_NotSourceAndDestination, 32020: RasterOp_SourceAndNotDestination, 32020: RasterOp_NotSourceOrDestination, 32020: RasterOp_SourceOrNotDestination, 32020: RasterOp_ClearDestination, 32020: RasterOp_SetDestination, 32020: RasterOp_NotDestination 32020: }; 32020: void setCompositionMode(CompositionMode mode); 32020: CompositionMode compositionMode() const; 32020: 32020: const QFont &font() const; 32020: void setFont(const QFont &f); 32020: 32020: QFontMetrics fontMetrics() const; 32020: QFontInfo fontInfo() const; 32020: 32020: void setPen(const QColor &color); 32020: void setPen(const QPen &pen); 32020: void setPen(Qt::PenStyle style); 32020: const QPen &pen() const; 32020: 32020: void setBrush(const QBrush &brush); 32020: void setBrush(Qt::BrushStyle style); 32020: const QBrush &brush() const; 32020: 32020: 32020: void setBackgroundMode(Qt::BGMode mode); 32020: Qt::BGMode backgroundMode() const; 32020: 32020: QPoint brushOrigin() const; 32020: inline void setBrushOrigin(int x, int y); 32020: inline void setBrushOrigin(const QPoint &); 32020: void setBrushOrigin(const QPointF &); 32020: 32020: void setBackground(const QBrush &bg); 32020: const QBrush &background() const; 32020: 32020: qreal opacity() const; 32020: void setOpacity(qreal opacity); 32020: 32020: 32020: QRegion clipRegion() const; 32020: QPainterPath clipPath() const; 32020: 32020: void setClipRect(const QRectF &, Qt::ClipOperation op = Qt::ReplaceClip); 32020: void setClipRect(const QRect &, Qt::ClipOperation op = Qt::ReplaceClip); 32020: inline void setClipRect(int x, int y, int w, int h, Qt::ClipOperation op = Qt::ReplaceClip); 32020: 32020: void setClipRegion(const QRegion &, Qt::ClipOperation op = Qt::ReplaceClip); 32020: 32020: void setClipPath(const QPainterPath &path, Qt::ClipOperation op = Qt::ReplaceClip); 32020: 32020: void setClipping(bool enable); 32020: bool hasClipping() const; 32020: 32020: QRectF clipBoundingRect() const; 32020: 32020: void save(); 32020: void restore(); 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use setTransform() instead"))) 32020: void setMatrix(const QMatrix &matrix, bool combine = false); 32020: __attribute__ ((__deprecated__("Use transform() instead"))) 32020: const QMatrix &matrix() const; 32020: __attribute__ ((__deprecated__("Use deviceTransform() instead"))) 32020: const QMatrix &deviceMatrix() const; 32020: __attribute__ ((__deprecated__("Use resetTransform() instead"))) 32020: void resetMatrix(); 32020: 32020: 32020: void setTransform(const QTransform &transform, bool combine = false); 32020: const QTransform &transform() const; 32020: const QTransform &deviceTransform() const; 32020: void resetTransform(); 32020: 32020: 32020: __attribute__ ((__deprecated__("Use setWorldTransform() instead"))) 32020: void setWorldMatrix(const QMatrix &matrix, bool combine = false); 32020: __attribute__ ((__deprecated__("Use worldTransform() instead"))) 32020: const QMatrix &worldMatrix() const; 32020: __attribute__ ((__deprecated__("Use combinedTransform() instead"))) 32020: QMatrix combinedMatrix() const; 32020: __attribute__ ((__deprecated__("Use setWorldMatrixEnabled() instead"))) 32020: void setMatrixEnabled(bool enabled); 32020: __attribute__ ((__deprecated__("Use worldMatrixEnabled() instead"))) 32020: bool matrixEnabled() const; 32020: 32020: 32020: void setWorldTransform(const QTransform &matrix, bool combine = false); 32020: const QTransform &worldTransform() const; 32020: 32020: QTransform combinedTransform() const; 32020: 32020: void setWorldMatrixEnabled(bool enabled); 32020: bool worldMatrixEnabled() const; 32020: 32020: void scale(qreal sx, qreal sy); 32020: void shear(qreal sh, qreal sv); 32020: void rotate(qreal a); 32020: 32020: void translate(const QPointF &offset); 32020: inline void translate(const QPoint &offset); 32020: inline void translate(qreal dx, qreal dy); 32020: 32020: QRect window() const; 32020: void setWindow(const QRect &window); 32020: inline void setWindow(int x, int y, int w, int h); 32020: 32020: QRect viewport() const; 32020: void setViewport(const QRect &viewport); 32020: inline void setViewport(int x, int y, int w, int h); 32020: 32020: void setViewTransformEnabled(bool enable); 32020: bool viewTransformEnabled() const; 32020: 32020: 32020: void strokePath(const QPainterPath &path, const QPen &pen); 32020: void fillPath(const QPainterPath &path, const QBrush &brush); 32020: void drawPath(const QPainterPath &path); 32020: 32020: inline void drawPoint(const QPointF &pt); 32020: inline void drawPoint(const QPoint &p); 32020: inline void drawPoint(int x, int y); 32020: 32020: void drawPoints(const QPointF *points, int pointCount); 32020: inline void drawPoints(const QPolygonF &points); 32020: void drawPoints(const QPoint *points, int pointCount); 32020: inline void drawPoints(const QPolygon &points); 32020: 32020: inline void drawLine(const QLineF &line); 32020: inline void drawLine(const QLine &line); 32020: inline void drawLine(int x1, int y1, int x2, int y2); 32020: inline void drawLine(const QPoint &p1, const QPoint &p2); 32020: inline void drawLine(const QPointF &p1, const QPointF &p2); 32020: 32020: void drawLines(const QLineF *lines, int lineCount); 32020: inline void drawLines(const QVector &lines); 32020: void drawLines(const QPointF *pointPairs, int lineCount); 32020: inline void drawLines(const QVector &pointPairs); 32020: void drawLines(const QLine *lines, int lineCount); 32020: inline void drawLines(const QVector &lines); 32020: void drawLines(const QPoint *pointPairs, int lineCount); 32020: inline void drawLines(const QVector &pointPairs); 32020: 32020: inline void drawRect(const QRectF &rect); 32020: inline void drawRect(int x1, int y1, int w, int h); 32020: inline void drawRect(const QRect &rect); 32020: 32020: void drawRects(const QRectF *rects, int rectCount); 32020: inline void drawRects(const QVector &rectangles); 32020: void drawRects(const QRect *rects, int rectCount); 32020: inline void drawRects(const QVector &rectangles); 32020: 32020: void drawEllipse(const QRectF &r); 32020: void drawEllipse(const QRect &r); 32020: inline void drawEllipse(int x, int y, int w, int h); 32020: 32020: inline void drawEllipse(const QPointF ¢er, qreal rx, qreal ry); 32020: inline void drawEllipse(const QPoint ¢er, int rx, int ry); 32020: 32020: void drawPolyline(const QPointF *points, int pointCount); 32020: inline void drawPolyline(const QPolygonF &polyline); 32020: void drawPolyline(const QPoint *points, int pointCount); 32020: inline void drawPolyline(const QPolygon &polygon); 32020: 32020: void drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill); 32020: inline void drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule = Qt::OddEvenFill); 32020: void drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill); 32020: inline void drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule = Qt::OddEvenFill); 32020: 32020: void drawConvexPolygon(const QPointF *points, int pointCount); 32020: inline void drawConvexPolygon(const QPolygonF &polygon); 32020: void drawConvexPolygon(const QPoint *points, int pointCount); 32020: inline void drawConvexPolygon(const QPolygon &polygon); 32020: 32020: void drawArc(const QRectF &rect, int a, int alen); 32020: inline void drawArc(const QRect &, int a, int alen); 32020: inline void drawArc(int x, int y, int w, int h, int a, int alen); 32020: 32020: void drawPie(const QRectF &rect, int a, int alen); 32020: inline void drawPie(int x, int y, int w, int h, int a, int alen); 32020: inline void drawPie(const QRect &, int a, int alen); 32020: 32020: void drawChord(const QRectF &rect, int a, int alen); 32020: inline void drawChord(int x, int y, int w, int h, int a, int alen); 32020: inline void drawChord(const QRect &, int a, int alen); 32020: 32020: void drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, 32020: Qt::SizeMode mode = Qt::AbsoluteSize); 32020: inline void drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, 32020: Qt::SizeMode mode = Qt::AbsoluteSize); 32020: inline void drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, 32020: Qt::SizeMode mode = Qt::AbsoluteSize); 32020: 32020: 32020: __attribute__ ((__deprecated__("Use drawRoundedRect(..., Qt::RelativeSize) instead"))) 32020: void drawRoundRect(const QRectF &r, int xround = 25, int yround = 25); 32020: __attribute__ ((__deprecated__("Use drawRoundedRect(..., Qt::RelativeSize) instead"))) 32020: void drawRoundRect(int x, int y, int w, int h, int = 25, int = 25); 32020: __attribute__ ((__deprecated__("Use drawRoundedRect(..., Qt::RelativeSize) instead"))) 32020: void drawRoundRect(const QRect &r, int xround = 25, int yround = 25); 32020: 32020: 32020: void drawTiledPixmap(const QRectF &rect, const QPixmap &pm, const QPointF &offset = QPointF()); 32020: inline void drawTiledPixmap(int x, int y, int w, int h, const QPixmap &, int sx=0, int sy=0); 32020: inline void drawTiledPixmap(const QRect &, const QPixmap &, const QPoint & = QPoint()); 32020: 32020: void drawPicture(const QPointF &p, const QPicture &picture); 32020: inline void drawPicture(int x, int y, const QPicture &picture); 32020: inline void drawPicture(const QPoint &p, const QPicture &picture); 32020: 32020: 32020: void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect); 32020: inline void drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect); 32020: inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm, 32020: int sx, int sy, int sw, int sh); 32020: inline void drawPixmap(int x, int y, const QPixmap &pm, 32020: int sx, int sy, int sw, int sh); 32020: inline void drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr); 32020: inline void drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr); 32020: void drawPixmap(const QPointF &p, const QPixmap &pm); 32020: inline void drawPixmap(const QPoint &p, const QPixmap &pm); 32020: inline void drawPixmap(int x, int y, const QPixmap &pm); 32020: inline void drawPixmap(const QRect &r, const QPixmap &pm); 32020: inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm); 32020: 32020: void drawPixmapFragments(const PixmapFragment *fragments, int fragmentCount, 32020: const QPixmap &pixmap, PixmapFragmentHints hints = PixmapFragmentHints()); 32020: 32020: void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect, 32020: Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: inline void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect, 32020: Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: inline void drawImage(const QPointF &p, const QImage &image, const QRectF &sr, 32020: Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: inline void drawImage(const QPoint &p, const QImage &image, const QRect &sr, 32020: Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: inline void drawImage(const QRectF &r, const QImage &image); 32020: inline void drawImage(const QRect &r, const QImage &image); 32020: void drawImage(const QPointF &p, const QImage &image); 32020: inline void drawImage(const QPoint &p, const QImage &image); 32020: inline void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0, 32020: int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor); 32020: 32020: void setLayoutDirection(Qt::LayoutDirection direction); 32020: Qt::LayoutDirection layoutDirection() const; 32020: 32020: 32020: void drawGlyphRun(const QPointF &position, const QGlyphRun &glyphRun); 32020: 32020: 32020: void drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText); 32020: inline void drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText); 32020: inline void drawStaticText(int left, int top, const QStaticText &staticText); 32020: 32020: void drawText(const QPointF &p, const QString &s); 32020: inline void drawText(const QPoint &p, const QString &s); 32020: inline void drawText(int x, int y, const QString &s); 32020: 32020: void drawText(const QPointF &p, const QString &str, int tf, int justificationPadding); 32020: 32020: void drawText(const QRectF &r, int flags, const QString &text, QRectF *br = nullptr); 32020: void drawText(const QRect &r, int flags, const QString &text, QRect *br = nullptr); 32020: inline void drawText(int x, int y, int w, int h, int flags, const QString &text, QRect *br = nullptr); 32020: 32020: void drawText(const QRectF &r, const QString &text, const QTextOption &o = QTextOption()); 32020: 32020: QRectF boundingRect(const QRectF &rect, int flags, const QString &text); 32020: QRect boundingRect(const QRect &rect, int flags, const QString &text); 32020: inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text); 32020: 32020: QRectF boundingRect(const QRectF &rect, const QString &text, const QTextOption &o = QTextOption()); 32020: 32020: void drawTextItem(const QPointF &p, const QTextItem &ti); 32020: inline void drawTextItem(int x, int y, const QTextItem &ti); 32020: inline void drawTextItem(const QPoint &p, const QTextItem &ti); 32020: 32020: void fillRect(const QRectF &, const QBrush &); 32020: inline void fillRect(int x, int y, int w, int h, const QBrush &); 32020: void fillRect(const QRect &, const QBrush &); 32020: 32020: void fillRect(const QRectF &, const QColor &color); 32020: inline void fillRect(int x, int y, int w, int h, const QColor &color); 32020: void fillRect(const QRect &, const QColor &color); 32020: 32020: inline void fillRect(int x, int y, int w, int h, Qt::GlobalColor c); 32020: inline void fillRect(const QRect &r, Qt::GlobalColor c); 32020: inline void fillRect(const QRectF &r, Qt::GlobalColor c); 32020: 32020: inline void fillRect(int x, int y, int w, int h, Qt::BrushStyle style); 32020: inline void fillRect(const QRect &r, Qt::BrushStyle style); 32020: inline void fillRect(const QRectF &r, Qt::BrushStyle style); 32020: 32020: inline void fillRect(int x, int y, int w, int h, QGradient::Preset preset); 32020: inline void fillRect(const QRect &r, QGradient::Preset preset); 32020: inline void fillRect(const QRectF &r, QGradient::Preset preset); 32020: 32020: void eraseRect(const QRectF &); 32020: inline void eraseRect(int x, int y, int w, int h); 32020: inline void eraseRect(const QRect &); 32020: 32020: void setRenderHint(RenderHint hint, bool on = true); 32020: void setRenderHints(RenderHints hints, bool on = true); 32020: RenderHints renderHints() const; 32020: inline bool testRenderHint(RenderHint hint) const { return renderHints() & hint; } 32020: 32020: QPaintEngine *paintEngine() const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QWidget::render() instead"))) 32020: static void setRedirected(const QPaintDevice *device, QPaintDevice *replacement, 32020: const QPoint& offset = QPoint()); 32020: __attribute__ ((__deprecated__("Use QWidget::render() instead"))) 32020: static QPaintDevice *redirected(const QPaintDevice *device, QPoint *offset = nullptr); 32020: __attribute__ ((__deprecated__("Use QWidget::render() instead"))) 32020: static void restoreRedirected(const QPaintDevice *device); 32020: 32020: 32020: void beginNativePainting(); 32020: void endNativePainting(); 32020: 32020: private: 32020: QPainter(const QPainter &) = delete; QPainter &operator=(const QPainter &) = delete; 32020: 32020: QScopedPointer d_ptr; 32020: 32020: friend class QWidget; 32020: friend class QFontEngine; 32020: friend class QFontEngineBox; 32020: friend class QFontEngineFT; 32020: friend class QFontEngineMac; 32020: friend class QFontEngineWin; 32020: friend class QPaintEngine; 32020: friend class QPaintEngineExPrivate; 32020: friend class QOpenGLPaintEngine; 32020: friend class QWin32PaintEngine; 32020: friend class QWin32PaintEnginePrivate; 32020: friend class QRasterPaintEngine; 32020: friend class QAlphaPaintEngine; 32020: friend class QPreviewPaintEngine; 32020: friend class QTextEngine; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPainter::PixmapFragment)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPainter::PixmapFragment >::value, isDummy = (((Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPainter::PixmapFragment) }; static inline const char *name() { return "QPainter::PixmapFragment"; } }; 32020: 32020: constexpr inline QFlags operator|(QPainter::RenderHints::enum_type f1, QPainter::RenderHints::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QPainter::RenderHints::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QPainter::RenderHints::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: 32020: 32020: 32020: inline void QPainter::drawLine(const QLineF &l) 32020: { 32020: drawLines(&l, 1); 32020: } 32020: 32020: inline void QPainter::drawLine(const QLine &line) 32020: { 32020: drawLines(&line, 1); 32020: } 32020: 32020: inline void QPainter::drawLine(int x1, int y1, int x2, int y2) 32020: { 32020: QLine l(x1, y1, x2, y2); 32020: drawLines(&l, 1); 32020: } 32020: 32020: inline void QPainter::drawLine(const QPoint &p1, const QPoint &p2) 32020: { 32020: QLine l(p1, p2); 32020: drawLines(&l, 1); 32020: } 32020: 32020: inline void QPainter::drawLine(const QPointF &p1, const QPointF &p2) 32020: { 32020: drawLine(QLineF(p1, p2)); 32020: } 32020: 32020: inline void QPainter::drawLines(const QVector &lines) 32020: { 32020: drawLines(lines.constData(), lines.size()); 32020: } 32020: 32020: inline void QPainter::drawLines(const QVector &lines) 32020: { 32020: drawLines(lines.constData(), lines.size()); 32020: } 32020: 32020: inline void QPainter::drawLines(const QVector &pointPairs) 32020: { 32020: drawLines(pointPairs.constData(), pointPairs.size() / 2); 32020: } 32020: 32020: inline void QPainter::drawLines(const QVector &pointPairs) 32020: { 32020: drawLines(pointPairs.constData(), pointPairs.size() / 2); 32020: } 32020: 32020: inline void QPainter::drawPolyline(const QPolygonF &polyline) 32020: { 32020: drawPolyline(polyline.constData(), polyline.size()); 32020: } 32020: 32020: inline void QPainter::drawPolyline(const QPolygon &polyline) 32020: { 32020: drawPolyline(polyline.constData(), polyline.size()); 32020: } 32020: 32020: inline void QPainter::drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule) 32020: { 32020: drawPolygon(polygon.constData(), polygon.size(), fillRule); 32020: } 32020: 32020: inline void QPainter::drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule) 32020: { 32020: drawPolygon(polygon.constData(), polygon.size(), fillRule); 32020: } 32020: 32020: inline void QPainter::drawConvexPolygon(const QPolygonF &poly) 32020: { 32020: drawConvexPolygon(poly.constData(), poly.size()); 32020: } 32020: 32020: inline void QPainter::drawConvexPolygon(const QPolygon &poly) 32020: { 32020: drawConvexPolygon(poly.constData(), poly.size()); 32020: } 32020: 32020: inline void QPainter::drawRect(const QRectF &rect) 32020: { 32020: drawRects(&rect, 1); 32020: } 32020: 32020: inline void QPainter::drawRect(int x, int y, int w, int h) 32020: { 32020: QRect r(x, y, w, h); 32020: drawRects(&r, 1); 32020: } 32020: 32020: inline void QPainter::drawRect(const QRect &r) 32020: { 32020: drawRects(&r, 1); 32020: } 32020: 32020: inline void QPainter::drawRects(const QVector &rects) 32020: { 32020: drawRects(rects.constData(), rects.size()); 32020: } 32020: 32020: inline void QPainter::drawRects(const QVector &rects) 32020: { 32020: drawRects(rects.constData(), rects.size()); 32020: } 32020: 32020: inline void QPainter::drawPoint(const QPointF &p) 32020: { 32020: drawPoints(&p, 1); 32020: } 32020: 32020: inline void QPainter::drawPoint(int x, int y) 32020: { 32020: QPoint p(x, y); 32020: drawPoints(&p, 1); 32020: } 32020: 32020: inline void QPainter::drawPoint(const QPoint &p) 32020: { 32020: drawPoints(&p, 1); 32020: } 32020: 32020: inline void QPainter::drawPoints(const QPolygonF &points) 32020: { 32020: drawPoints(points.constData(), points.size()); 32020: } 32020: 32020: inline void QPainter::drawPoints(const QPolygon &points) 32020: { 32020: drawPoints(points.constData(), points.size()); 32020: } 32020: 32020: inline void QPainter::drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, 32020: Qt::SizeMode mode) 32020: { 32020: drawRoundedRect(QRectF(x, y, w, h), xRadius, yRadius, mode); 32020: } 32020: 32020: inline void QPainter::drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, 32020: Qt::SizeMode mode) 32020: { 32020: drawRoundedRect(QRectF(rect), xRadius, yRadius, mode); 32020: } 32020: 32020: inline void QPainter::drawEllipse(int x, int y, int w, int h) 32020: { 32020: drawEllipse(QRect(x, y, w, h)); 32020: } 32020: 32020: inline void QPainter::drawEllipse(const QPointF ¢er, qreal rx, qreal ry) 32020: { 32020: drawEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); 32020: } 32020: 32020: inline void QPainter::drawEllipse(const QPoint ¢er, int rx, int ry) 32020: { 32020: drawEllipse(QRect(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); 32020: } 32020: 32020: inline void QPainter::drawArc(const QRect &r, int a, int alen) 32020: { 32020: drawArc(QRectF(r), a, alen); 32020: } 32020: 32020: inline void QPainter::drawArc(int x, int y, int w, int h, int a, int alen) 32020: { 32020: drawArc(QRectF(x, y, w, h), a, alen); 32020: } 32020: 32020: inline void QPainter::drawPie(const QRect &rect, int a, int alen) 32020: { 32020: drawPie(QRectF(rect), a, alen); 32020: } 32020: 32020: inline void QPainter::drawPie(int x, int y, int w, int h, int a, int alen) 32020: { 32020: drawPie(QRectF(x, y, w, h), a, alen); 32020: } 32020: 32020: inline void QPainter::drawChord(const QRect &rect, int a, int alen) 32020: { 32020: drawChord(QRectF(rect), a, alen); 32020: } 32020: 32020: inline void QPainter::drawChord(int x, int y, int w, int h, int a, int alen) 32020: { 32020: drawChord(QRectF(x, y, w, h), a, alen); 32020: } 32020: 32020: inline void QPainter::setClipRect(int x, int y, int w, int h, Qt::ClipOperation op) 32020: { 32020: setClipRect(QRect(x, y, w, h), op); 32020: } 32020: 32020: inline void QPainter::eraseRect(const QRect &rect) 32020: { 32020: eraseRect(QRectF(rect)); 32020: } 32020: 32020: inline void QPainter::eraseRect(int x, int y, int w, int h) 32020: { 32020: eraseRect(QRectF(x, y, w, h)); 32020: } 32020: 32020: inline void QPainter::fillRect(int x, int y, int w, int h, const QBrush &b) 32020: { 32020: fillRect(QRect(x, y, w, h), b); 32020: } 32020: 32020: inline void QPainter::fillRect(int x, int y, int w, int h, const QColor &b) 32020: { 32020: fillRect(QRect(x, y, w, h), b); 32020: } 32020: 32020: inline void QPainter::fillRect(int x, int y, int w, int h, Qt::GlobalColor c) 32020: { 32020: fillRect(QRect(x, y, w, h), QColor(c)); 32020: } 32020: 32020: inline void QPainter::fillRect(const QRect &r, Qt::GlobalColor c) 32020: { 32020: fillRect(r, QColor(c)); 32020: } 32020: 32020: inline void QPainter::fillRect(const QRectF &r, Qt::GlobalColor c) 32020: { 32020: fillRect(r, QColor(c)); 32020: } 32020: 32020: inline void QPainter::fillRect(int x, int y, int w, int h, Qt::BrushStyle style) 32020: { 32020: fillRect(QRectF(x, y, w, h), QBrush(style)); 32020: } 32020: 32020: inline void QPainter::fillRect(const QRect &r, Qt::BrushStyle style) 32020: { 32020: fillRect(QRectF(r), QBrush(style)); 32020: } 32020: 32020: inline void QPainter::fillRect(const QRectF &r, Qt::BrushStyle style) 32020: { 32020: fillRect(r, QBrush(style)); 32020: } 32020: 32020: inline void QPainter::fillRect(int x, int y, int w, int h, QGradient::Preset p) 32020: { 32020: fillRect(QRect(x, y, w, h), QGradient(p)); 32020: } 32020: 32020: inline void QPainter::fillRect(const QRect &r, QGradient::Preset p) 32020: { 32020: fillRect(r, QGradient(p)); 32020: } 32020: 32020: inline void QPainter::fillRect(const QRectF &r, QGradient::Preset p) 32020: { 32020: fillRect(r, QGradient(p)); 32020: } 32020: 32020: inline void QPainter::setBrushOrigin(int x, int y) 32020: { 32020: setBrushOrigin(QPoint(x, y)); 32020: } 32020: 32020: inline void QPainter::setBrushOrigin(const QPoint &p) 32020: { 32020: setBrushOrigin(QPointF(p)); 32020: } 32020: 32020: inline void QPainter::drawTiledPixmap(const QRect &rect, const QPixmap &pm, const QPoint &offset) 32020: { 32020: drawTiledPixmap(QRectF(rect), pm, QPointF(offset)); 32020: } 32020: 32020: inline void QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPixmap &pm, int sx, int sy) 32020: { 32020: drawTiledPixmap(QRectF(x, y, w, h), pm, QPointF(sx, sy)); 32020: } 32020: 32020: inline void QPainter::drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect) 32020: { 32020: drawPixmap(QRectF(targetRect), pixmap, QRectF(sourceRect)); 32020: } 32020: 32020: inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm) 32020: { 32020: drawPixmap(QPointF(p), pm); 32020: } 32020: 32020: inline void QPainter::drawPixmap(const QRect &r, const QPixmap &pm) 32020: { 32020: drawPixmap(QRectF(r), pm, QRectF()); 32020: } 32020: 32020: inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm) 32020: { 32020: drawPixmap(QPointF(x, y), pm); 32020: } 32020: 32020: inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm) 32020: { 32020: drawPixmap(QRectF(x, y, w, h), pm, QRectF()); 32020: } 32020: 32020: inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm, 32020: int sx, int sy, int sw, int sh) 32020: { 32020: drawPixmap(QRectF(x, y, w, h), pm, QRectF(sx, sy, sw, sh)); 32020: } 32020: 32020: inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm, 32020: int sx, int sy, int sw, int sh) 32020: { 32020: drawPixmap(QRectF(x, y, -1, -1), pm, QRectF(sx, sy, sw, sh)); 32020: } 32020: 32020: inline void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr) 32020: { 32020: drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr); 32020: } 32020: 32020: inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr) 32020: { 32020: drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr); 32020: } 32020: 32020: inline void QPainter::drawTextItem(int x, int y, const QTextItem &ti) 32020: { 32020: drawTextItem(QPointF(x, y), ti); 32020: } 32020: 32020: inline void QPainter::drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect, 32020: Qt::ImageConversionFlags flags) 32020: { 32020: drawImage(QRectF(targetRect), image, QRectF(sourceRect), flags); 32020: } 32020: 32020: inline void QPainter::drawImage(const QPointF &p, const QImage &image, const QRectF &sr, 32020: Qt::ImageConversionFlags flags) 32020: { 32020: drawImage(QRectF(p.x(), p.y(), -1, -1), image, sr, flags); 32020: } 32020: 32020: inline void QPainter::drawImage(const QPoint &p, const QImage &image, const QRect &sr, 32020: Qt::ImageConversionFlags flags) 32020: { 32020: drawImage(QRect(p.x(), p.y(), -1, -1), image, sr, flags); 32020: } 32020: 32020: 32020: inline void QPainter::drawImage(const QRectF &r, const QImage &image) 32020: { 32020: drawImage(r, image, QRect(0, 0, image.width(), image.height())); 32020: } 32020: 32020: inline void QPainter::drawImage(const QRect &r, const QImage &image) 32020: { 32020: drawImage(r, image, QRectF(0, 0, image.width(), image.height())); 32020: } 32020: 32020: inline void QPainter::drawImage(const QPoint &p, const QImage &image) 32020: { 32020: drawImage(QPointF(p), image); 32020: } 32020: 32020: inline void QPainter::drawImage(int x, int y, const QImage &image, int sx, int sy, int sw, int sh, 32020: Qt::ImageConversionFlags flags) 32020: { 32020: if (sx == 0 && sy == 0 && sw == -1 && sh == -1 && flags == Qt::AutoColor) 32020: drawImage(QPointF(x, y), image); 32020: else 32020: drawImage(QRectF(x, y, -1, -1), image, QRectF(sx, sy, sw, sh), flags); 32020: } 32020: 32020: inline void QPainter::drawStaticText(const QPoint &p, const QStaticText &staticText) 32020: { 32020: drawStaticText(QPointF(p), staticText); 32020: } 32020: 32020: inline void QPainter::drawStaticText(int x, int y, const QStaticText &staticText) 32020: { 32020: drawStaticText(QPointF(x, y), staticText); 32020: } 32020: 32020: inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti) 32020: { 32020: drawTextItem(QPointF(p), ti); 32020: } 32020: 32020: inline void QPainter::drawText(const QPoint &p, const QString &s) 32020: { 32020: drawText(QPointF(p), s); 32020: } 32020: 32020: inline void QPainter::drawText(int x, int y, int w, int h, int flags, const QString &str, QRect *br) 32020: { 32020: drawText(QRect(x, y, w, h), flags, str, br); 32020: } 32020: 32020: inline void QPainter::drawText(int x, int y, const QString &s) 32020: { 32020: drawText(QPointF(x, y), s); 32020: } 32020: 32020: inline QRect QPainter::boundingRect(int x, int y, int w, int h, int flags, const QString &text) 32020: { 32020: return boundingRect(QRect(x, y, w, h), flags, text); 32020: } 32020: 32020: inline void QPainter::translate(qreal dx, qreal dy) 32020: { 32020: translate(QPointF(dx, dy)); 32020: } 32020: 32020: inline void QPainter::translate(const QPoint &offset) 32020: { 32020: translate(offset.x(), offset.y()); 32020: } 32020: 32020: inline void QPainter::setViewport(int x, int y, int w, int h) 32020: { 32020: setViewport(QRect(x, y, w, h)); 32020: } 32020: 32020: inline void QPainter::setWindow(int x, int y, int w, int h) 32020: { 32020: setWindow(QRect(x, y, w, h)); 32020: } 32020: 32020: 32020: inline void QPainter::drawPicture(int x, int y, const QPicture &p) 32020: { 32020: drawPicture(QPoint(x, y), p); 32020: } 32020: 32020: inline void QPainter::drawPicture(const QPoint &pt, const QPicture &p) 32020: { 32020: drawPicture(QPointF(pt), p); 32020: } 32020: 32020: 32020: 32020: # 2 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/QPainter" 2 3 4 32020: # 2 "/<>/src/ui/SnackBar.cpp" 2 32020: 32020: # 1 "/usr/include/tweeny/tweeny.h" 1 32020: # 81 "/usr/include/tweeny/tweeny.h" 32020: # 1 "/usr/include/tweeny/tween.h" 1 32020: # 37 "/usr/include/tweeny/tween.h" 32020: # 1 "/usr/include/tweeny/tweentraits.h" 1 32020: # 36 "/usr/include/tweeny/tweentraits.h" 32020: 32020: # 36 "/usr/include/tweeny/tweentraits.h" 32020: namespace tweeny { 32020: template class tween; 32020: 32020: namespace detail { 32020: 32020: template struct equal { enum { value = true }; }; 32020: template struct equal { enum { value = true }; }; 32020: template struct equal { enum { value = true && equal::value }; }; 32020: template struct equal { enum { value = false }; }; 32020: 32020: template struct first { typedef T type; }; 32020: 32020: template 32020: struct valuetype { }; 32020: 32020: template 32020: struct valuetype { 32020: typedef std::tuple type; 32020: }; 32020: 32020: template 32020: struct valuetype { 32020: typedef std::array::type, sizeof...(Ts)> type; 32020: }; 32020: 32020: template 32020: struct tweentraits { 32020: typedef std::tuple...> easingCollection; 32020: typedef std::function &, Ts...)> callbackType; 32020: typedef std::function &)> noValuesCallbackType; 32020: typedef std::function noTweenCallbackType; 32020: typedef typename valuetype::value, Ts...>::type valuesType; 32020: typedef std::array durationsArrayType; 32020: typedef tween type; 32020: }; 32020: } 32020: } 32020: # 38 "/usr/include/tweeny/tween.h" 2 32020: # 1 "/usr/include/tweeny/tweenpoint.h" 1 32020: # 40 "/usr/include/tweeny/tweenpoint.h" 32020: namespace tweeny { 32020: namespace detail { 32020: 32020: 32020: 32020: 32020: template 32020: struct tweenpoint { 32020: typedef detail::tweentraits traits; 32020: 32020: typename traits::valuesType values; 32020: typename traits::durationsArrayType durations; 32020: typename traits::easingCollection easings; 32020: typename traits::callbackType onEnterCallbacks; 32020: uint32_t stacked; 32020: 32020: 32020: tweenpoint(Ts... vs); 32020: 32020: 32020: template void during(D milis); 32020: 32020: 32020: template void during(Ds... vs); 32020: 32020: 32020: template void via(Fs... fs); 32020: 32020: 32020: template void via(F f); 32020: 32020: 32020: uint16_t duration() const; 32020: 32020: 32020: uint16_t duration(size_t i) const; 32020: }; 32020: } 32020: } 32020: 32020: # 1 "/usr/include/tweeny/tweenpoint.tcc" 1 32020: # 35 "/usr/include/tweeny/tweenpoint.tcc" 32020: # 1 "/usr/include/tweeny/tweenpoint.h" 1 32020: # 36 "/usr/include/tweeny/tweenpoint.tcc" 2 32020: 32020: # 1 "/usr/include/tweeny/easing.h" 1 32020: # 34 "/usr/include/tweeny/easing.h" 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: 32020: # 40 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/math.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libc-header-start.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 34 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: extern "C" { 32020: 32020: 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/math-vector.h" 1 3 32020: # 27 "/usr/arm-linux-gnueabihf/include/bits/math-vector.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/libm-simd-decl-stubs.h" 1 3 32020: # 28 "/usr/arm-linux-gnueabihf/include/bits/math-vector.h" 2 3 32020: # 41 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/floatn.h" 1 3 32020: # 44 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 138 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/flt-eval-method.h" 1 3 32020: # 139 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 149 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: typedef float float_t; 32020: typedef double double_t; 32020: # 190 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/fp-logb.h" 1 3 32020: # 191 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 233 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/fp-fast.h" 1 3 32020: # 234 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: 32020: 32020: 32020: enum 32020: { 32020: FP_INT_UPWARD = 32020: 32020: 0, 32020: FP_INT_DOWNWARD = 32020: 32020: 1, 32020: FP_INT_TOWARDZERO = 32020: 32020: 2, 32020: FP_INT_TONEARESTFROMZERO = 32020: 32020: 3, 32020: FP_INT_TONEAREST = 32020: 32020: 4, 32020: }; 32020: # 289 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-helper-functions.h" 1 3 32020: # 21 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-helper-functions.h" 3 32020: extern int __fpclassify (double __value) throw () 32020: __attribute__ ((__const__)); 32020: 32020: 32020: extern int __signbit (double __value) throw () 32020: __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern int __isinf (double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __finite (double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __isnan (double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __iseqsig (double __x, double __y) throw (); 32020: 32020: 32020: extern int __issignaling (double __value) throw () 32020: __attribute__ ((__const__)); 32020: # 290 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 1 3 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern double acos (double __x) throw (); extern double __acos (double __x) throw (); 32020: 32020: extern double asin (double __x) throw (); extern double __asin (double __x) throw (); 32020: 32020: extern double atan (double __x) throw (); extern double __atan (double __x) throw (); 32020: 32020: extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); 32020: 32020: 32020: extern double cos (double __x) throw (); extern double __cos (double __x) throw (); 32020: 32020: extern double sin (double __x) throw (); extern double __sin (double __x) throw (); 32020: 32020: extern double tan (double __x) throw (); extern double __tan (double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); 32020: 32020: extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); 32020: 32020: extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); 32020: 32020: 32020: 32020: extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); 32020: 32020: extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); 32020: 32020: extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern double exp (double __x) throw (); extern double __exp (double __x) throw (); 32020: 32020: 32020: extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); 32020: 32020: 32020: extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); 32020: 32020: 32020: extern double log (double __x) throw (); extern double __log (double __x) throw (); 32020: 32020: 32020: extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); 32020: 32020: 32020: extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); 32020: 32020: 32020: extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); 32020: 32020: 32020: extern double logb (double __x) throw (); extern double __logb (double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); 32020: 32020: 32020: extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); 32020: 32020: 32020: extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); 32020: 32020: 32020: 32020: extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); 32020: 32020: 32020: 32020: 32020: extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); 32020: # 182 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern int finite (double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); 32020: 32020: 32020: 32020: extern double significand (double __x) throw (); extern double __significand (double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern double nan (const char *__tagb) throw (); extern double __nan (const char *__tagb) throw (); 32020: # 217 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern double j0 (double) throw (); extern double __j0 (double) throw (); 32020: extern double j1 (double) throw (); extern double __j1 (double) throw (); 32020: extern double jn (int, double) throw (); extern double __jn (int, double) throw (); 32020: extern double y0 (double) throw (); extern double __y0 (double) throw (); 32020: extern double y1 (double) throw (); extern double __y1 (double) throw (); 32020: extern double yn (int, double) throw (); extern double __yn (int, double) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern double erf (double) throw (); extern double __erf (double) throw (); 32020: extern double erfc (double) throw (); extern double __erfc (double) throw (); 32020: extern double lgamma (double) throw (); extern double __lgamma (double) throw (); 32020: 32020: 32020: 32020: 32020: extern double tgamma (double) throw (); extern double __tgamma (double) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern double gamma (double) throw (); extern double __gamma (double) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double rint (double __x) throw (); extern double __rint (double __x) throw (); 32020: 32020: 32020: extern double nextafter (double __x, double __y) throw (); extern double __nextafter (double __x, double __y) throw (); 32020: 32020: extern double nexttoward (double __x, long double __y) throw (); extern double __nexttoward (double __x, long double __y) throw (); 32020: 32020: 32020: 32020: 32020: extern double nextdown (double __x) throw (); extern double __nextdown (double __x) throw (); 32020: 32020: extern double nextup (double __x) throw (); extern double __nextup (double __x) throw (); 32020: 32020: 32020: 32020: extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); 32020: 32020: 32020: 32020: extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); 32020: 32020: 32020: 32020: extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long int llogb (double __x) throw (); extern long int __llogb (double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); 32020: 32020: 32020: 32020: extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); 32020: 32020: 32020: 32020: extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); 32020: __extension__ 32020: extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); 32020: 32020: 32020: 32020: extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); 32020: __extension__ 32020: extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); 32020: 32020: 32020: 32020: extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); 32020: 32020: 32020: extern double fmax (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmax (double __x, double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double fmin (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmin (double __x, double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); 32020: 32020: 32020: 32020: 32020: extern double roundeven (double __x) throw () __attribute__ ((__const__)); extern double __roundeven (double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: extern double fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern double fminmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int canonicalize (double *__cx, const double *__x) throw (); 32020: 32020: 32020: 32020: 32020: extern int totalorder (const double *__x, const double *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern int totalordermag (const double *__x, const double *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern double getpayload (const double *__x) throw (); extern double __getpayload (const double *__x) throw (); 32020: 32020: 32020: extern int setpayload (double *__x, double __payload) throw (); 32020: 32020: 32020: extern int setpayloadsig (double *__x, double __payload) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); 32020: # 291 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 306 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-helper-functions.h" 1 3 32020: # 21 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-helper-functions.h" 3 32020: extern int __fpclassifyf (float __value) throw () 32020: __attribute__ ((__const__)); 32020: 32020: 32020: extern int __signbitf (float __value) throw () 32020: __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern int __isinff (float __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __finitef (float __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __isnanf (float __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __iseqsigf (float __x, float __y) throw (); 32020: 32020: 32020: extern int __issignalingf (float __value) throw () 32020: __attribute__ ((__const__)); 32020: # 307 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 1 3 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); 32020: 32020: extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); 32020: 32020: extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); 32020: 32020: extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); 32020: 32020: 32020: extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); 32020: 32020: extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); 32020: 32020: extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); 32020: 32020: extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); 32020: 32020: extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); 32020: 32020: 32020: 32020: extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); 32020: 32020: extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); 32020: 32020: extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern float expf (float __x) throw (); extern float __expf (float __x) throw (); 32020: 32020: 32020: extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); 32020: 32020: 32020: extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); 32020: 32020: 32020: extern float logf (float __x) throw (); extern float __logf (float __x) throw (); 32020: 32020: 32020: extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); 32020: 32020: 32020: extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw (); 32020: 32020: 32020: 32020: 32020: extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); 32020: 32020: 32020: extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); 32020: 32020: 32020: extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); 32020: 32020: 32020: extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); 32020: 32020: 32020: extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); 32020: 32020: 32020: 32020: extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); 32020: 32020: 32020: 32020: 32020: extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); 32020: # 177 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern int isinff (float __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern int finitef (float __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); 32020: 32020: 32020: 32020: extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern float nanf (const char *__tagb) throw (); extern float __nanf (const char *__tagb) throw (); 32020: # 211 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern int isnanf (float __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: 32020: extern float j0f (float) throw (); extern float __j0f (float) throw (); 32020: extern float j1f (float) throw (); extern float __j1f (float) throw (); 32020: extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); 32020: extern float y0f (float) throw (); extern float __y0f (float) throw (); 32020: extern float y1f (float) throw (); extern float __y1f (float) throw (); 32020: extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern float erff (float) throw (); extern float __erff (float) throw (); 32020: extern float erfcf (float) throw (); extern float __erfcf (float) throw (); 32020: extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); 32020: 32020: 32020: 32020: 32020: extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern float gammaf (float) throw (); extern float __gammaf (float) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); 32020: 32020: 32020: extern float nextafterf (float __x, float __y) throw (); extern float __nextafterf (float __x, float __y) throw (); 32020: 32020: extern float nexttowardf (float __x, long double __y) throw (); extern float __nexttowardf (float __x, long double __y) throw (); 32020: 32020: 32020: 32020: 32020: extern float nextdownf (float __x) throw (); extern float __nextdownf (float __x) throw (); 32020: 32020: extern float nextupf (float __x) throw (); extern float __nextupf (float __x) throw (); 32020: 32020: 32020: 32020: extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); 32020: 32020: 32020: 32020: extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); 32020: 32020: 32020: 32020: extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long int llogbf (float __x) throw (); extern long int __llogbf (float __x) throw (); 32020: 32020: 32020: 32020: 32020: extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); 32020: 32020: 32020: 32020: extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); 32020: 32020: 32020: 32020: extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); 32020: __extension__ 32020: extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); 32020: 32020: 32020: 32020: extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); 32020: __extension__ 32020: extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); 32020: 32020: 32020: 32020: extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); 32020: 32020: 32020: extern float fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float fminf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminf (float __x, float __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); 32020: 32020: 32020: 32020: 32020: extern float roundevenf (float __x) throw () __attribute__ ((__const__)); extern float __roundevenf (float __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: extern float fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern float fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int canonicalizef (float *__cx, const float *__x) throw (); 32020: 32020: 32020: 32020: 32020: extern int totalorderf (const float *__x, const float *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern int totalordermagf (const float *__x, const float *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern float getpayloadf (const float *__x) throw (); extern float __getpayloadf (const float *__x) throw (); 32020: 32020: 32020: extern int setpayloadf (float *__x, float __payload) throw (); 32020: 32020: 32020: extern int setpayloadsigf (float *__x, float __payload) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); 32020: # 308 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 349 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-helper-functions.h" 1 3 32020: # 21 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-helper-functions.h" 3 32020: extern int __fpclassifyl (long double __value) throw () 32020: __attribute__ ((__const__)); 32020: 32020: 32020: extern int __signbitl (long double __value) throw () 32020: __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern int __isinfl (long double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __finitel (long double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __isnanl (long double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int __iseqsigl (long double __x, long double __y) throw (); 32020: 32020: 32020: extern int __issignalingl (long double __value) throw () 32020: __attribute__ ((__const__)); 32020: # 350 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 1 3 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw (); 32020: 32020: extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw (); 32020: 32020: extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw (); 32020: 32020: extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw (); 32020: 32020: 32020: extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw (); 32020: 32020: extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw (); 32020: 32020: extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw (); 32020: 32020: extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw (); 32020: 32020: extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw (); 32020: 32020: 32020: 32020: extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw (); 32020: 32020: extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw (); 32020: 32020: extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw (); 32020: 32020: 32020: extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw (); 32020: 32020: 32020: extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw (); 32020: 32020: 32020: extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw (); 32020: 32020: 32020: extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw (); 32020: 32020: 32020: extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw (); 32020: 32020: 32020: extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw (); 32020: 32020: 32020: extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw (); 32020: 32020: 32020: extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw (); 32020: 32020: 32020: extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw (); 32020: 32020: 32020: 32020: extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw (); 32020: 32020: 32020: 32020: 32020: extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw (); 32020: # 177 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern int isinfl (long double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern int finitel (long double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw (); 32020: 32020: 32020: 32020: extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern long double nanl (const char *__tagb) throw (); extern long double __nanl (const char *__tagb) throw (); 32020: # 211 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern int isnanl (long double __value) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: 32020: extern long double j0l (long double) throw (); extern long double __j0l (long double) throw (); 32020: extern long double j1l (long double) throw (); extern long double __j1l (long double) throw (); 32020: extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw (); 32020: extern long double y0l (long double) throw (); extern long double __y0l (long double) throw (); 32020: extern long double y1l (long double) throw (); extern long double __y1l (long double) throw (); 32020: extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern long double erfl (long double) throw (); extern long double __erfl (long double) throw (); 32020: extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw (); 32020: extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw (); 32020: 32020: 32020: 32020: 32020: extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern long double gammal (long double) throw (); extern long double __gammal (long double) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw (); 32020: 32020: 32020: extern long double nextafterl (long double __x, long double __y) throw (); extern long double __nextafterl (long double __x, long double __y) throw (); 32020: 32020: extern long double nexttowardl (long double __x, long double __y) throw (); extern long double __nexttowardl (long double __x, long double __y) throw (); 32020: 32020: 32020: 32020: 32020: extern long double nextdownl (long double __x) throw (); extern long double __nextdownl (long double __x) throw (); 32020: 32020: extern long double nextupl (long double __x) throw (); extern long double __nextupl (long double __x) throw (); 32020: 32020: 32020: 32020: extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw (); 32020: 32020: 32020: 32020: extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw (); 32020: 32020: 32020: 32020: extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long int llogbl (long double __x) throw (); extern long int __llogbl (long double __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw (); 32020: 32020: 32020: 32020: extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw (); 32020: 32020: 32020: 32020: extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw (); 32020: __extension__ 32020: extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw (); 32020: 32020: 32020: 32020: extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw (); 32020: __extension__ 32020: extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw (); 32020: 32020: 32020: 32020: extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw (); 32020: 32020: 32020: extern long double fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw (); 32020: 32020: 32020: 32020: 32020: extern long double roundevenl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundevenl (long double __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: extern long double fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern long double fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int canonicalizel (long double *__cx, const long double *__x) throw (); 32020: 32020: 32020: 32020: 32020: extern int totalorderl (const long double *__x, const long double *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern int totalordermagl (const long double *__x, const long double *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern long double getpayloadl (const long double *__x) throw (); extern long double __getpayloadl (const long double *__x) throw (); 32020: 32020: 32020: extern int setpayloadl (long double *__x, long double __payload) throw (); 32020: 32020: 32020: extern int setpayloadsigl (long double *__x, long double __payload) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); 32020: # 351 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 389 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 1 3 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32 acosf32 (_Float32 __x) throw (); extern _Float32 __acosf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 asinf32 (_Float32 __x) throw (); extern _Float32 __asinf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 atanf32 (_Float32 __x) throw (); extern _Float32 __atanf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) throw (); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 cosf32 (_Float32 __x) throw (); extern _Float32 __cosf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 sinf32 (_Float32 __x) throw (); extern _Float32 __sinf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 tanf32 (_Float32 __x) throw (); extern _Float32 __tanf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 coshf32 (_Float32 __x) throw (); extern _Float32 __coshf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 sinhf32 (_Float32 __x) throw (); extern _Float32 __sinhf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 tanhf32 (_Float32 __x) throw (); extern _Float32 __tanhf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw (); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern _Float32 acoshf32 (_Float32 __x) throw (); extern _Float32 __acoshf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 asinhf32 (_Float32 __x) throw (); extern _Float32 __asinhf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 atanhf32 (_Float32 __x) throw (); extern _Float32 __atanhf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32 expf32 (_Float32 __x) throw (); extern _Float32 __expf32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) throw (); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) throw (); 32020: 32020: 32020: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) throw (); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) throw (); 32020: 32020: 32020: extern _Float32 logf32 (_Float32 __x) throw (); extern _Float32 __logf32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 log10f32 (_Float32 __x) throw (); extern _Float32 __log10f32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) throw (); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern _Float32 exp10f32 (_Float32 __x) throw (); extern _Float32 __exp10f32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 expm1f32 (_Float32 __x) throw (); extern _Float32 __expm1f32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 log1pf32 (_Float32 __x) throw (); extern _Float32 __log1pf32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 logbf32 (_Float32 __x) throw (); extern _Float32 __logbf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 exp2f32 (_Float32 __x) throw (); extern _Float32 __exp2f32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 log2f32 (_Float32 __x) throw (); extern _Float32 __log2f32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32 powf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) throw (); 32020: 32020: 32020: extern _Float32 sqrtf32 (_Float32 __x) throw (); extern _Float32 __sqrtf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 cbrtf32 (_Float32 __x) throw (); extern _Float32 __cbrtf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32 ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32 fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32 floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) throw (); 32020: # 196 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern _Float32 nanf32 (const char *__tagb) throw (); extern _Float32 __nanf32 (const char *__tagb) throw (); 32020: # 217 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32 j0f32 (_Float32) throw (); extern _Float32 __j0f32 (_Float32) throw (); 32020: extern _Float32 j1f32 (_Float32) throw (); extern _Float32 __j1f32 (_Float32) throw (); 32020: extern _Float32 jnf32 (int, _Float32) throw (); extern _Float32 __jnf32 (int, _Float32) throw (); 32020: extern _Float32 y0f32 (_Float32) throw (); extern _Float32 __y0f32 (_Float32) throw (); 32020: extern _Float32 y1f32 (_Float32) throw (); extern _Float32 __y1f32 (_Float32) throw (); 32020: extern _Float32 ynf32 (int, _Float32) throw (); extern _Float32 __ynf32 (int, _Float32) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32 erff32 (_Float32) throw (); extern _Float32 __erff32 (_Float32) throw (); 32020: extern _Float32 erfcf32 (_Float32) throw (); extern _Float32 __erfcf32 (_Float32) throw (); 32020: extern _Float32 lgammaf32 (_Float32) throw (); extern _Float32 __lgammaf32 (_Float32) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 tgammaf32 (_Float32) throw (); extern _Float32 __tgammaf32 (_Float32) throw (); 32020: # 249 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) throw (); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32 rintf32 (_Float32 __x) throw (); extern _Float32 __rintf32 (_Float32 __x) throw (); 32020: 32020: 32020: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32 nextdownf32 (_Float32 __x) throw (); extern _Float32 __nextdownf32 (_Float32 __x) throw (); 32020: 32020: extern _Float32 nextupf32 (_Float32 __x) throw (); extern _Float32 __nextupf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) throw (); 32020: 32020: 32020: 32020: extern _Float32 scalbnf32 (_Float32 __x, int __n) throw (); extern _Float32 __scalbnf32 (_Float32 __x, int __n) throw (); 32020: 32020: 32020: 32020: extern int ilogbf32 (_Float32 __x) throw (); extern int __ilogbf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long int llogbf32 (_Float32 __x) throw (); extern long int __llogbf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 scalblnf32 (_Float32 __x, long int __n) throw (); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) throw (); 32020: 32020: 32020: 32020: extern _Float32 nearbyintf32 (_Float32 __x) throw (); extern _Float32 __nearbyintf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: extern _Float32 roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern _Float32 truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int lrintf32 (_Float32 __x) throw (); extern long int __lrintf32 (_Float32 __x) throw (); 32020: __extension__ 32020: extern long long int llrintf32 (_Float32 __x) throw (); extern long long int __llrintf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: extern long int lroundf32 (_Float32 __x) throw (); extern long int __lroundf32 (_Float32 __x) throw (); 32020: __extension__ 32020: extern long long int llroundf32 (_Float32 __x) throw (); extern long long int __llroundf32 (_Float32 __x) throw (); 32020: 32020: 32020: 32020: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) throw (); 32020: 32020: 32020: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32 roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) throw (); 32020: 32020: 32020: 32020: 32020: extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern _Float32 getpayloadf32 (const _Float32 *__x) throw (); extern _Float32 __getpayloadf32 (const _Float32 *__x) throw (); 32020: 32020: 32020: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) throw (); 32020: 32020: 32020: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) throw (); 32020: # 390 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 406 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 1 3 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float64 acosf64 (_Float64 __x) throw (); extern _Float64 __acosf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 asinf64 (_Float64 __x) throw (); extern _Float64 __asinf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 atanf64 (_Float64 __x) throw (); extern _Float64 __atanf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) throw (); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 cosf64 (_Float64 __x) throw (); extern _Float64 __cosf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 sinf64 (_Float64 __x) throw (); extern _Float64 __sinf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 tanf64 (_Float64 __x) throw (); extern _Float64 __tanf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 coshf64 (_Float64 __x) throw (); extern _Float64 __coshf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 sinhf64 (_Float64 __x) throw (); extern _Float64 __sinhf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 tanhf64 (_Float64 __x) throw (); extern _Float64 __tanhf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw (); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern _Float64 acoshf64 (_Float64 __x) throw (); extern _Float64 __acoshf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 asinhf64 (_Float64 __x) throw (); extern _Float64 __asinhf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 atanhf64 (_Float64 __x) throw (); extern _Float64 __atanhf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern _Float64 expf64 (_Float64 __x) throw (); extern _Float64 __expf64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) throw (); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) throw (); 32020: 32020: 32020: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) throw (); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) throw (); 32020: 32020: 32020: extern _Float64 logf64 (_Float64 __x) throw (); extern _Float64 __logf64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 log10f64 (_Float64 __x) throw (); extern _Float64 __log10f64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) throw (); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern _Float64 exp10f64 (_Float64 __x) throw (); extern _Float64 __exp10f64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 expm1f64 (_Float64 __x) throw (); extern _Float64 __expm1f64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 log1pf64 (_Float64 __x) throw (); extern _Float64 __log1pf64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 logbf64 (_Float64 __x) throw (); extern _Float64 __logbf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 exp2f64 (_Float64 __x) throw (); extern _Float64 __exp2f64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 log2f64 (_Float64 __x) throw (); extern _Float64 __log2f64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float64 powf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float64 sqrtf64 (_Float64 __x) throw (); extern _Float64 __sqrtf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 cbrtf64 (_Float64 __x) throw (); extern _Float64 __cbrtf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float64 ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float64 fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float64 floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) throw (); 32020: # 196 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern _Float64 nanf64 (const char *__tagb) throw (); extern _Float64 __nanf64 (const char *__tagb) throw (); 32020: # 217 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float64 j0f64 (_Float64) throw (); extern _Float64 __j0f64 (_Float64) throw (); 32020: extern _Float64 j1f64 (_Float64) throw (); extern _Float64 __j1f64 (_Float64) throw (); 32020: extern _Float64 jnf64 (int, _Float64) throw (); extern _Float64 __jnf64 (int, _Float64) throw (); 32020: extern _Float64 y0f64 (_Float64) throw (); extern _Float64 __y0f64 (_Float64) throw (); 32020: extern _Float64 y1f64 (_Float64) throw (); extern _Float64 __y1f64 (_Float64) throw (); 32020: extern _Float64 ynf64 (int, _Float64) throw (); extern _Float64 __ynf64 (int, _Float64) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern _Float64 erff64 (_Float64) throw (); extern _Float64 __erff64 (_Float64) throw (); 32020: extern _Float64 erfcf64 (_Float64) throw (); extern _Float64 __erfcf64 (_Float64) throw (); 32020: extern _Float64 lgammaf64 (_Float64) throw (); extern _Float64 __lgammaf64 (_Float64) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 tgammaf64 (_Float64) throw (); extern _Float64 __tgammaf64 (_Float64) throw (); 32020: # 249 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) throw (); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float64 rintf64 (_Float64 __x) throw (); extern _Float64 __rintf64 (_Float64 __x) throw (); 32020: 32020: 32020: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float64 nextdownf64 (_Float64 __x) throw (); extern _Float64 __nextdownf64 (_Float64 __x) throw (); 32020: 32020: extern _Float64 nextupf64 (_Float64 __x) throw (); extern _Float64 __nextupf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: 32020: extern _Float64 scalbnf64 (_Float64 __x, int __n) throw (); extern _Float64 __scalbnf64 (_Float64 __x, int __n) throw (); 32020: 32020: 32020: 32020: extern int ilogbf64 (_Float64 __x) throw (); extern int __ilogbf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long int llogbf64 (_Float64 __x) throw (); extern long int __llogbf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 scalblnf64 (_Float64 __x, long int __n) throw (); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) throw (); 32020: 32020: 32020: 32020: extern _Float64 nearbyintf64 (_Float64 __x) throw (); extern _Float64 __nearbyintf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: extern _Float64 roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern _Float64 truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int lrintf64 (_Float64 __x) throw (); extern long int __lrintf64 (_Float64 __x) throw (); 32020: __extension__ 32020: extern long long int llrintf64 (_Float64 __x) throw (); extern long long int __llrintf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: extern long int lroundf64 (_Float64 __x) throw (); extern long int __lroundf64 (_Float64 __x) throw (); 32020: __extension__ 32020: extern long long int llroundf64 (_Float64 __x) throw (); extern long long int __llroundf64 (_Float64 __x) throw (); 32020: 32020: 32020: 32020: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float64 roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) throw (); 32020: 32020: 32020: 32020: 32020: extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern _Float64 getpayloadf64 (const _Float64 *__x) throw (); extern _Float64 __getpayloadf64 (const _Float64 *__x) throw (); 32020: 32020: 32020: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) throw (); 32020: 32020: 32020: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) throw (); 32020: # 407 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 440 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 1 3 32020: # 53 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32x acosf32x (_Float32x __x) throw (); extern _Float32x __acosf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x asinf32x (_Float32x __x) throw (); extern _Float32x __asinf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x atanf32x (_Float32x __x) throw (); extern _Float32x __atanf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) throw (); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x cosf32x (_Float32x __x) throw (); extern _Float32x __cosf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x sinf32x (_Float32x __x) throw (); extern _Float32x __sinf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x tanf32x (_Float32x __x) throw (); extern _Float32x __tanf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x coshf32x (_Float32x __x) throw (); extern _Float32x __coshf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x sinhf32x (_Float32x __x) throw (); extern _Float32x __sinhf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x tanhf32x (_Float32x __x) throw (); extern _Float32x __tanhf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw (); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern _Float32x acoshf32x (_Float32x __x) throw (); extern _Float32x __acoshf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x asinhf32x (_Float32x __x) throw (); extern _Float32x __asinhf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x atanhf32x (_Float32x __x) throw (); extern _Float32x __atanhf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32x expf32x (_Float32x __x) throw (); extern _Float32x __expf32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) throw (); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) throw (); 32020: 32020: 32020: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) throw (); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) throw (); 32020: 32020: 32020: extern _Float32x logf32x (_Float32x __x) throw (); extern _Float32x __logf32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x log10f32x (_Float32x __x) throw (); extern _Float32x __log10f32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) throw (); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) throw () __attribute__ ((__nonnull__ (2))); 32020: 32020: 32020: 32020: extern _Float32x exp10f32x (_Float32x __x) throw (); extern _Float32x __exp10f32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x expm1f32x (_Float32x __x) throw (); extern _Float32x __expm1f32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x log1pf32x (_Float32x __x) throw (); extern _Float32x __log1pf32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x logbf32x (_Float32x __x) throw (); extern _Float32x __logbf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x exp2f32x (_Float32x __x) throw (); extern _Float32x __exp2f32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x log2f32x (_Float32x __x) throw (); extern _Float32x __log2f32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32x powf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: extern _Float32x sqrtf32x (_Float32x __x) throw (); extern _Float32x __sqrtf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x cbrtf32x (_Float32x __x) throw (); extern _Float32x __cbrtf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32x ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32x fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32x floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) throw (); 32020: # 196 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern _Float32x nanf32x (const char *__tagb) throw (); extern _Float32x __nanf32x (const char *__tagb) throw (); 32020: # 217 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32x j0f32x (_Float32x) throw (); extern _Float32x __j0f32x (_Float32x) throw (); 32020: extern _Float32x j1f32x (_Float32x) throw (); extern _Float32x __j1f32x (_Float32x) throw (); 32020: extern _Float32x jnf32x (int, _Float32x) throw (); extern _Float32x __jnf32x (int, _Float32x) throw (); 32020: extern _Float32x y0f32x (_Float32x) throw (); extern _Float32x __y0f32x (_Float32x) throw (); 32020: extern _Float32x y1f32x (_Float32x) throw (); extern _Float32x __y1f32x (_Float32x) throw (); 32020: extern _Float32x ynf32x (int, _Float32x) throw (); extern _Float32x __ynf32x (int, _Float32x) throw (); 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32x erff32x (_Float32x) throw (); extern _Float32x __erff32x (_Float32x) throw (); 32020: extern _Float32x erfcf32x (_Float32x) throw (); extern _Float32x __erfcf32x (_Float32x) throw (); 32020: extern _Float32x lgammaf32x (_Float32x) throw (); extern _Float32x __lgammaf32x (_Float32x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x tgammaf32x (_Float32x) throw (); extern _Float32x __tgammaf32x (_Float32x) throw (); 32020: # 249 "/usr/arm-linux-gnueabihf/include/bits/mathcalls.h" 3 32020: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) throw (); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32x rintf32x (_Float32x __x) throw (); extern _Float32x __rintf32x (_Float32x __x) throw (); 32020: 32020: 32020: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern _Float32x nextdownf32x (_Float32x __x) throw (); extern _Float32x __nextdownf32x (_Float32x __x) throw (); 32020: 32020: extern _Float32x nextupf32x (_Float32x __x) throw (); extern _Float32x __nextupf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: 32020: extern _Float32x scalbnf32x (_Float32x __x, int __n) throw (); extern _Float32x __scalbnf32x (_Float32x __x, int __n) throw (); 32020: 32020: 32020: 32020: extern int ilogbf32x (_Float32x __x) throw (); extern int __ilogbf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: extern long int llogbf32x (_Float32x __x) throw (); extern long int __llogbf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x scalblnf32x (_Float32x __x, long int __n) throw (); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) throw (); 32020: 32020: 32020: 32020: extern _Float32x nearbyintf32x (_Float32x __x) throw (); extern _Float32x __nearbyintf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: extern _Float32x roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern _Float32x truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: 32020: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); 32020: 32020: 32020: 32020: 32020: 32020: 32020: extern long int lrintf32x (_Float32x __x) throw (); extern long int __lrintf32x (_Float32x __x) throw (); 32020: __extension__ 32020: extern long long int llrintf32x (_Float32x __x) throw (); extern long long int __llrintf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: extern long int lroundf32x (_Float32x __x) throw (); extern long int __lroundf32x (_Float32x __x) throw (); 32020: __extension__ 32020: extern long long int llroundf32x (_Float32x __x) throw (); extern long long int __llroundf32x (_Float32x __x) throw (); 32020: 32020: 32020: 32020: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); 32020: 32020: 32020: 32020: 32020: extern _Float32x roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); 32020: 32020: 32020: 32020: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: 32020: 32020: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw () 32020: ; 32020: 32020: 32020: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 32020: 32020: 32020: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) throw (); 32020: 32020: 32020: 32020: 32020: extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) throw () 32020: 32020: __attribute__ ((__pure__)); 32020: 32020: 32020: extern _Float32x getpayloadf32x (const _Float32x *__x) throw (); extern _Float32x __getpayloadf32x (const _Float32x *__x) throw (); 32020: 32020: 32020: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) throw (); 32020: 32020: 32020: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) throw (); 32020: # 441 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 503 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 3 32020: extern float fadd (double __x, double __y) throw (); 32020: 32020: 32020: extern float fdiv (double __x, double __y) throw (); 32020: 32020: 32020: extern float fmul (double __x, double __y) throw (); 32020: 32020: 32020: extern float fsub (double __x, double __y) throw (); 32020: # 504 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 517 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 3 32020: extern float faddl (long double __x, long double __y) throw (); 32020: 32020: 32020: extern float fdivl (long double __x, long double __y) throw (); 32020: 32020: 32020: extern float fmull (long double __x, long double __y) throw (); 32020: 32020: 32020: extern float fsubl (long double __x, long double __y) throw (); 32020: # 518 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 537 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 3 32020: extern double daddl (long double __x, long double __y) throw (); 32020: 32020: 32020: extern double ddivl (long double __x, long double __y) throw (); 32020: 32020: 32020: extern double dmull (long double __x, long double __y) throw (); 32020: 32020: 32020: extern double dsubl (long double __x, long double __y) throw (); 32020: # 538 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 616 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 3 32020: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) throw (); 32020: 32020: 32020: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) throw (); 32020: # 617 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 626 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 3 32020: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) throw (); 32020: # 627 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 666 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 1 3 32020: # 24 "/usr/arm-linux-gnueabihf/include/bits/mathcalls-narrow.h" 3 32020: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) throw (); 32020: 32020: 32020: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) throw (); 32020: # 667 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 773 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: extern int signgam; 32020: # 853 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: enum 32020: { 32020: FP_NAN = 32020: 32020: 0, 32020: FP_INFINITE = 32020: 32020: 1, 32020: FP_ZERO = 32020: 32020: 2, 32020: FP_SUBNORMAL = 32020: 32020: 3, 32020: FP_NORMAL = 32020: 32020: 4 32020: }; 32020: # 973 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/iscanonical.h" 1 3 32020: # 974 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 985 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: extern "C++" { 32020: inline int issignaling (float __val) { return __issignalingf (__val); } 32020: inline int issignaling (double __val) { return __issignaling (__val); } 32020: inline int 32020: issignaling (long double __val) 32020: { 32020: 32020: return __issignaling (__val); 32020: 32020: 32020: 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 1016 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: extern "C++" { 32020: # 1047 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: template inline bool 32020: iszero (__T __val) 32020: { 32020: return __val == 0; 32020: } 32020: 32020: } 32020: # 1245 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/bits/mathinline.h" 1 3 32020: # 1246 "/usr/arm-linux-gnueabihf/include/math.h" 2 3 32020: # 1278 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: extern "C++" { 32020: template struct __iseqsig_type; 32020: 32020: template<> struct __iseqsig_type 32020: { 32020: static int __call (float __x, float __y) throw () 32020: { 32020: return __iseqsigf (__x, __y); 32020: } 32020: }; 32020: 32020: template<> struct __iseqsig_type 32020: { 32020: static int __call (double __x, double __y) throw () 32020: { 32020: return __iseqsig (__x, __y); 32020: } 32020: }; 32020: 32020: template<> struct __iseqsig_type 32020: { 32020: static int __call (long double __x, long double __y) throw () 32020: { 32020: 32020: 32020: 32020: return __iseqsig (__x, __y); 32020: 32020: } 32020: }; 32020: # 1321 "/usr/arm-linux-gnueabihf/include/math.h" 3 32020: template 32020: inline int 32020: iseqsig (_T1 __x, _T2 __y) throw () 32020: { 32020: 32020: typedef decltype (((__x) + (__y) + 0.0f)) _T3; 32020: 32020: 32020: 32020: return __iseqsig_type<_T3>::__call (__x, __y); 32020: } 32020: 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: # 46 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 2 3 32020: # 77 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: extern "C++" 32020: { 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: using ::acos; 32020: 32020: 32020: inline constexpr float 32020: acos(float __x) 32020: { return __builtin_acosf(__x); } 32020: 32020: inline constexpr long double 32020: acos(long double __x) 32020: { return __builtin_acosl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: acos(_Tp __x) 32020: { return __builtin_acos(__x); } 32020: 32020: using ::asin; 32020: 32020: 32020: inline constexpr float 32020: asin(float __x) 32020: { return __builtin_asinf(__x); } 32020: 32020: inline constexpr long double 32020: asin(long double __x) 32020: { return __builtin_asinl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: asin(_Tp __x) 32020: { return __builtin_asin(__x); } 32020: 32020: using ::atan; 32020: 32020: 32020: inline constexpr float 32020: atan(float __x) 32020: { return __builtin_atanf(__x); } 32020: 32020: inline constexpr long double 32020: atan(long double __x) 32020: { return __builtin_atanl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: atan(_Tp __x) 32020: { return __builtin_atan(__x); } 32020: 32020: using ::atan2; 32020: 32020: 32020: inline constexpr float 32020: atan2(float __y, float __x) 32020: { return __builtin_atan2f(__y, __x); } 32020: 32020: inline constexpr long double 32020: atan2(long double __y, long double __x) 32020: { return __builtin_atan2l(__y, __x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: atan2(_Tp __y, _Up __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return atan2(__type(__y), __type(__x)); 32020: } 32020: 32020: using ::ceil; 32020: 32020: 32020: inline constexpr float 32020: ceil(float __x) 32020: { return __builtin_ceilf(__x); } 32020: 32020: inline constexpr long double 32020: ceil(long double __x) 32020: { return __builtin_ceill(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: ceil(_Tp __x) 32020: { return __builtin_ceil(__x); } 32020: 32020: using ::cos; 32020: 32020: 32020: inline constexpr float 32020: cos(float __x) 32020: { return __builtin_cosf(__x); } 32020: 32020: inline constexpr long double 32020: cos(long double __x) 32020: { return __builtin_cosl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: cos(_Tp __x) 32020: { return __builtin_cos(__x); } 32020: 32020: using ::cosh; 32020: 32020: 32020: inline constexpr float 32020: cosh(float __x) 32020: { return __builtin_coshf(__x); } 32020: 32020: inline constexpr long double 32020: cosh(long double __x) 32020: { return __builtin_coshl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: cosh(_Tp __x) 32020: { return __builtin_cosh(__x); } 32020: 32020: using ::exp; 32020: 32020: 32020: inline constexpr float 32020: exp(float __x) 32020: { return __builtin_expf(__x); } 32020: 32020: inline constexpr long double 32020: exp(long double __x) 32020: { return __builtin_expl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: exp(_Tp __x) 32020: { return __builtin_exp(__x); } 32020: 32020: using ::fabs; 32020: 32020: 32020: inline constexpr float 32020: fabs(float __x) 32020: { return __builtin_fabsf(__x); } 32020: 32020: inline constexpr long double 32020: fabs(long double __x) 32020: { return __builtin_fabsl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: fabs(_Tp __x) 32020: { return __builtin_fabs(__x); } 32020: 32020: using ::floor; 32020: 32020: 32020: inline constexpr float 32020: floor(float __x) 32020: { return __builtin_floorf(__x); } 32020: 32020: inline constexpr long double 32020: floor(long double __x) 32020: { return __builtin_floorl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: floor(_Tp __x) 32020: { return __builtin_floor(__x); } 32020: 32020: using ::fmod; 32020: 32020: 32020: inline constexpr float 32020: fmod(float __x, float __y) 32020: { return __builtin_fmodf(__x, __y); } 32020: 32020: inline constexpr long double 32020: fmod(long double __x, long double __y) 32020: { return __builtin_fmodl(__x, __y); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: fmod(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return fmod(__type(__x), __type(__y)); 32020: } 32020: 32020: using ::frexp; 32020: 32020: 32020: inline float 32020: frexp(float __x, int* __exp) 32020: { return __builtin_frexpf(__x, __exp); } 32020: 32020: inline long double 32020: frexp(long double __x, int* __exp) 32020: { return __builtin_frexpl(__x, __exp); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: frexp(_Tp __x, int* __exp) 32020: { return __builtin_frexp(__x, __exp); } 32020: 32020: using ::ldexp; 32020: 32020: 32020: inline constexpr float 32020: ldexp(float __x, int __exp) 32020: { return __builtin_ldexpf(__x, __exp); } 32020: 32020: inline constexpr long double 32020: ldexp(long double __x, int __exp) 32020: { return __builtin_ldexpl(__x, __exp); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: ldexp(_Tp __x, int __exp) 32020: { return __builtin_ldexp(__x, __exp); } 32020: 32020: using ::log; 32020: 32020: 32020: inline constexpr float 32020: log(float __x) 32020: { return __builtin_logf(__x); } 32020: 32020: inline constexpr long double 32020: log(long double __x) 32020: { return __builtin_logl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: log(_Tp __x) 32020: { return __builtin_log(__x); } 32020: 32020: using ::log10; 32020: 32020: 32020: inline constexpr float 32020: log10(float __x) 32020: { return __builtin_log10f(__x); } 32020: 32020: inline constexpr long double 32020: log10(long double __x) 32020: { return __builtin_log10l(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: log10(_Tp __x) 32020: { return __builtin_log10(__x); } 32020: 32020: using ::modf; 32020: 32020: 32020: inline float 32020: modf(float __x, float* __iptr) 32020: { return __builtin_modff(__x, __iptr); } 32020: 32020: inline long double 32020: modf(long double __x, long double* __iptr) 32020: { return __builtin_modfl(__x, __iptr); } 32020: 32020: 32020: using ::pow; 32020: 32020: 32020: inline constexpr float 32020: pow(float __x, float __y) 32020: { return __builtin_powf(__x, __y); } 32020: 32020: inline constexpr long double 32020: pow(long double __x, long double __y) 32020: { return __builtin_powl(__x, __y); } 32020: # 412 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: pow(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return pow(__type(__x), __type(__y)); 32020: } 32020: 32020: using ::sin; 32020: 32020: 32020: inline constexpr float 32020: sin(float __x) 32020: { return __builtin_sinf(__x); } 32020: 32020: inline constexpr long double 32020: sin(long double __x) 32020: { return __builtin_sinl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: sin(_Tp __x) 32020: { return __builtin_sin(__x); } 32020: 32020: using ::sinh; 32020: 32020: 32020: inline constexpr float 32020: sinh(float __x) 32020: { return __builtin_sinhf(__x); } 32020: 32020: inline constexpr long double 32020: sinh(long double __x) 32020: { return __builtin_sinhl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: sinh(_Tp __x) 32020: { return __builtin_sinh(__x); } 32020: 32020: using ::sqrt; 32020: 32020: 32020: inline constexpr float 32020: sqrt(float __x) 32020: { return __builtin_sqrtf(__x); } 32020: 32020: inline constexpr long double 32020: sqrt(long double __x) 32020: { return __builtin_sqrtl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: sqrt(_Tp __x) 32020: { return __builtin_sqrt(__x); } 32020: 32020: using ::tan; 32020: 32020: 32020: inline constexpr float 32020: tan(float __x) 32020: { return __builtin_tanf(__x); } 32020: 32020: inline constexpr long double 32020: tan(long double __x) 32020: { return __builtin_tanl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: tan(_Tp __x) 32020: { return __builtin_tan(__x); } 32020: 32020: using ::tanh; 32020: 32020: 32020: inline constexpr float 32020: tanh(float __x) 32020: { return __builtin_tanhf(__x); } 32020: 32020: inline constexpr long double 32020: tanh(long double __x) 32020: { return __builtin_tanhl(__x); } 32020: 32020: 32020: template 32020: inline constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: tanh(_Tp __x) 32020: { return __builtin_tanh(__x); } 32020: # 536 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: constexpr int 32020: fpclassify(float __x) 32020: { return __builtin_fpclassify(0, 1, 4, 32020: 3, 2, __x); } 32020: 32020: constexpr int 32020: fpclassify(double __x) 32020: { return __builtin_fpclassify(0, 1, 4, 32020: 3, 2, __x); } 32020: 32020: constexpr int 32020: fpclassify(long double __x) 32020: { return __builtin_fpclassify(0, 1, 4, 32020: 3, 2, __x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: int>::__type 32020: fpclassify(_Tp __x) 32020: { return __x != 0 ? 4 : 2; } 32020: 32020: 32020: 32020: constexpr bool 32020: isfinite(float __x) 32020: { return __builtin_isfinite(__x); } 32020: 32020: constexpr bool 32020: isfinite(double __x) 32020: { return __builtin_isfinite(__x); } 32020: 32020: constexpr bool 32020: isfinite(long double __x) 32020: { return __builtin_isfinite(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: bool>::__type 32020: isfinite(_Tp __x) 32020: { return true; } 32020: 32020: 32020: 32020: constexpr bool 32020: isinf(float __x) 32020: { return __builtin_isinf(__x); } 32020: 32020: 32020: 32020: 32020: 32020: constexpr bool 32020: isinf(double __x) 32020: { return __builtin_isinf(__x); } 32020: 32020: 32020: constexpr bool 32020: isinf(long double __x) 32020: { return __builtin_isinf(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: bool>::__type 32020: isinf(_Tp __x) 32020: { return false; } 32020: 32020: 32020: 32020: constexpr bool 32020: isnan(float __x) 32020: { return __builtin_isnan(__x); } 32020: 32020: 32020: 32020: 32020: 32020: constexpr bool 32020: isnan(double __x) 32020: { return __builtin_isnan(__x); } 32020: 32020: 32020: constexpr bool 32020: isnan(long double __x) 32020: { return __builtin_isnan(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: bool>::__type 32020: isnan(_Tp __x) 32020: { return false; } 32020: 32020: 32020: 32020: constexpr bool 32020: isnormal(float __x) 32020: { return __builtin_isnormal(__x); } 32020: 32020: constexpr bool 32020: isnormal(double __x) 32020: { return __builtin_isnormal(__x); } 32020: 32020: constexpr bool 32020: isnormal(long double __x) 32020: { return __builtin_isnormal(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: bool>::__type 32020: isnormal(_Tp __x) 32020: { return __x != 0 ? true : false; } 32020: 32020: 32020: 32020: 32020: constexpr bool 32020: signbit(float __x) 32020: { return __builtin_signbit(__x); } 32020: 32020: constexpr bool 32020: signbit(double __x) 32020: { return __builtin_signbit(__x); } 32020: 32020: constexpr bool 32020: signbit(long double __x) 32020: { return __builtin_signbit(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: bool>::__type 32020: signbit(_Tp __x) 32020: { return __x < 0 ? true : false; } 32020: 32020: 32020: 32020: constexpr bool 32020: isgreater(float __x, float __y) 32020: { return __builtin_isgreater(__x, __y); } 32020: 32020: constexpr bool 32020: isgreater(double __x, double __y) 32020: { return __builtin_isgreater(__x, __y); } 32020: 32020: constexpr bool 32020: isgreater(long double __x, long double __y) 32020: { return __builtin_isgreater(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename 32020: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 32020: && __is_arithmetic<_Up>::__value), bool>::__type 32020: isgreater(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return __builtin_isgreater(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr bool 32020: isgreaterequal(float __x, float __y) 32020: { return __builtin_isgreaterequal(__x, __y); } 32020: 32020: constexpr bool 32020: isgreaterequal(double __x, double __y) 32020: { return __builtin_isgreaterequal(__x, __y); } 32020: 32020: constexpr bool 32020: isgreaterequal(long double __x, long double __y) 32020: { return __builtin_isgreaterequal(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename 32020: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 32020: && __is_arithmetic<_Up>::__value), bool>::__type 32020: isgreaterequal(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return __builtin_isgreaterequal(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr bool 32020: isless(float __x, float __y) 32020: { return __builtin_isless(__x, __y); } 32020: 32020: constexpr bool 32020: isless(double __x, double __y) 32020: { return __builtin_isless(__x, __y); } 32020: 32020: constexpr bool 32020: isless(long double __x, long double __y) 32020: { return __builtin_isless(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename 32020: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 32020: && __is_arithmetic<_Up>::__value), bool>::__type 32020: isless(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return __builtin_isless(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr bool 32020: islessequal(float __x, float __y) 32020: { return __builtin_islessequal(__x, __y); } 32020: 32020: constexpr bool 32020: islessequal(double __x, double __y) 32020: { return __builtin_islessequal(__x, __y); } 32020: 32020: constexpr bool 32020: islessequal(long double __x, long double __y) 32020: { return __builtin_islessequal(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename 32020: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 32020: && __is_arithmetic<_Up>::__value), bool>::__type 32020: islessequal(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return __builtin_islessequal(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr bool 32020: islessgreater(float __x, float __y) 32020: { return __builtin_islessgreater(__x, __y); } 32020: 32020: constexpr bool 32020: islessgreater(double __x, double __y) 32020: { return __builtin_islessgreater(__x, __y); } 32020: 32020: constexpr bool 32020: islessgreater(long double __x, long double __y) 32020: { return __builtin_islessgreater(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename 32020: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 32020: && __is_arithmetic<_Up>::__value), bool>::__type 32020: islessgreater(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return __builtin_islessgreater(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr bool 32020: isunordered(float __x, float __y) 32020: { return __builtin_isunordered(__x, __y); } 32020: 32020: constexpr bool 32020: isunordered(double __x, double __y) 32020: { return __builtin_isunordered(__x, __y); } 32020: 32020: constexpr bool 32020: isunordered(long double __x, long double __y) 32020: { return __builtin_isunordered(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename 32020: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 32020: && __is_arithmetic<_Up>::__value), bool>::__type 32020: isunordered(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return __builtin_isunordered(__type(__x), __type(__y)); 32020: } 32020: # 1065 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: using ::double_t; 32020: using ::float_t; 32020: 32020: 32020: using ::acosh; 32020: using ::acoshf; 32020: using ::acoshl; 32020: 32020: using ::asinh; 32020: using ::asinhf; 32020: using ::asinhl; 32020: 32020: using ::atanh; 32020: using ::atanhf; 32020: using ::atanhl; 32020: 32020: using ::cbrt; 32020: using ::cbrtf; 32020: using ::cbrtl; 32020: 32020: using ::copysign; 32020: using ::copysignf; 32020: using ::copysignl; 32020: 32020: using ::erf; 32020: using ::erff; 32020: using ::erfl; 32020: 32020: using ::erfc; 32020: using ::erfcf; 32020: using ::erfcl; 32020: 32020: using ::exp2; 32020: using ::exp2f; 32020: using ::exp2l; 32020: 32020: using ::expm1; 32020: using ::expm1f; 32020: using ::expm1l; 32020: 32020: using ::fdim; 32020: using ::fdimf; 32020: using ::fdiml; 32020: 32020: using ::fma; 32020: using ::fmaf; 32020: using ::fmal; 32020: 32020: using ::fmax; 32020: using ::fmaxf; 32020: using ::fmaxl; 32020: 32020: using ::fmin; 32020: using ::fminf; 32020: using ::fminl; 32020: 32020: using ::hypot; 32020: using ::hypotf; 32020: using ::hypotl; 32020: 32020: using ::ilogb; 32020: using ::ilogbf; 32020: using ::ilogbl; 32020: 32020: using ::lgamma; 32020: using ::lgammaf; 32020: using ::lgammal; 32020: 32020: 32020: using ::llrint; 32020: using ::llrintf; 32020: using ::llrintl; 32020: 32020: using ::llround; 32020: using ::llroundf; 32020: using ::llroundl; 32020: 32020: 32020: using ::log1p; 32020: using ::log1pf; 32020: using ::log1pl; 32020: 32020: using ::log2; 32020: using ::log2f; 32020: using ::log2l; 32020: 32020: using ::logb; 32020: using ::logbf; 32020: using ::logbl; 32020: 32020: using ::lrint; 32020: using ::lrintf; 32020: using ::lrintl; 32020: 32020: using ::lround; 32020: using ::lroundf; 32020: using ::lroundl; 32020: 32020: using ::nan; 32020: using ::nanf; 32020: using ::nanl; 32020: 32020: using ::nearbyint; 32020: using ::nearbyintf; 32020: using ::nearbyintl; 32020: 32020: using ::nextafter; 32020: using ::nextafterf; 32020: using ::nextafterl; 32020: 32020: using ::nexttoward; 32020: using ::nexttowardf; 32020: using ::nexttowardl; 32020: 32020: using ::remainder; 32020: using ::remainderf; 32020: using ::remainderl; 32020: 32020: using ::remquo; 32020: using ::remquof; 32020: using ::remquol; 32020: 32020: using ::rint; 32020: using ::rintf; 32020: using ::rintl; 32020: 32020: using ::round; 32020: using ::roundf; 32020: using ::roundl; 32020: 32020: using ::scalbln; 32020: using ::scalblnf; 32020: using ::scalblnl; 32020: 32020: using ::scalbn; 32020: using ::scalbnf; 32020: using ::scalbnl; 32020: 32020: using ::tgamma; 32020: using ::tgammaf; 32020: using ::tgammal; 32020: 32020: using ::trunc; 32020: using ::truncf; 32020: using ::truncl; 32020: 32020: 32020: 32020: constexpr float 32020: acosh(float __x) 32020: { return __builtin_acoshf(__x); } 32020: 32020: constexpr long double 32020: acosh(long double __x) 32020: { return __builtin_acoshl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: acosh(_Tp __x) 32020: { return __builtin_acosh(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: asinh(float __x) 32020: { return __builtin_asinhf(__x); } 32020: 32020: constexpr long double 32020: asinh(long double __x) 32020: { return __builtin_asinhl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: asinh(_Tp __x) 32020: { return __builtin_asinh(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: atanh(float __x) 32020: { return __builtin_atanhf(__x); } 32020: 32020: constexpr long double 32020: atanh(long double __x) 32020: { return __builtin_atanhl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: atanh(_Tp __x) 32020: { return __builtin_atanh(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: cbrt(float __x) 32020: { return __builtin_cbrtf(__x); } 32020: 32020: constexpr long double 32020: cbrt(long double __x) 32020: { return __builtin_cbrtl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: cbrt(_Tp __x) 32020: { return __builtin_cbrt(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: copysign(float __x, float __y) 32020: { return __builtin_copysignf(__x, __y); } 32020: 32020: constexpr long double 32020: copysign(long double __x, long double __y) 32020: { return __builtin_copysignl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: copysign(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return copysign(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: erf(float __x) 32020: { return __builtin_erff(__x); } 32020: 32020: constexpr long double 32020: erf(long double __x) 32020: { return __builtin_erfl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: erf(_Tp __x) 32020: { return __builtin_erf(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: erfc(float __x) 32020: { return __builtin_erfcf(__x); } 32020: 32020: constexpr long double 32020: erfc(long double __x) 32020: { return __builtin_erfcl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: erfc(_Tp __x) 32020: { return __builtin_erfc(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: exp2(float __x) 32020: { return __builtin_exp2f(__x); } 32020: 32020: constexpr long double 32020: exp2(long double __x) 32020: { return __builtin_exp2l(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: exp2(_Tp __x) 32020: { return __builtin_exp2(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: expm1(float __x) 32020: { return __builtin_expm1f(__x); } 32020: 32020: constexpr long double 32020: expm1(long double __x) 32020: { return __builtin_expm1l(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: expm1(_Tp __x) 32020: { return __builtin_expm1(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: fdim(float __x, float __y) 32020: { return __builtin_fdimf(__x, __y); } 32020: 32020: constexpr long double 32020: fdim(long double __x, long double __y) 32020: { return __builtin_fdiml(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: fdim(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return fdim(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: fma(float __x, float __y, float __z) 32020: { return __builtin_fmaf(__x, __y, __z); } 32020: 32020: constexpr long double 32020: fma(long double __x, long double __y, long double __z) 32020: { return __builtin_fmal(__x, __y, __z); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type 32020: fma(_Tp __x, _Up __y, _Vp __z) 32020: { 32020: typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type; 32020: return fma(__type(__x), __type(__y), __type(__z)); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: fmax(float __x, float __y) 32020: { return __builtin_fmaxf(__x, __y); } 32020: 32020: constexpr long double 32020: fmax(long double __x, long double __y) 32020: { return __builtin_fmaxl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: fmax(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return fmax(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: fmin(float __x, float __y) 32020: { return __builtin_fminf(__x, __y); } 32020: 32020: constexpr long double 32020: fmin(long double __x, long double __y) 32020: { return __builtin_fminl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: fmin(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return fmin(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: hypot(float __x, float __y) 32020: { return __builtin_hypotf(__x, __y); } 32020: 32020: constexpr long double 32020: hypot(long double __x, long double __y) 32020: { return __builtin_hypotl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: hypot(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return hypot(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr int 32020: ilogb(float __x) 32020: { return __builtin_ilogbf(__x); } 32020: 32020: constexpr int 32020: ilogb(long double __x) 32020: { return __builtin_ilogbl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr 32020: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: int>::__type 32020: ilogb(_Tp __x) 32020: { return __builtin_ilogb(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: lgamma(float __x) 32020: { return __builtin_lgammaf(__x); } 32020: 32020: constexpr long double 32020: lgamma(long double __x) 32020: { return __builtin_lgammal(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: lgamma(_Tp __x) 32020: { return __builtin_lgamma(__x); } 32020: 32020: 32020: 32020: constexpr long long 32020: llrint(float __x) 32020: { return __builtin_llrintf(__x); } 32020: 32020: constexpr long long 32020: llrint(long double __x) 32020: { return __builtin_llrintl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: long long>::__type 32020: llrint(_Tp __x) 32020: { return __builtin_llrint(__x); } 32020: 32020: 32020: 32020: constexpr long long 32020: llround(float __x) 32020: { return __builtin_llroundf(__x); } 32020: 32020: constexpr long long 32020: llround(long double __x) 32020: { return __builtin_llroundl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: long long>::__type 32020: llround(_Tp __x) 32020: { return __builtin_llround(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: log1p(float __x) 32020: { return __builtin_log1pf(__x); } 32020: 32020: constexpr long double 32020: log1p(long double __x) 32020: { return __builtin_log1pl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: log1p(_Tp __x) 32020: { return __builtin_log1p(__x); } 32020: 32020: 32020: 32020: 32020: constexpr float 32020: log2(float __x) 32020: { return __builtin_log2f(__x); } 32020: 32020: constexpr long double 32020: log2(long double __x) 32020: { return __builtin_log2l(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: log2(_Tp __x) 32020: { return __builtin_log2(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: logb(float __x) 32020: { return __builtin_logbf(__x); } 32020: 32020: constexpr long double 32020: logb(long double __x) 32020: { return __builtin_logbl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: logb(_Tp __x) 32020: { return __builtin_logb(__x); } 32020: 32020: 32020: 32020: constexpr long 32020: lrint(float __x) 32020: { return __builtin_lrintf(__x); } 32020: 32020: constexpr long 32020: lrint(long double __x) 32020: { return __builtin_lrintl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: long>::__type 32020: lrint(_Tp __x) 32020: { return __builtin_lrint(__x); } 32020: 32020: 32020: 32020: constexpr long 32020: lround(float __x) 32020: { return __builtin_lroundf(__x); } 32020: 32020: constexpr long 32020: lround(long double __x) 32020: { return __builtin_lroundl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: long>::__type 32020: lround(_Tp __x) 32020: { return __builtin_lround(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: nearbyint(float __x) 32020: { return __builtin_nearbyintf(__x); } 32020: 32020: constexpr long double 32020: nearbyint(long double __x) 32020: { return __builtin_nearbyintl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: nearbyint(_Tp __x) 32020: { return __builtin_nearbyint(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: nextafter(float __x, float __y) 32020: { return __builtin_nextafterf(__x, __y); } 32020: 32020: constexpr long double 32020: nextafter(long double __x, long double __y) 32020: { return __builtin_nextafterl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: nextafter(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return nextafter(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: nexttoward(float __x, long double __y) 32020: { return __builtin_nexttowardf(__x, __y); } 32020: 32020: constexpr long double 32020: nexttoward(long double __x, long double __y) 32020: { return __builtin_nexttowardl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: nexttoward(_Tp __x, long double __y) 32020: { return __builtin_nexttoward(__x, __y); } 32020: 32020: 32020: 32020: constexpr float 32020: remainder(float __x, float __y) 32020: { return __builtin_remainderf(__x, __y); } 32020: 32020: constexpr long double 32020: remainder(long double __x, long double __y) 32020: { return __builtin_remainderl(__x, __y); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: remainder(_Tp __x, _Up __y) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return remainder(__type(__x), __type(__y)); 32020: } 32020: 32020: 32020: 32020: inline float 32020: remquo(float __x, float __y, int* __pquo) 32020: { return __builtin_remquof(__x, __y, __pquo); } 32020: 32020: inline long double 32020: remquo(long double __x, long double __y, int* __pquo) 32020: { return __builtin_remquol(__x, __y, __pquo); } 32020: 32020: 32020: 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 32020: remquo(_Tp __x, _Up __y, int* __pquo) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 32020: return remquo(__type(__x), __type(__y), __pquo); 32020: } 32020: 32020: 32020: 32020: constexpr float 32020: rint(float __x) 32020: { return __builtin_rintf(__x); } 32020: 32020: constexpr long double 32020: rint(long double __x) 32020: { return __builtin_rintl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: rint(_Tp __x) 32020: { return __builtin_rint(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: round(float __x) 32020: { return __builtin_roundf(__x); } 32020: 32020: constexpr long double 32020: round(long double __x) 32020: { return __builtin_roundl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: round(_Tp __x) 32020: { return __builtin_round(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: scalbln(float __x, long __ex) 32020: { return __builtin_scalblnf(__x, __ex); } 32020: 32020: constexpr long double 32020: scalbln(long double __x, long __ex) 32020: { return __builtin_scalblnl(__x, __ex); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: scalbln(_Tp __x, long __ex) 32020: { return __builtin_scalbln(__x, __ex); } 32020: 32020: 32020: 32020: constexpr float 32020: scalbn(float __x, int __ex) 32020: { return __builtin_scalbnf(__x, __ex); } 32020: 32020: constexpr long double 32020: scalbn(long double __x, int __ex) 32020: { return __builtin_scalbnl(__x, __ex); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: scalbn(_Tp __x, int __ex) 32020: { return __builtin_scalbn(__x, __ex); } 32020: 32020: 32020: 32020: constexpr float 32020: tgamma(float __x) 32020: { return __builtin_tgammaf(__x); } 32020: 32020: constexpr long double 32020: tgamma(long double __x) 32020: { return __builtin_tgammal(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: tgamma(_Tp __x) 32020: { return __builtin_tgamma(__x); } 32020: 32020: 32020: 32020: constexpr float 32020: trunc(float __x) 32020: { return __builtin_truncf(__x); } 32020: 32020: constexpr long double 32020: trunc(long double __x) 32020: { return __builtin_truncl(__x); } 32020: 32020: 32020: 32020: template 32020: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 32020: double>::__type 32020: trunc(_Tp __x) 32020: { return __builtin_trunc(__x); } 32020: # 1852 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: template 32020: inline _Tp 32020: __hypot3(_Tp __x, _Tp __y, _Tp __z) 32020: { 32020: __x = std::abs(__x); 32020: __y = std::abs(__y); 32020: __z = std::abs(__z); 32020: if (_Tp __a = __x < __y ? __y < __z ? __z : __y : __x < __z ? __z : __x) 32020: return __a * std::sqrt((__x / __a) * (__x / __a) 32020: + (__y / __a) * (__y / __a) 32020: + (__z / __a) * (__z / __a)); 32020: else 32020: return {}; 32020: } 32020: 32020: inline float 32020: hypot(float __x, float __y, float __z) 32020: { return std::__hypot3(__x, __y, __z); } 32020: 32020: inline double 32020: hypot(double __x, double __y, double __z) 32020: { return std::__hypot3(__x, __y, __z); } 32020: 32020: inline long double 32020: hypot(long double __x, long double __y, long double __z) 32020: { return std::__hypot3(__x, __y, __z); } 32020: 32020: template 32020: typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type 32020: hypot(_Tp __x, _Up __y, _Vp __z) 32020: { 32020: using __type = typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type; 32020: return std::__hypot3<__type>(__x, __y, __z); 32020: } 32020: # 1923 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 3 32020: 32020: } 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 1 3 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: #pragma GCC visibility push(default) 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 1 3 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/special_function_util.h" 1 3 32020: # 39 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/special_function_util.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/special_function_util.h" 3 32020: namespace __detail 32020: { 32020: 32020: 32020: 32020: template 32020: struct __floating_point_constant 32020: { 32020: static const _Tp __value; 32020: }; 32020: 32020: 32020: 32020: template 32020: struct __numeric_constants 32020: { 32020: 32020: static _Tp __pi() throw() 32020: { return static_cast<_Tp>(3.1415926535897932384626433832795029L); } 32020: 32020: static _Tp __pi_2() throw() 32020: { return static_cast<_Tp>(1.5707963267948966192313216916397514L); } 32020: 32020: static _Tp __pi_3() throw() 32020: { return static_cast<_Tp>(1.0471975511965977461542144610931676L); } 32020: 32020: static _Tp __pi_4() throw() 32020: { return static_cast<_Tp>(0.7853981633974483096156608458198757L); } 32020: 32020: static _Tp __1_pi() throw() 32020: { return static_cast<_Tp>(0.3183098861837906715377675267450287L); } 32020: 32020: static _Tp __2_sqrtpi() throw() 32020: { return static_cast<_Tp>(1.1283791670955125738961589031215452L); } 32020: 32020: static _Tp __sqrt2() throw() 32020: { return static_cast<_Tp>(1.4142135623730950488016887242096981L); } 32020: 32020: static _Tp __sqrt3() throw() 32020: { return static_cast<_Tp>(1.7320508075688772935274463415058723L); } 32020: 32020: static _Tp __sqrtpio2() throw() 32020: { return static_cast<_Tp>(1.2533141373155002512078826424055226L); } 32020: 32020: static _Tp __sqrt1_2() throw() 32020: { return static_cast<_Tp>(0.7071067811865475244008443621048490L); } 32020: 32020: static _Tp __lnpi() throw() 32020: { return static_cast<_Tp>(1.1447298858494001741434273513530587L); } 32020: 32020: static _Tp __gamma_e() throw() 32020: { return static_cast<_Tp>(0.5772156649015328606065120900824024L); } 32020: 32020: static _Tp __euler() throw() 32020: { return static_cast<_Tp>(2.7182818284590452353602874713526625L); } 32020: }; 32020: # 114 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/special_function_util.h" 3 32020: template 32020: inline bool __isnan(_Tp __x) 32020: { return std::isnan(__x); } 32020: # 133 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/special_function_util.h" 3 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: namespace __detail 32020: { 32020: # 76 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __bernoulli_series(unsigned int __n) 32020: { 32020: 32020: static const _Tp __num[28] = { 32020: _Tp(1UL), -_Tp(1UL) / _Tp(2UL), 32020: _Tp(1UL) / _Tp(6UL), _Tp(0UL), 32020: -_Tp(1UL) / _Tp(30UL), _Tp(0UL), 32020: _Tp(1UL) / _Tp(42UL), _Tp(0UL), 32020: -_Tp(1UL) / _Tp(30UL), _Tp(0UL), 32020: _Tp(5UL) / _Tp(66UL), _Tp(0UL), 32020: -_Tp(691UL) / _Tp(2730UL), _Tp(0UL), 32020: _Tp(7UL) / _Tp(6UL), _Tp(0UL), 32020: -_Tp(3617UL) / _Tp(510UL), _Tp(0UL), 32020: _Tp(43867UL) / _Tp(798UL), _Tp(0UL), 32020: -_Tp(174611) / _Tp(330UL), _Tp(0UL), 32020: _Tp(854513UL) / _Tp(138UL), _Tp(0UL), 32020: -_Tp(236364091UL) / _Tp(2730UL), _Tp(0UL), 32020: _Tp(8553103UL) / _Tp(6UL), _Tp(0UL) 32020: }; 32020: 32020: if (__n == 0) 32020: return _Tp(1); 32020: 32020: if (__n == 1) 32020: return -_Tp(1) / _Tp(2); 32020: 32020: 32020: if (__n % 2 == 1) 32020: return _Tp(0); 32020: 32020: 32020: if (__n < 28) 32020: return __num[__n]; 32020: 32020: 32020: _Tp __fact = _Tp(1); 32020: if ((__n / 2) % 2 == 0) 32020: __fact *= _Tp(-1); 32020: for (unsigned int __k = 1; __k <= __n; ++__k) 32020: __fact *= __k / (_Tp(2) * __numeric_constants<_Tp>::__pi()); 32020: __fact *= _Tp(2); 32020: 32020: _Tp __sum = _Tp(0); 32020: for (unsigned int __i = 1; __i < 1000; ++__i) 32020: { 32020: _Tp __term = std::pow(_Tp(__i), -_Tp(__n)); 32020: if (__term < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: __sum += __term; 32020: } 32020: 32020: return __fact * __sum; 32020: } 32020: # 139 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: inline _Tp 32020: __bernoulli(int __n) 32020: { return __bernoulli_series<_Tp>(__n); } 32020: # 153 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __log_gamma_bernoulli(_Tp __x) 32020: { 32020: _Tp __lg = (__x - _Tp(0.5L)) * std::log(__x) - __x 32020: + _Tp(0.5L) * std::log(_Tp(2) 32020: * __numeric_constants<_Tp>::__pi()); 32020: 32020: const _Tp __xx = __x * __x; 32020: _Tp __help = _Tp(1) / __x; 32020: for ( unsigned int __i = 1; __i < 20; ++__i ) 32020: { 32020: const _Tp __2i = _Tp(2 * __i); 32020: __help /= __2i * (__2i - _Tp(1)) * __xx; 32020: __lg += __bernoulli<_Tp>(2 * __i) * __help; 32020: } 32020: 32020: return __lg; 32020: } 32020: # 181 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __log_gamma_lanczos(_Tp __x) 32020: { 32020: const _Tp __xm1 = __x - _Tp(1); 32020: 32020: static const _Tp __lanczos_cheb_7[9] = { 32020: _Tp( 0.99999999999980993227684700473478L), 32020: _Tp( 676.520368121885098567009190444019L), 32020: _Tp(-1259.13921672240287047156078755283L), 32020: _Tp( 771.3234287776530788486528258894L), 32020: _Tp(-176.61502916214059906584551354L), 32020: _Tp( 12.507343278686904814458936853L), 32020: _Tp(-0.13857109526572011689554707L), 32020: _Tp( 9.984369578019570859563e-6L), 32020: _Tp( 1.50563273514931155834e-7L) 32020: }; 32020: 32020: static const _Tp __LOGROOT2PI 32020: = _Tp(0.9189385332046727417803297364056176L); 32020: 32020: _Tp __sum = __lanczos_cheb_7[0]; 32020: for(unsigned int __k = 1; __k < 9; ++__k) 32020: __sum += __lanczos_cheb_7[__k] / (__xm1 + __k); 32020: 32020: const _Tp __term1 = (__xm1 + _Tp(0.5L)) 32020: * std::log((__xm1 + _Tp(7.5L)) 32020: / __numeric_constants<_Tp>::__euler()); 32020: const _Tp __term2 = __LOGROOT2PI + std::log(__sum); 32020: const _Tp __result = __term1 + (__term2 - _Tp(7)); 32020: 32020: return __result; 32020: } 32020: # 225 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __log_gamma(_Tp __x) 32020: { 32020: if (__x > _Tp(0.5L)) 32020: return __log_gamma_lanczos(__x); 32020: else 32020: { 32020: const _Tp __sin_fact 32020: = std::abs(std::sin(__numeric_constants<_Tp>::__pi() * __x)); 32020: if (__sin_fact == _Tp(0)) 32020: std::__throw_domain_error(("Argument is nonpositive integer " "in __log_gamma") 32020: ); 32020: return __numeric_constants<_Tp>::__lnpi() 32020: - std::log(__sin_fact) 32020: - __log_gamma_lanczos(_Tp(1) - __x); 32020: } 32020: } 32020: # 252 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __log_gamma_sign(_Tp __x) 32020: { 32020: if (__x > _Tp(0)) 32020: return _Tp(1); 32020: else 32020: { 32020: const _Tp __sin_fact 32020: = std::sin(__numeric_constants<_Tp>::__pi() * __x); 32020: if (__sin_fact > _Tp(0)) 32020: return (1); 32020: else if (__sin_fact < _Tp(0)) 32020: return -_Tp(1); 32020: else 32020: return _Tp(0); 32020: } 32020: } 32020: # 283 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __log_bincoef(unsigned int __n, unsigned int __k) 32020: { 32020: 32020: static const _Tp __max_bincoeff 32020: = std::numeric_limits<_Tp>::max_exponent10 32020: * std::log(_Tp(10)) - _Tp(1); 32020: 32020: _Tp __coeff = ::std::lgamma(_Tp(1 + __n)) 32020: - ::std::lgamma(_Tp(1 + __k)) 32020: - ::std::lgamma(_Tp(1 + __n - __k)); 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 314 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __bincoef(unsigned int __n, unsigned int __k) 32020: { 32020: 32020: static const _Tp __max_bincoeff 32020: = std::numeric_limits<_Tp>::max_exponent10 32020: * std::log(_Tp(10)) - _Tp(1); 32020: 32020: const _Tp __log_coeff = __log_bincoef<_Tp>(__n, __k); 32020: if (__log_coeff > __max_bincoeff) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else 32020: return std::exp(__log_coeff); 32020: } 32020: # 337 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: inline _Tp 32020: __gamma(_Tp __x) 32020: { return std::exp(__log_gamma(__x)); } 32020: # 356 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __psi_series(_Tp __x) 32020: { 32020: _Tp __sum = -__numeric_constants<_Tp>::__gamma_e() - _Tp(1) / __x; 32020: const unsigned int __max_iter = 100000; 32020: for (unsigned int __k = 1; __k < __max_iter; ++__k) 32020: { 32020: const _Tp __term = __x / (__k * (__k + __x)); 32020: __sum += __term; 32020: if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: } 32020: return __sum; 32020: } 32020: # 386 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __psi_asymp(_Tp __x) 32020: { 32020: _Tp __sum = std::log(__x) - _Tp(0.5L) / __x; 32020: const _Tp __xx = __x * __x; 32020: _Tp __xp = __xx; 32020: const unsigned int __max_iter = 100; 32020: for (unsigned int __k = 1; __k < __max_iter; ++__k) 32020: { 32020: const _Tp __term = __bernoulli<_Tp>(2 * __k) / (2 * __k * __xp); 32020: __sum -= __term; 32020: if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: __xp *= __xx; 32020: } 32020: return __sum; 32020: } 32020: # 417 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __psi(_Tp __x) 32020: { 32020: const int __n = static_cast(__x + 0.5L); 32020: const _Tp __eps = _Tp(4) * std::numeric_limits<_Tp>::epsilon(); 32020: if (__n <= 0 && std::abs(__x - _Tp(__n)) < __eps) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x < _Tp(0)) 32020: { 32020: const _Tp __pi = __numeric_constants<_Tp>::__pi(); 32020: return __psi(_Tp(1) - __x) 32020: - __pi * std::cos(__pi * __x) / std::sin(__pi * __x); 32020: } 32020: else if (__x > _Tp(100)) 32020: return __psi_asymp(__x); 32020: else 32020: return __psi_series(__x); 32020: } 32020: # 446 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/gamma.tcc" 3 32020: template 32020: _Tp 32020: __psi(unsigned int __n, _Tp __x) 32020: { 32020: if (__x <= _Tp(0)) 32020: std::__throw_domain_error(("Argument out of range " "in __psi") 32020: ); 32020: else if (__n == 0) 32020: return __psi(__x); 32020: else 32020: { 32020: const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x); 32020: 32020: const _Tp __ln_nfact = ::std::lgamma(_Tp(__n + 1)); 32020: 32020: 32020: 32020: _Tp __result = std::exp(__ln_nfact) * __hzeta; 32020: if (__n % 2 == 1) 32020: __result = -__result; 32020: return __result; 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 1 3 32020: # 55 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 71 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: namespace __detail 32020: { 32020: # 98 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: void 32020: __gamma_temme(_Tp __mu, 32020: _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi) 32020: { 32020: 32020: __gampl = _Tp(1) / ::std::tgamma(_Tp(1) + __mu); 32020: __gammi = _Tp(1) / ::std::tgamma(_Tp(1) - __mu); 32020: 32020: 32020: 32020: 32020: 32020: if (std::abs(__mu) < std::numeric_limits<_Tp>::epsilon()) 32020: __gam1 = -_Tp(__numeric_constants<_Tp>::__gamma_e()); 32020: else 32020: __gam1 = (__gammi - __gampl) / (_Tp(2) * __mu); 32020: 32020: __gam2 = (__gammi + __gampl) / (_Tp(2)); 32020: 32020: return; 32020: } 32020: # 136 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: void 32020: __bessel_jn(_Tp __nu, _Tp __x, 32020: _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp & __Npnu) 32020: { 32020: if (__x == _Tp(0)) 32020: { 32020: if (__nu == _Tp(0)) 32020: { 32020: __Jnu = _Tp(1); 32020: __Jpnu = _Tp(0); 32020: } 32020: else if (__nu == _Tp(1)) 32020: { 32020: __Jnu = _Tp(0); 32020: __Jpnu = _Tp(0.5L); 32020: } 32020: else 32020: { 32020: __Jnu = _Tp(0); 32020: __Jpnu = _Tp(0); 32020: } 32020: __Nnu = -std::numeric_limits<_Tp>::infinity(); 32020: __Npnu = std::numeric_limits<_Tp>::infinity(); 32020: return; 32020: } 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: 32020: 32020: 32020: 32020: const _Tp __fp_min = std::sqrt(std::numeric_limits<_Tp>::min()); 32020: const int __max_iter = 15000; 32020: const _Tp __x_min = _Tp(2); 32020: 32020: const int __nl = (__x < __x_min 32020: ? static_cast(__nu + _Tp(0.5L)) 32020: : std::max(0, static_cast(__nu - __x + _Tp(1.5L)))); 32020: 32020: const _Tp __mu = __nu - __nl; 32020: const _Tp __mu2 = __mu * __mu; 32020: const _Tp __xi = _Tp(1) / __x; 32020: const _Tp __xi2 = _Tp(2) * __xi; 32020: _Tp __w = __xi2 / __numeric_constants<_Tp>::__pi(); 32020: int __isign = 1; 32020: _Tp __h = __nu * __xi; 32020: if (__h < __fp_min) 32020: __h = __fp_min; 32020: _Tp __b = __xi2 * __nu; 32020: _Tp __d = _Tp(0); 32020: _Tp __c = __h; 32020: int __i; 32020: for (__i = 1; __i <= __max_iter; ++__i) 32020: { 32020: __b += __xi2; 32020: __d = __b - __d; 32020: if (std::abs(__d) < __fp_min) 32020: __d = __fp_min; 32020: __c = __b - _Tp(1) / __c; 32020: if (std::abs(__c) < __fp_min) 32020: __c = __fp_min; 32020: __d = _Tp(1) / __d; 32020: const _Tp __del = __c * __d; 32020: __h *= __del; 32020: if (__d < _Tp(0)) 32020: __isign = -__isign; 32020: if (std::abs(__del - _Tp(1)) < __eps) 32020: break; 32020: } 32020: if (__i > __max_iter) 32020: std::__throw_runtime_error(("Argument x too large in __bessel_jn; " "try asymptotic expansion.") 32020: ); 32020: _Tp __Jnul = __isign * __fp_min; 32020: _Tp __Jpnul = __h * __Jnul; 32020: _Tp __Jnul1 = __Jnul; 32020: _Tp __Jpnu1 = __Jpnul; 32020: _Tp __fact = __nu * __xi; 32020: for ( int __l = __nl; __l >= 1; --__l ) 32020: { 32020: const _Tp __Jnutemp = __fact * __Jnul + __Jpnul; 32020: __fact -= __xi; 32020: __Jpnul = __fact * __Jnutemp - __Jnul; 32020: __Jnul = __Jnutemp; 32020: } 32020: if (__Jnul == _Tp(0)) 32020: __Jnul = __eps; 32020: _Tp __f= __Jpnul / __Jnul; 32020: _Tp __Nmu, __Nnu1, __Npmu, __Jmu; 32020: if (__x < __x_min) 32020: { 32020: const _Tp __x2 = __x / _Tp(2); 32020: const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu; 32020: _Tp __fact = (std::abs(__pimu) < __eps 32020: ? _Tp(1) : __pimu / std::sin(__pimu)); 32020: _Tp __d = -std::log(__x2); 32020: _Tp __e = __mu * __d; 32020: _Tp __fact2 = (std::abs(__e) < __eps 32020: ? _Tp(1) : std::sinh(__e) / __e); 32020: _Tp __gam1, __gam2, __gampl, __gammi; 32020: __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi); 32020: _Tp __ff = (_Tp(2) / __numeric_constants<_Tp>::__pi()) 32020: * __fact * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d); 32020: __e = std::exp(__e); 32020: _Tp __p = __e / (__numeric_constants<_Tp>::__pi() * __gampl); 32020: _Tp __q = _Tp(1) / (__e * __numeric_constants<_Tp>::__pi() * __gammi); 32020: const _Tp __pimu2 = __pimu / _Tp(2); 32020: _Tp __fact3 = (std::abs(__pimu2) < __eps 32020: ? _Tp(1) : std::sin(__pimu2) / __pimu2 ); 32020: _Tp __r = __numeric_constants<_Tp>::__pi() * __pimu2 * __fact3 * __fact3; 32020: _Tp __c = _Tp(1); 32020: __d = -__x2 * __x2; 32020: _Tp __sum = __ff + __r * __q; 32020: _Tp __sum1 = __p; 32020: for (__i = 1; __i <= __max_iter; ++__i) 32020: { 32020: __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2); 32020: __c *= __d / _Tp(__i); 32020: __p /= _Tp(__i) - __mu; 32020: __q /= _Tp(__i) + __mu; 32020: const _Tp __del = __c * (__ff + __r * __q); 32020: __sum += __del; 32020: const _Tp __del1 = __c * __p - __i * __del; 32020: __sum1 += __del1; 32020: if ( std::abs(__del) < __eps * (_Tp(1) + std::abs(__sum)) ) 32020: break; 32020: } 32020: if ( __i > __max_iter ) 32020: std::__throw_runtime_error(("Bessel y series failed to converge " "in __bessel_jn.") 32020: ); 32020: __Nmu = -__sum; 32020: __Nnu1 = -__sum1 * __xi2; 32020: __Npmu = __mu * __xi * __Nmu - __Nnu1; 32020: __Jmu = __w / (__Npmu - __f * __Nmu); 32020: } 32020: else 32020: { 32020: _Tp __a = _Tp(0.25L) - __mu2; 32020: _Tp __q = _Tp(1); 32020: _Tp __p = -__xi / _Tp(2); 32020: _Tp __br = _Tp(2) * __x; 32020: _Tp __bi = _Tp(2); 32020: _Tp __fact = __a * __xi / (__p * __p + __q * __q); 32020: _Tp __cr = __br + __q * __fact; 32020: _Tp __ci = __bi + __p * __fact; 32020: _Tp __den = __br * __br + __bi * __bi; 32020: _Tp __dr = __br / __den; 32020: _Tp __di = -__bi / __den; 32020: _Tp __dlr = __cr * __dr - __ci * __di; 32020: _Tp __dli = __cr * __di + __ci * __dr; 32020: _Tp __temp = __p * __dlr - __q * __dli; 32020: __q = __p * __dli + __q * __dlr; 32020: __p = __temp; 32020: int __i; 32020: for (__i = 2; __i <= __max_iter; ++__i) 32020: { 32020: __a += _Tp(2 * (__i - 1)); 32020: __bi += _Tp(2); 32020: __dr = __a * __dr + __br; 32020: __di = __a * __di + __bi; 32020: if (std::abs(__dr) + std::abs(__di) < __fp_min) 32020: __dr = __fp_min; 32020: __fact = __a / (__cr * __cr + __ci * __ci); 32020: __cr = __br + __cr * __fact; 32020: __ci = __bi - __ci * __fact; 32020: if (std::abs(__cr) + std::abs(__ci) < __fp_min) 32020: __cr = __fp_min; 32020: __den = __dr * __dr + __di * __di; 32020: __dr /= __den; 32020: __di /= -__den; 32020: __dlr = __cr * __dr - __ci * __di; 32020: __dli = __cr * __di + __ci * __dr; 32020: __temp = __p * __dlr - __q * __dli; 32020: __q = __p * __dli + __q * __dlr; 32020: __p = __temp; 32020: if (std::abs(__dlr - _Tp(1)) + std::abs(__dli) < __eps) 32020: break; 32020: } 32020: if (__i > __max_iter) 32020: std::__throw_runtime_error(("Lentz's method failed " "in __bessel_jn.") 32020: ); 32020: const _Tp __gam = (__p - __f) / __q; 32020: __Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q)); 32020: 32020: __Jmu = ::std::copysign(__Jmu, __Jnul); 32020: 32020: 32020: 32020: 32020: __Nmu = __gam * __Jmu; 32020: __Npmu = (__p + __q / __gam) * __Nmu; 32020: __Nnu1 = __mu * __xi * __Nmu - __Npmu; 32020: } 32020: __fact = __Jmu / __Jnul; 32020: __Jnu = __fact * __Jnul1; 32020: __Jpnu = __fact * __Jpnu1; 32020: for (__i = 1; __i <= __nl; ++__i) 32020: { 32020: const _Tp __Nnutemp = (__mu + __i) * __xi2 * __Nnu1 - __Nmu; 32020: __Nmu = __Nnu1; 32020: __Nnu1 = __Nnutemp; 32020: } 32020: __Nnu = __Nmu; 32020: __Npnu = __nu * __xi * __Nmu - __Nnu1; 32020: 32020: return; 32020: } 32020: # 361 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: void 32020: __cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp & __Jnu, _Tp & __Nnu) 32020: { 32020: const _Tp __mu = _Tp(4) * __nu * __nu; 32020: const _Tp __8x = _Tp(8) * __x; 32020: 32020: _Tp __P = _Tp(0); 32020: _Tp __Q = _Tp(0); 32020: 32020: _Tp __k = _Tp(0); 32020: _Tp __term = _Tp(1); 32020: 32020: int __epsP = 0; 32020: int __epsQ = 0; 32020: 32020: _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: 32020: do 32020: { 32020: __term *= (__k == 0 32020: ? _Tp(1) 32020: : -(__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x)); 32020: 32020: __epsP = std::abs(__term) < __eps * std::abs(__P); 32020: __P += __term; 32020: 32020: __k++; 32020: 32020: __term *= (__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x); 32020: __epsQ = std::abs(__term) < __eps * std::abs(__Q); 32020: __Q += __term; 32020: 32020: if (__epsP && __epsQ && __k > (__nu / 2.)) 32020: break; 32020: 32020: __k++; 32020: } 32020: while (__k < 1000); 32020: 32020: const _Tp __chi = __x - (__nu + _Tp(0.5L)) 32020: * __numeric_constants<_Tp>::__pi_2(); 32020: 32020: const _Tp __c = std::cos(__chi); 32020: const _Tp __s = std::sin(__chi); 32020: 32020: const _Tp __coef = std::sqrt(_Tp(2) 32020: / (__numeric_constants<_Tp>::__pi() * __x)); 32020: 32020: __Jnu = __coef * (__c * __P - __s * __Q); 32020: __Nnu = __coef * (__s * __P + __c * __Q); 32020: 32020: return; 32020: } 32020: # 444 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: _Tp 32020: __cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn, 32020: unsigned int __max_iter) 32020: { 32020: if (__x == _Tp(0)) 32020: return __nu == _Tp(0) ? _Tp(1) : _Tp(0); 32020: 32020: const _Tp __x2 = __x / _Tp(2); 32020: _Tp __fact = __nu * std::log(__x2); 32020: 32020: __fact -= ::std::lgamma(__nu + _Tp(1)); 32020: 32020: 32020: 32020: __fact = std::exp(__fact); 32020: const _Tp __xx4 = __sgn * __x2 * __x2; 32020: _Tp __Jn = _Tp(1); 32020: _Tp __term = _Tp(1); 32020: 32020: for (unsigned int __i = 1; __i < __max_iter; ++__i) 32020: { 32020: __term *= __xx4 / (_Tp(__i) * (__nu + _Tp(__i))); 32020: __Jn += __term; 32020: if (std::abs(__term / __Jn) < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: } 32020: 32020: return __fact * __Jn; 32020: } 32020: # 490 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: _Tp 32020: __cyl_bessel_j(_Tp __nu, _Tp __x) 32020: { 32020: if (__nu < _Tp(0) || __x < _Tp(0)) 32020: std::__throw_domain_error(("Bad argument " "in __cyl_bessel_j.") 32020: ); 32020: else if (__isnan(__nu) || __isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x * __x < _Tp(10) * (__nu + _Tp(1))) 32020: return __cyl_bessel_ij_series(__nu, __x, -_Tp(1), 200); 32020: else if (__x > _Tp(1000)) 32020: { 32020: _Tp __J_nu, __N_nu; 32020: __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu); 32020: return __J_nu; 32020: } 32020: else 32020: { 32020: _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu; 32020: __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu); 32020: return __J_nu; 32020: } 32020: } 32020: # 532 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: _Tp 32020: __cyl_neumann_n(_Tp __nu, _Tp __x) 32020: { 32020: if (__nu < _Tp(0) || __x < _Tp(0)) 32020: std::__throw_domain_error(("Bad argument " "in __cyl_neumann_n.") 32020: ); 32020: else if (__isnan(__nu) || __isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x > _Tp(1000)) 32020: { 32020: _Tp __J_nu, __N_nu; 32020: __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu); 32020: return __N_nu; 32020: } 32020: else 32020: { 32020: _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu; 32020: __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu); 32020: return __N_nu; 32020: } 32020: } 32020: # 569 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: void 32020: __sph_bessel_jn(unsigned int __n, _Tp __x, 32020: _Tp & __j_n, _Tp & __n_n, _Tp & __jp_n, _Tp & __np_n) 32020: { 32020: const _Tp __nu = _Tp(__n) + _Tp(0.5L); 32020: 32020: _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu; 32020: __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu); 32020: 32020: const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2() 32020: / std::sqrt(__x); 32020: 32020: __j_n = __factor * __J_nu; 32020: __n_n = __factor * __N_nu; 32020: __jp_n = __factor * __Jp_nu - __j_n / (_Tp(2) * __x); 32020: __np_n = __factor * __Np_nu - __n_n / (_Tp(2) * __x); 32020: 32020: return; 32020: } 32020: # 604 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: _Tp 32020: __sph_bessel(unsigned int __n, _Tp __x) 32020: { 32020: if (__x < _Tp(0)) 32020: std::__throw_domain_error(("Bad argument " "in __sph_bessel.") 32020: ); 32020: else if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x == _Tp(0)) 32020: { 32020: if (__n == 0) 32020: return _Tp(1); 32020: else 32020: return _Tp(0); 32020: } 32020: else 32020: { 32020: _Tp __j_n, __n_n, __jp_n, __np_n; 32020: __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n); 32020: return __j_n; 32020: } 32020: } 32020: # 642 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/bessel_function.tcc" 3 32020: template 32020: _Tp 32020: __sph_neumann(unsigned int __n, _Tp __x) 32020: { 32020: if (__x < _Tp(0)) 32020: std::__throw_domain_error(("Bad argument " "in __sph_neumann.") 32020: ); 32020: else if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x == _Tp(0)) 32020: return -std::numeric_limits<_Tp>::infinity(); 32020: else 32020: { 32020: _Tp __j_n, __n_n, __jp_n, __np_n; 32020: __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n); 32020: return __n_n; 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 51 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 1 3 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: namespace __detail 32020: { 32020: # 79 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: template 32020: _Tp 32020: __beta_gamma(_Tp __x, _Tp __y) 32020: { 32020: 32020: _Tp __bet; 32020: 32020: if (__x > __y) 32020: { 32020: __bet = ::std::tgamma(__x) 32020: / ::std::tgamma(__x + __y); 32020: __bet *= ::std::tgamma(__y); 32020: } 32020: else 32020: { 32020: __bet = ::std::tgamma(__y) 32020: / ::std::tgamma(__x + __y); 32020: __bet *= ::std::tgamma(__x); 32020: } 32020: # 111 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: return __bet; 32020: } 32020: # 127 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: template 32020: _Tp 32020: __beta_lgamma(_Tp __x, _Tp __y) 32020: { 32020: 32020: _Tp __bet = ::std::lgamma(__x) 32020: + ::std::lgamma(__y) 32020: - ::std::lgamma(__x + __y); 32020: 32020: 32020: 32020: 32020: 32020: __bet = std::exp(__bet); 32020: return __bet; 32020: } 32020: # 158 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: template 32020: _Tp 32020: __beta_product(_Tp __x, _Tp __y) 32020: { 32020: 32020: _Tp __bet = (__x + __y) / (__x * __y); 32020: 32020: unsigned int __max_iter = 1000000; 32020: for (unsigned int __k = 1; __k < __max_iter; ++__k) 32020: { 32020: _Tp __term = (_Tp(1) + (__x + __y) / __k) 32020: / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k)); 32020: __bet *= __term; 32020: } 32020: 32020: return __bet; 32020: } 32020: # 189 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/beta_function.tcc" 3 32020: template 32020: inline _Tp 32020: __beta(_Tp __x, _Tp __y) 32020: { 32020: if (__isnan(__x) || __isnan(__y)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else 32020: return __beta_lgamma(__x, __y); 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 52 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 1 3 32020: # 45 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: namespace __detail 32020: { 32020: # 76 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_rf(_Tp __x, _Tp __y, _Tp __z) 32020: { 32020: const _Tp __min = std::numeric_limits<_Tp>::min(); 32020: const _Tp __max = std::numeric_limits<_Tp>::max(); 32020: const _Tp __lolim = _Tp(5) * __min; 32020: const _Tp __uplim = __max / _Tp(5); 32020: 32020: if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0)) 32020: std::__throw_domain_error(("Argument less than zero " "in __ellint_rf.") 32020: ); 32020: else if (__x + __y < __lolim || __x + __z < __lolim 32020: || __y + __z < __lolim) 32020: std::__throw_domain_error(("Argument too small in __ellint_rf")); 32020: else 32020: { 32020: const _Tp __c0 = _Tp(1) / _Tp(4); 32020: const _Tp __c1 = _Tp(1) / _Tp(24); 32020: const _Tp __c2 = _Tp(1) / _Tp(10); 32020: const _Tp __c3 = _Tp(3) / _Tp(44); 32020: const _Tp __c4 = _Tp(1) / _Tp(14); 32020: 32020: _Tp __xn = __x; 32020: _Tp __yn = __y; 32020: _Tp __zn = __z; 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __errtol = std::pow(__eps, _Tp(1) / _Tp(6)); 32020: _Tp __mu; 32020: _Tp __xndev, __yndev, __zndev; 32020: 32020: const unsigned int __max_iter = 100; 32020: for (unsigned int __iter = 0; __iter < __max_iter; ++__iter) 32020: { 32020: __mu = (__xn + __yn + __zn) / _Tp(3); 32020: __xndev = 2 - (__mu + __xn) / __mu; 32020: __yndev = 2 - (__mu + __yn) / __mu; 32020: __zndev = 2 - (__mu + __zn) / __mu; 32020: _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev)); 32020: __epsilon = std::max(__epsilon, std::abs(__zndev)); 32020: if (__epsilon < __errtol) 32020: break; 32020: const _Tp __xnroot = std::sqrt(__xn); 32020: const _Tp __ynroot = std::sqrt(__yn); 32020: const _Tp __znroot = std::sqrt(__zn); 32020: const _Tp __lambda = __xnroot * (__ynroot + __znroot) 32020: + __ynroot * __znroot; 32020: __xn = __c0 * (__xn + __lambda); 32020: __yn = __c0 * (__yn + __lambda); 32020: __zn = __c0 * (__zn + __lambda); 32020: } 32020: 32020: const _Tp __e2 = __xndev * __yndev - __zndev * __zndev; 32020: const _Tp __e3 = __xndev * __yndev * __zndev; 32020: const _Tp __s = _Tp(1) + (__c1 * __e2 - __c2 - __c3 * __e3) * __e2 32020: + __c4 * __e3; 32020: 32020: return __s / std::sqrt(__mu); 32020: } 32020: } 32020: # 155 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __comp_ellint_1_series(_Tp __k) 32020: { 32020: 32020: const _Tp __kk = __k * __k; 32020: 32020: _Tp __term = __kk / _Tp(4); 32020: _Tp __sum = _Tp(1) + __term; 32020: 32020: const unsigned int __max_iter = 1000; 32020: for (unsigned int __i = 2; __i < __max_iter; ++__i) 32020: { 32020: __term *= (2 * __i - 1) * __kk / (2 * __i); 32020: if (__term < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: __sum += __term; 32020: } 32020: 32020: return __numeric_constants<_Tp>::__pi_2() * __sum; 32020: } 32020: # 193 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __comp_ellint_1(_Tp __k) 32020: { 32020: 32020: if (__isnan(__k)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (std::abs(__k) >= _Tp(1)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else 32020: return __ellint_rf(_Tp(0), _Tp(1) - __k * __k, _Tp(1)); 32020: } 32020: # 221 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_1(_Tp __k, _Tp __phi) 32020: { 32020: 32020: if (__isnan(__k) || __isnan(__phi)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (std::abs(__k) > _Tp(1)) 32020: std::__throw_domain_error(("Bad argument in __ellint_1.")); 32020: else 32020: { 32020: 32020: const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi() 32020: + _Tp(0.5L)); 32020: const _Tp __phi_red = __phi 32020: - __n * __numeric_constants<_Tp>::__pi(); 32020: 32020: const _Tp __s = std::sin(__phi_red); 32020: const _Tp __c = std::cos(__phi_red); 32020: 32020: const _Tp __F = __s 32020: * __ellint_rf(__c * __c, 32020: _Tp(1) - __k * __k * __s * __s, _Tp(1)); 32020: 32020: if (__n == 0) 32020: return __F; 32020: else 32020: return __F + _Tp(2) * __n * __comp_ellint_1(__k); 32020: } 32020: } 32020: # 268 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __comp_ellint_2_series(_Tp __k) 32020: { 32020: 32020: const _Tp __kk = __k * __k; 32020: 32020: _Tp __term = __kk; 32020: _Tp __sum = __term; 32020: 32020: const unsigned int __max_iter = 1000; 32020: for (unsigned int __i = 2; __i < __max_iter; ++__i) 32020: { 32020: const _Tp __i2m = 2 * __i - 1; 32020: const _Tp __i2 = 2 * __i; 32020: __term *= __i2m * __i2m * __kk / (__i2 * __i2); 32020: if (__term < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: __sum += __term / __i2m; 32020: } 32020: 32020: return __numeric_constants<_Tp>::__pi_2() * (_Tp(1) - __sum); 32020: } 32020: # 316 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_rd(_Tp __x, _Tp __y, _Tp __z) 32020: { 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6)); 32020: const _Tp __min = std::numeric_limits<_Tp>::min(); 32020: const _Tp __max = std::numeric_limits<_Tp>::max(); 32020: const _Tp __lolim = _Tp(2) / std::pow(__max, _Tp(2) / _Tp(3)); 32020: const _Tp __uplim = std::pow(_Tp(0.1L) * __errtol / __min, _Tp(2) / _Tp(3)); 32020: 32020: if (__x < _Tp(0) || __y < _Tp(0)) 32020: std::__throw_domain_error(("Argument less than zero " "in __ellint_rd.") 32020: ); 32020: else if (__x + __y < __lolim || __z < __lolim) 32020: std::__throw_domain_error(("Argument too small " "in __ellint_rd.") 32020: ); 32020: else 32020: { 32020: const _Tp __c0 = _Tp(1) / _Tp(4); 32020: const _Tp __c1 = _Tp(3) / _Tp(14); 32020: const _Tp __c2 = _Tp(1) / _Tp(6); 32020: const _Tp __c3 = _Tp(9) / _Tp(22); 32020: const _Tp __c4 = _Tp(3) / _Tp(26); 32020: 32020: _Tp __xn = __x; 32020: _Tp __yn = __y; 32020: _Tp __zn = __z; 32020: _Tp __sigma = _Tp(0); 32020: _Tp __power4 = _Tp(1); 32020: 32020: _Tp __mu; 32020: _Tp __xndev, __yndev, __zndev; 32020: 32020: const unsigned int __max_iter = 100; 32020: for (unsigned int __iter = 0; __iter < __max_iter; ++__iter) 32020: { 32020: __mu = (__xn + __yn + _Tp(3) * __zn) / _Tp(5); 32020: __xndev = (__mu - __xn) / __mu; 32020: __yndev = (__mu - __yn) / __mu; 32020: __zndev = (__mu - __zn) / __mu; 32020: _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev)); 32020: __epsilon = std::max(__epsilon, std::abs(__zndev)); 32020: if (__epsilon < __errtol) 32020: break; 32020: _Tp __xnroot = std::sqrt(__xn); 32020: _Tp __ynroot = std::sqrt(__yn); 32020: _Tp __znroot = std::sqrt(__zn); 32020: _Tp __lambda = __xnroot * (__ynroot + __znroot) 32020: + __ynroot * __znroot; 32020: __sigma += __power4 / (__znroot * (__zn + __lambda)); 32020: __power4 *= __c0; 32020: __xn = __c0 * (__xn + __lambda); 32020: __yn = __c0 * (__yn + __lambda); 32020: __zn = __c0 * (__zn + __lambda); 32020: } 32020: 32020: _Tp __ea = __xndev * __yndev; 32020: _Tp __eb = __zndev * __zndev; 32020: _Tp __ec = __ea - __eb; 32020: _Tp __ed = __ea - _Tp(6) * __eb; 32020: _Tp __ef = __ed + __ec + __ec; 32020: _Tp __s1 = __ed * (-__c1 + __c3 * __ed 32020: / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef 32020: / _Tp(2)); 32020: _Tp __s2 = __zndev 32020: * (__c2 * __ef 32020: + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea)); 32020: 32020: return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2) 32020: / (__mu * std::sqrt(__mu)); 32020: } 32020: } 32020: # 403 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __comp_ellint_2(_Tp __k) 32020: { 32020: 32020: if (__isnan(__k)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (std::abs(__k) == 1) 32020: return _Tp(1); 32020: else if (std::abs(__k) > _Tp(1)) 32020: std::__throw_domain_error(("Bad argument in __comp_ellint_2.")); 32020: else 32020: { 32020: const _Tp __kk = __k * __k; 32020: 32020: return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1)) 32020: - __kk * __ellint_rd(_Tp(0), _Tp(1) - __kk, _Tp(1)) / _Tp(3); 32020: } 32020: } 32020: # 437 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_2(_Tp __k, _Tp __phi) 32020: { 32020: 32020: if (__isnan(__k) || __isnan(__phi)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (std::abs(__k) > _Tp(1)) 32020: std::__throw_domain_error(("Bad argument in __ellint_2.")); 32020: else 32020: { 32020: 32020: const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi() 32020: + _Tp(0.5L)); 32020: const _Tp __phi_red = __phi 32020: - __n * __numeric_constants<_Tp>::__pi(); 32020: 32020: const _Tp __kk = __k * __k; 32020: const _Tp __s = std::sin(__phi_red); 32020: const _Tp __ss = __s * __s; 32020: const _Tp __sss = __ss * __s; 32020: const _Tp __c = std::cos(__phi_red); 32020: const _Tp __cc = __c * __c; 32020: 32020: const _Tp __E = __s 32020: * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1)) 32020: - __kk * __sss 32020: * __ellint_rd(__cc, _Tp(1) - __kk * __ss, _Tp(1)) 32020: / _Tp(3); 32020: 32020: if (__n == 0) 32020: return __E; 32020: else 32020: return __E + _Tp(2) * __n * __comp_ellint_2(__k); 32020: } 32020: } 32020: # 496 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_rc(_Tp __x, _Tp __y) 32020: { 32020: const _Tp __min = std::numeric_limits<_Tp>::min(); 32020: const _Tp __max = std::numeric_limits<_Tp>::max(); 32020: const _Tp __lolim = _Tp(5) * __min; 32020: const _Tp __uplim = __max / _Tp(5); 32020: 32020: if (__x < _Tp(0) || __y < _Tp(0) || __x + __y < __lolim) 32020: std::__throw_domain_error(("Argument less than zero " "in __ellint_rc.") 32020: ); 32020: else 32020: { 32020: const _Tp __c0 = _Tp(1) / _Tp(4); 32020: const _Tp __c1 = _Tp(1) / _Tp(7); 32020: const _Tp __c2 = _Tp(9) / _Tp(22); 32020: const _Tp __c3 = _Tp(3) / _Tp(10); 32020: const _Tp __c4 = _Tp(3) / _Tp(8); 32020: 32020: _Tp __xn = __x; 32020: _Tp __yn = __y; 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __errtol = std::pow(__eps / _Tp(30), _Tp(1) / _Tp(6)); 32020: _Tp __mu; 32020: _Tp __sn; 32020: 32020: const unsigned int __max_iter = 100; 32020: for (unsigned int __iter = 0; __iter < __max_iter; ++__iter) 32020: { 32020: __mu = (__xn + _Tp(2) * __yn) / _Tp(3); 32020: __sn = (__yn + __mu) / __mu - _Tp(2); 32020: if (std::abs(__sn) < __errtol) 32020: break; 32020: const _Tp __lambda = _Tp(2) * std::sqrt(__xn) * std::sqrt(__yn) 32020: + __yn; 32020: __xn = __c0 * (__xn + __lambda); 32020: __yn = __c0 * (__yn + __lambda); 32020: } 32020: 32020: _Tp __s = __sn * __sn 32020: * (__c3 + __sn*(__c1 + __sn * (__c4 + __sn * __c2))); 32020: 32020: return (_Tp(1) + __s) / std::sqrt(__mu); 32020: } 32020: } 32020: # 567 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p) 32020: { 32020: const _Tp __min = std::numeric_limits<_Tp>::min(); 32020: const _Tp __max = std::numeric_limits<_Tp>::max(); 32020: const _Tp __lolim = std::pow(_Tp(5) * __min, _Tp(1)/_Tp(3)); 32020: const _Tp __uplim = _Tp(0.3L) 32020: * std::pow(_Tp(0.2L) * __max, _Tp(1)/_Tp(3)); 32020: 32020: if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0)) 32020: std::__throw_domain_error(("Argument less than zero " "in __ellint_rj.") 32020: ); 32020: else if (__x + __y < __lolim || __x + __z < __lolim 32020: || __y + __z < __lolim || __p < __lolim) 32020: std::__throw_domain_error(("Argument too small " "in __ellint_rj") 32020: ); 32020: else 32020: { 32020: const _Tp __c0 = _Tp(1) / _Tp(4); 32020: const _Tp __c1 = _Tp(3) / _Tp(14); 32020: const _Tp __c2 = _Tp(1) / _Tp(3); 32020: const _Tp __c3 = _Tp(3) / _Tp(22); 32020: const _Tp __c4 = _Tp(3) / _Tp(26); 32020: 32020: _Tp __xn = __x; 32020: _Tp __yn = __y; 32020: _Tp __zn = __z; 32020: _Tp __pn = __p; 32020: _Tp __sigma = _Tp(0); 32020: _Tp __power4 = _Tp(1); 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6)); 32020: 32020: _Tp __lambda, __mu; 32020: _Tp __xndev, __yndev, __zndev, __pndev; 32020: 32020: const unsigned int __max_iter = 100; 32020: for (unsigned int __iter = 0; __iter < __max_iter; ++__iter) 32020: { 32020: __mu = (__xn + __yn + __zn + _Tp(2) * __pn) / _Tp(5); 32020: __xndev = (__mu - __xn) / __mu; 32020: __yndev = (__mu - __yn) / __mu; 32020: __zndev = (__mu - __zn) / __mu; 32020: __pndev = (__mu - __pn) / __mu; 32020: _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev)); 32020: __epsilon = std::max(__epsilon, std::abs(__zndev)); 32020: __epsilon = std::max(__epsilon, std::abs(__pndev)); 32020: if (__epsilon < __errtol) 32020: break; 32020: const _Tp __xnroot = std::sqrt(__xn); 32020: const _Tp __ynroot = std::sqrt(__yn); 32020: const _Tp __znroot = std::sqrt(__zn); 32020: const _Tp __lambda = __xnroot * (__ynroot + __znroot) 32020: + __ynroot * __znroot; 32020: const _Tp __alpha1 = __pn * (__xnroot + __ynroot + __znroot) 32020: + __xnroot * __ynroot * __znroot; 32020: const _Tp __alpha2 = __alpha1 * __alpha1; 32020: const _Tp __beta = __pn * (__pn + __lambda) 32020: * (__pn + __lambda); 32020: __sigma += __power4 * __ellint_rc(__alpha2, __beta); 32020: __power4 *= __c0; 32020: __xn = __c0 * (__xn + __lambda); 32020: __yn = __c0 * (__yn + __lambda); 32020: __zn = __c0 * (__zn + __lambda); 32020: __pn = __c0 * (__pn + __lambda); 32020: } 32020: 32020: _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev; 32020: _Tp __eb = __xndev * __yndev * __zndev; 32020: _Tp __ec = __pndev * __pndev; 32020: _Tp __e2 = __ea - _Tp(3) * __ec; 32020: _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec); 32020: _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4) 32020: - _Tp(3) * __c4 * __e3 / _Tp(2)); 32020: _Tp __s2 = __eb * (__c2 / _Tp(2) 32020: + __pndev * (-__c3 - __c3 + __pndev * __c4)); 32020: _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3) 32020: - __c2 * __pndev * __ec; 32020: 32020: return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3) 32020: / (__mu * std::sqrt(__mu)); 32020: } 32020: } 32020: # 670 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __comp_ellint_3(_Tp __k, _Tp __nu) 32020: { 32020: 32020: if (__isnan(__k) || __isnan(__nu)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__nu == _Tp(1)) 32020: return std::numeric_limits<_Tp>::infinity(); 32020: else if (std::abs(__k) > _Tp(1)) 32020: std::__throw_domain_error(("Bad argument in __comp_ellint_3.")); 32020: else 32020: { 32020: const _Tp __kk = __k * __k; 32020: 32020: return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1)) 32020: + __nu 32020: * __ellint_rj(_Tp(0), _Tp(1) - __kk, _Tp(1), _Tp(1) - __nu) 32020: / _Tp(3); 32020: } 32020: } 32020: # 710 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/ell_integral.tcc" 3 32020: template 32020: _Tp 32020: __ellint_3(_Tp __k, _Tp __nu, _Tp __phi) 32020: { 32020: 32020: if (__isnan(__k) || __isnan(__nu) || __isnan(__phi)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (std::abs(__k) > _Tp(1)) 32020: std::__throw_domain_error(("Bad argument in __ellint_3.")); 32020: else 32020: { 32020: 32020: const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi() 32020: + _Tp(0.5L)); 32020: const _Tp __phi_red = __phi 32020: - __n * __numeric_constants<_Tp>::__pi(); 32020: 32020: const _Tp __kk = __k * __k; 32020: const _Tp __s = std::sin(__phi_red); 32020: const _Tp __ss = __s * __s; 32020: const _Tp __sss = __ss * __s; 32020: const _Tp __c = std::cos(__phi_red); 32020: const _Tp __cc = __c * __c; 32020: 32020: const _Tp __Pi = __s 32020: * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1)) 32020: + __nu * __sss 32020: * __ellint_rj(__cc, _Tp(1) - __kk * __ss, _Tp(1), 32020: _Tp(1) - __nu * __ss) / _Tp(3); 32020: 32020: if (__n == 0) 32020: return __Pi; 32020: else 32020: return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu); 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 53 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 1 3 32020: # 50 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 64 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: namespace __detail 32020: { 32020: template _Tp __expint_E1(_Tp); 32020: # 81 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_E1_series(_Tp __x) 32020: { 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: _Tp __term = _Tp(1); 32020: _Tp __esum = _Tp(0); 32020: _Tp __osum = _Tp(0); 32020: const unsigned int __max_iter = 1000; 32020: for (unsigned int __i = 1; __i < __max_iter; ++__i) 32020: { 32020: __term *= - __x / __i; 32020: if (std::abs(__term) < __eps) 32020: break; 32020: if (__term >= _Tp(0)) 32020: __esum += __term / __i; 32020: else 32020: __osum += __term / __i; 32020: } 32020: 32020: return - __esum - __osum 32020: - __numeric_constants<_Tp>::__gamma_e() - std::log(__x); 32020: } 32020: # 118 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_E1_asymp(_Tp __x) 32020: { 32020: _Tp __term = _Tp(1); 32020: _Tp __esum = _Tp(1); 32020: _Tp __osum = _Tp(0); 32020: const unsigned int __max_iter = 1000; 32020: for (unsigned int __i = 1; __i < __max_iter; ++__i) 32020: { 32020: _Tp __prev = __term; 32020: __term *= - __i / __x; 32020: if (std::abs(__term) > std::abs(__prev)) 32020: break; 32020: if (__term >= _Tp(0)) 32020: __esum += __term; 32020: else 32020: __osum += __term; 32020: } 32020: 32020: return std::exp(- __x) * (__esum + __osum) / __x; 32020: } 32020: # 155 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_En_series(unsigned int __n, _Tp __x) 32020: { 32020: const unsigned int __max_iter = 1000; 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const int __nm1 = __n - 1; 32020: _Tp __ans = (__nm1 != 0 32020: ? _Tp(1) / __nm1 : -std::log(__x) 32020: - __numeric_constants<_Tp>::__gamma_e()); 32020: _Tp __fact = _Tp(1); 32020: for (int __i = 1; __i <= __max_iter; ++__i) 32020: { 32020: __fact *= -__x / _Tp(__i); 32020: _Tp __del; 32020: if ( __i != __nm1 ) 32020: __del = -__fact / _Tp(__i - __nm1); 32020: else 32020: { 32020: _Tp __psi = -__numeric_constants<_Tp>::gamma_e(); 32020: for (int __ii = 1; __ii <= __nm1; ++__ii) 32020: __psi += _Tp(1) / _Tp(__ii); 32020: __del = __fact * (__psi - std::log(__x)); 32020: } 32020: __ans += __del; 32020: if (std::abs(__del) < __eps * std::abs(__ans)) 32020: return __ans; 32020: } 32020: std::__throw_runtime_error(("Series summation failed " "in __expint_En_series.") 32020: ); 32020: } 32020: # 201 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_En_cont_frac(unsigned int __n, _Tp __x) 32020: { 32020: const unsigned int __max_iter = 1000; 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __fp_min = std::numeric_limits<_Tp>::min(); 32020: const int __nm1 = __n - 1; 32020: _Tp __b = __x + _Tp(__n); 32020: _Tp __c = _Tp(1) / __fp_min; 32020: _Tp __d = _Tp(1) / __b; 32020: _Tp __h = __d; 32020: for ( unsigned int __i = 1; __i <= __max_iter; ++__i ) 32020: { 32020: _Tp __a = -_Tp(__i * (__nm1 + __i)); 32020: __b += _Tp(2); 32020: __d = _Tp(1) / (__a * __d + __b); 32020: __c = __b + __a / __c; 32020: const _Tp __del = __c * __d; 32020: __h *= __del; 32020: if (std::abs(__del - _Tp(1)) < __eps) 32020: { 32020: const _Tp __ans = __h * std::exp(-__x); 32020: return __ans; 32020: } 32020: } 32020: std::__throw_runtime_error(("Continued fraction failed " "in __expint_En_cont_frac.") 32020: ); 32020: } 32020: # 246 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_En_recursion(unsigned int __n, _Tp __x) 32020: { 32020: _Tp __En; 32020: _Tp __E1 = __expint_E1(__x); 32020: if (__x < _Tp(__n)) 32020: { 32020: 32020: __En = __E1; 32020: for (unsigned int __j = 2; __j < __n; ++__j) 32020: __En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1); 32020: } 32020: else 32020: { 32020: 32020: __En = _Tp(1); 32020: const int __N = __n + 20; 32020: _Tp __save = _Tp(0); 32020: for (int __j = __N; __j > 0; --__j) 32020: { 32020: __En = (std::exp(-__x) - __j * __En) / __x; 32020: if (__j == __n) 32020: __save = __En; 32020: } 32020: _Tp __norm = __En / __E1; 32020: __En /= __norm; 32020: } 32020: 32020: return __En; 32020: } 32020: # 290 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_Ei_series(_Tp __x) 32020: { 32020: _Tp __term = _Tp(1); 32020: _Tp __sum = _Tp(0); 32020: const unsigned int __max_iter = 1000; 32020: for (unsigned int __i = 1; __i < __max_iter; ++__i) 32020: { 32020: __term *= __x / __i; 32020: __sum += __term / __i; 32020: if (__term < std::numeric_limits<_Tp>::epsilon() * __sum) 32020: break; 32020: } 32020: 32020: return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x); 32020: } 32020: # 321 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_Ei_asymp(_Tp __x) 32020: { 32020: _Tp __term = _Tp(1); 32020: _Tp __sum = _Tp(1); 32020: const unsigned int __max_iter = 1000; 32020: for (unsigned int __i = 1; __i < __max_iter; ++__i) 32020: { 32020: _Tp __prev = __term; 32020: __term *= __i / __x; 32020: if (__term < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: if (__term >= __prev) 32020: break; 32020: __sum += __term; 32020: } 32020: 32020: return std::exp(__x) * __sum / __x; 32020: } 32020: # 354 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_Ei(_Tp __x) 32020: { 32020: if (__x < _Tp(0)) 32020: return -__expint_E1(-__x); 32020: else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon())) 32020: return __expint_Ei_series(__x); 32020: else 32020: return __expint_Ei_asymp(__x); 32020: } 32020: # 378 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_E1(_Tp __x) 32020: { 32020: if (__x < _Tp(0)) 32020: return -__expint_Ei(-__x); 32020: else if (__x < _Tp(1)) 32020: return __expint_E1_series(__x); 32020: else if (__x < _Tp(100)) 32020: return __expint_En_cont_frac(1, __x); 32020: else 32020: return __expint_E1_asymp(__x); 32020: } 32020: # 408 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_asymp(unsigned int __n, _Tp __x) 32020: { 32020: _Tp __term = _Tp(1); 32020: _Tp __sum = _Tp(1); 32020: for (unsigned int __i = 1; __i <= __n; ++__i) 32020: { 32020: _Tp __prev = __term; 32020: __term *= -(__n - __i + 1) / __x; 32020: if (std::abs(__term) > std::abs(__prev)) 32020: break; 32020: __sum += __term; 32020: } 32020: 32020: return std::exp(-__x) * __sum / __x; 32020: } 32020: # 442 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint_large_n(unsigned int __n, _Tp __x) 32020: { 32020: const _Tp __xpn = __x + __n; 32020: const _Tp __xpn2 = __xpn * __xpn; 32020: _Tp __term = _Tp(1); 32020: _Tp __sum = _Tp(1); 32020: for (unsigned int __i = 1; __i <= __n; ++__i) 32020: { 32020: _Tp __prev = __term; 32020: __term *= (__n - 2 * (__i - 1) * __x) / __xpn2; 32020: if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: __sum += __term; 32020: } 32020: 32020: return std::exp(-__x) * __sum / __xpn; 32020: } 32020: # 476 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: _Tp 32020: __expint(unsigned int __n, _Tp __x) 32020: { 32020: 32020: if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__n <= 1 && __x == _Tp(0)) 32020: return std::numeric_limits<_Tp>::infinity(); 32020: else 32020: { 32020: _Tp __E0 = std::exp(__x) / __x; 32020: if (__n == 0) 32020: return __E0; 32020: 32020: _Tp __E1 = __expint_E1(__x); 32020: if (__n == 1) 32020: return __E1; 32020: 32020: if (__x == _Tp(0)) 32020: return _Tp(1) / static_cast<_Tp>(__n - 1); 32020: 32020: _Tp __En = __expint_En_recursion(__n, __x); 32020: 32020: return __En; 32020: } 32020: } 32020: # 516 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/exp_integral.tcc" 3 32020: template 32020: inline _Tp 32020: __expint(_Tp __x) 32020: { 32020: if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else 32020: return __expint_Ei(__x); 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 54 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 1 3 32020: # 44 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: namespace __detail 32020: { 32020: # 83 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: template 32020: _Tp 32020: __conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x) 32020: { 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: 32020: _Tp __term = _Tp(1); 32020: _Tp __Fac = _Tp(1); 32020: const unsigned int __max_iter = 100000; 32020: unsigned int __i; 32020: for (__i = 0; __i < __max_iter; ++__i) 32020: { 32020: __term *= (__a + _Tp(__i)) * __x 32020: / ((__c + _Tp(__i)) * _Tp(1 + __i)); 32020: if (std::abs(__term) < __eps) 32020: { 32020: break; 32020: } 32020: __Fac += __term; 32020: } 32020: if (__i == __max_iter) 32020: std::__throw_runtime_error(("Series failed to converge " "in __conf_hyperg_series.") 32020: ); 32020: 32020: return __Fac; 32020: } 32020: # 120 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: template 32020: _Tp 32020: __conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin) 32020: { 32020: const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L)); 32020: const int __nmax = 20000; 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __x = -__xin; 32020: const _Tp __x3 = __x * __x * __x; 32020: const _Tp __t0 = __a / __c; 32020: const _Tp __t1 = (__a + _Tp(1)) / (_Tp(2) * __c); 32020: const _Tp __t2 = (__a + _Tp(2)) / (_Tp(2) * (__c + _Tp(1))); 32020: _Tp __F = _Tp(1); 32020: _Tp __prec; 32020: 32020: _Tp __Bnm3 = _Tp(1); 32020: _Tp __Bnm2 = _Tp(1) + __t1 * __x; 32020: _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x); 32020: 32020: _Tp __Anm3 = _Tp(1); 32020: _Tp __Anm2 = __Bnm2 - __t0 * __x; 32020: _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x 32020: + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x; 32020: 32020: int __n = 3; 32020: while(1) 32020: { 32020: _Tp __npam1 = _Tp(__n - 1) + __a; 32020: _Tp __npcm1 = _Tp(__n - 1) + __c; 32020: _Tp __npam2 = _Tp(__n - 2) + __a; 32020: _Tp __npcm2 = _Tp(__n - 2) + __c; 32020: _Tp __tnm1 = _Tp(2 * __n - 1); 32020: _Tp __tnm3 = _Tp(2 * __n - 3); 32020: _Tp __tnm5 = _Tp(2 * __n - 5); 32020: _Tp __F1 = (_Tp(__n - 2) - __a) / (_Tp(2) * __tnm3 * __npcm1); 32020: _Tp __F2 = (_Tp(__n) + __a) * __npam1 32020: / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1); 32020: _Tp __F3 = -__npam2 * __npam1 * (_Tp(__n - 2) - __a) 32020: / (_Tp(8) * __tnm3 * __tnm3 * __tnm5 32020: * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1); 32020: _Tp __E = -__npam1 * (_Tp(__n - 1) - __c) 32020: / (_Tp(2) * __tnm3 * __npcm2 * __npcm1); 32020: 32020: _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1 32020: + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3; 32020: _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1 32020: + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3; 32020: _Tp __r = __An / __Bn; 32020: 32020: __prec = std::abs((__F - __r) / __F); 32020: __F = __r; 32020: 32020: if (__prec < __eps || __n > __nmax) 32020: break; 32020: 32020: if (std::abs(__An) > __big || std::abs(__Bn) > __big) 32020: { 32020: __An /= __big; 32020: __Bn /= __big; 32020: __Anm1 /= __big; 32020: __Bnm1 /= __big; 32020: __Anm2 /= __big; 32020: __Bnm2 /= __big; 32020: __Anm3 /= __big; 32020: __Bnm3 /= __big; 32020: } 32020: else if (std::abs(__An) < _Tp(1) / __big 32020: || std::abs(__Bn) < _Tp(1) / __big) 32020: { 32020: __An *= __big; 32020: __Bn *= __big; 32020: __Anm1 *= __big; 32020: __Bnm1 *= __big; 32020: __Anm2 *= __big; 32020: __Bnm2 *= __big; 32020: __Anm3 *= __big; 32020: __Bnm3 *= __big; 32020: } 32020: 32020: ++__n; 32020: __Bnm3 = __Bnm2; 32020: __Bnm2 = __Bnm1; 32020: __Bnm1 = __Bn; 32020: __Anm3 = __Anm2; 32020: __Anm2 = __Anm1; 32020: __Anm1 = __An; 32020: } 32020: 32020: if (__n >= __nmax) 32020: std::__throw_runtime_error(("Iteration failed to converge " "in __conf_hyperg_luke.") 32020: ); 32020: 32020: return __F; 32020: } 32020: # 227 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: template 32020: _Tp 32020: __conf_hyperg(_Tp __a, _Tp __c, _Tp __x) 32020: { 32020: 32020: const _Tp __c_nint = ::std::nearbyint(__c); 32020: 32020: 32020: 32020: if (__isnan(__a) || __isnan(__c) || __isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__c_nint == __c && __c_nint <= 0) 32020: return std::numeric_limits<_Tp>::infinity(); 32020: else if (__a == _Tp(0)) 32020: return _Tp(1); 32020: else if (__c == __a) 32020: return std::exp(__x); 32020: else if (__x < _Tp(0)) 32020: return __conf_hyperg_luke(__a, __c, __x); 32020: else 32020: return __conf_hyperg_series(__a, __c, __x); 32020: } 32020: # 271 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: template 32020: _Tp 32020: __hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x) 32020: { 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: 32020: _Tp __term = _Tp(1); 32020: _Tp __Fabc = _Tp(1); 32020: const unsigned int __max_iter = 100000; 32020: unsigned int __i; 32020: for (__i = 0; __i < __max_iter; ++__i) 32020: { 32020: __term *= (__a + _Tp(__i)) * (__b + _Tp(__i)) * __x 32020: / ((__c + _Tp(__i)) * _Tp(1 + __i)); 32020: if (std::abs(__term) < __eps) 32020: { 32020: break; 32020: } 32020: __Fabc += __term; 32020: } 32020: if (__i == __max_iter) 32020: std::__throw_runtime_error(("Series failed to converge " "in __hyperg_series.") 32020: ); 32020: 32020: return __Fabc; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: _Tp 32020: __hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin) 32020: { 32020: const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L)); 32020: const int __nmax = 20000; 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __x = -__xin; 32020: const _Tp __x3 = __x * __x * __x; 32020: const _Tp __t0 = __a * __b / __c; 32020: const _Tp __t1 = (__a + _Tp(1)) * (__b + _Tp(1)) / (_Tp(2) * __c); 32020: const _Tp __t2 = (__a + _Tp(2)) * (__b + _Tp(2)) 32020: / (_Tp(2) * (__c + _Tp(1))); 32020: 32020: _Tp __F = _Tp(1); 32020: 32020: _Tp __Bnm3 = _Tp(1); 32020: _Tp __Bnm2 = _Tp(1) + __t1 * __x; 32020: _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x); 32020: 32020: _Tp __Anm3 = _Tp(1); 32020: _Tp __Anm2 = __Bnm2 - __t0 * __x; 32020: _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x 32020: + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x; 32020: 32020: int __n = 3; 32020: while (1) 32020: { 32020: const _Tp __npam1 = _Tp(__n - 1) + __a; 32020: const _Tp __npbm1 = _Tp(__n - 1) + __b; 32020: const _Tp __npcm1 = _Tp(__n - 1) + __c; 32020: const _Tp __npam2 = _Tp(__n - 2) + __a; 32020: const _Tp __npbm2 = _Tp(__n - 2) + __b; 32020: const _Tp __npcm2 = _Tp(__n - 2) + __c; 32020: const _Tp __tnm1 = _Tp(2 * __n - 1); 32020: const _Tp __tnm3 = _Tp(2 * __n - 3); 32020: const _Tp __tnm5 = _Tp(2 * __n - 5); 32020: const _Tp __n2 = __n * __n; 32020: const _Tp __F1 = (_Tp(3) * __n2 + (__a + __b - _Tp(6)) * __n 32020: + _Tp(2) - __a * __b - _Tp(2) * (__a + __b)) 32020: / (_Tp(2) * __tnm3 * __npcm1); 32020: const _Tp __F2 = -(_Tp(3) * __n2 - (__a + __b + _Tp(6)) * __n 32020: + _Tp(2) - __a * __b) * __npam1 * __npbm1 32020: / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1); 32020: const _Tp __F3 = (__npam2 * __npam1 * __npbm2 * __npbm1 32020: * (_Tp(__n - 2) - __a) * (_Tp(__n - 2) - __b)) 32020: / (_Tp(8) * __tnm3 * __tnm3 * __tnm5 32020: * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1); 32020: const _Tp __E = -__npam1 * __npbm1 * (_Tp(__n - 1) - __c) 32020: / (_Tp(2) * __tnm3 * __npcm2 * __npcm1); 32020: 32020: _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1 32020: + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3; 32020: _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1 32020: + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3; 32020: const _Tp __r = __An / __Bn; 32020: 32020: const _Tp __prec = std::abs((__F - __r) / __F); 32020: __F = __r; 32020: 32020: if (__prec < __eps || __n > __nmax) 32020: break; 32020: 32020: if (std::abs(__An) > __big || std::abs(__Bn) > __big) 32020: { 32020: __An /= __big; 32020: __Bn /= __big; 32020: __Anm1 /= __big; 32020: __Bnm1 /= __big; 32020: __Anm2 /= __big; 32020: __Bnm2 /= __big; 32020: __Anm3 /= __big; 32020: __Bnm3 /= __big; 32020: } 32020: else if (std::abs(__An) < _Tp(1) / __big 32020: || std::abs(__Bn) < _Tp(1) / __big) 32020: { 32020: __An *= __big; 32020: __Bn *= __big; 32020: __Anm1 *= __big; 32020: __Bnm1 *= __big; 32020: __Anm2 *= __big; 32020: __Bnm2 *= __big; 32020: __Anm3 *= __big; 32020: __Bnm3 *= __big; 32020: } 32020: 32020: ++__n; 32020: __Bnm3 = __Bnm2; 32020: __Bnm2 = __Bnm1; 32020: __Bnm1 = __Bn; 32020: __Anm3 = __Anm2; 32020: __Anm2 = __Anm1; 32020: __Anm1 = __An; 32020: } 32020: 32020: if (__n >= __nmax) 32020: std::__throw_runtime_error(("Iteration failed to converge " "in __hyperg_luke.") 32020: ); 32020: 32020: return __F; 32020: } 32020: # 438 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: template 32020: _Tp 32020: __hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x) 32020: { 32020: const _Tp __d = __c - __a - __b; 32020: const int __intd = std::floor(__d + _Tp(0.5L)); 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __toler = _Tp(1000) * __eps; 32020: const _Tp __log_max = std::log(std::numeric_limits<_Tp>::max()); 32020: const bool __d_integer = (std::abs(__d - __intd) < __toler); 32020: 32020: if (__d_integer) 32020: { 32020: const _Tp __ln_omx = std::log(_Tp(1) - __x); 32020: const _Tp __ad = std::abs(__d); 32020: _Tp __F1, __F2; 32020: 32020: _Tp __d1, __d2; 32020: if (__d >= _Tp(0)) 32020: { 32020: __d1 = __d; 32020: __d2 = _Tp(0); 32020: } 32020: else 32020: { 32020: __d1 = _Tp(0); 32020: __d2 = __d; 32020: } 32020: 32020: const _Tp __lng_c = __log_gamma(__c); 32020: 32020: 32020: if (__ad < __eps) 32020: { 32020: 32020: __F1 = _Tp(0); 32020: } 32020: else 32020: { 32020: 32020: bool __ok_d1 = true; 32020: _Tp __lng_ad, __lng_ad1, __lng_bd1; 32020: try 32020: { 32020: __lng_ad = __log_gamma(__ad); 32020: __lng_ad1 = __log_gamma(__a + __d1); 32020: __lng_bd1 = __log_gamma(__b + __d1); 32020: } 32020: catch(...) 32020: { 32020: __ok_d1 = false; 32020: } 32020: 32020: if (__ok_d1) 32020: { 32020: 32020: 32020: 32020: _Tp __sum1 = _Tp(1); 32020: _Tp __term = _Tp(1); 32020: _Tp __ln_pre1 = __lng_ad + __lng_c + __d2 * __ln_omx 32020: - __lng_ad1 - __lng_bd1; 32020: 32020: 32020: 32020: for (int __i = 1; __i < __ad; ++__i) 32020: { 32020: const int __j = __i - 1; 32020: __term *= (__a + __d2 + __j) * (__b + __d2 + __j) 32020: / (_Tp(1) + __d2 + __j) / __i * (_Tp(1) - __x); 32020: __sum1 += __term; 32020: } 32020: 32020: if (__ln_pre1 > __log_max) 32020: std::__throw_runtime_error(("Overflow of gamma functions" " in __hyperg_luke.") 32020: ); 32020: else 32020: __F1 = std::exp(__ln_pre1) * __sum1; 32020: } 32020: else 32020: { 32020: 32020: 32020: __F1 = _Tp(0); 32020: } 32020: } 32020: 32020: 32020: bool __ok_d2 = true; 32020: _Tp __lng_ad2, __lng_bd2; 32020: try 32020: { 32020: __lng_ad2 = __log_gamma(__a + __d2); 32020: __lng_bd2 = __log_gamma(__b + __d2); 32020: } 32020: catch(...) 32020: { 32020: __ok_d2 = false; 32020: } 32020: 32020: if (__ok_d2) 32020: { 32020: 32020: 32020: const int __maxiter = 2000; 32020: const _Tp __psi_1 = -__numeric_constants<_Tp>::__gamma_e(); 32020: const _Tp __psi_1pd = __psi(_Tp(1) + __ad); 32020: const _Tp __psi_apd1 = __psi(__a + __d1); 32020: const _Tp __psi_bpd1 = __psi(__b + __d1); 32020: 32020: _Tp __psi_term = __psi_1 + __psi_1pd - __psi_apd1 32020: - __psi_bpd1 - __ln_omx; 32020: _Tp __fact = _Tp(1); 32020: _Tp __sum2 = __psi_term; 32020: _Tp __ln_pre2 = __lng_c + __d1 * __ln_omx 32020: - __lng_ad2 - __lng_bd2; 32020: 32020: 32020: int __j; 32020: for (__j = 1; __j < __maxiter; ++__j) 32020: { 32020: 32020: 32020: const _Tp __term1 = _Tp(1) / _Tp(__j) 32020: + _Tp(1) / (__ad + __j); 32020: const _Tp __term2 = _Tp(1) / (__a + __d1 + _Tp(__j - 1)) 32020: + _Tp(1) / (__b + __d1 + _Tp(__j - 1)); 32020: __psi_term += __term1 - __term2; 32020: __fact *= (__a + __d1 + _Tp(__j - 1)) 32020: * (__b + __d1 + _Tp(__j - 1)) 32020: / ((__ad + __j) * __j) * (_Tp(1) - __x); 32020: const _Tp __delta = __fact * __psi_term; 32020: __sum2 += __delta; 32020: if (std::abs(__delta) < __eps * std::abs(__sum2)) 32020: break; 32020: } 32020: if (__j == __maxiter) 32020: std::__throw_runtime_error(("Sum F2 failed to converge " "in __hyperg_reflect") 32020: ); 32020: 32020: if (__sum2 == _Tp(0)) 32020: __F2 = _Tp(0); 32020: else 32020: __F2 = std::exp(__ln_pre2) * __sum2; 32020: } 32020: else 32020: { 32020: 32020: 32020: __F2 = _Tp(0); 32020: } 32020: 32020: const _Tp __sgn_2 = (__intd % 2 == 1 ? -_Tp(1) : _Tp(1)); 32020: const _Tp __F = __F1 + __sgn_2 * __F2; 32020: 32020: return __F; 32020: } 32020: else 32020: { 32020: 32020: 32020: 32020: 32020: bool __ok1 = true; 32020: _Tp __sgn_g1ca = _Tp(0), __ln_g1ca = _Tp(0); 32020: _Tp __sgn_g1cb = _Tp(0), __ln_g1cb = _Tp(0); 32020: try 32020: { 32020: __sgn_g1ca = __log_gamma_sign(__c - __a); 32020: __ln_g1ca = __log_gamma(__c - __a); 32020: __sgn_g1cb = __log_gamma_sign(__c - __b); 32020: __ln_g1cb = __log_gamma(__c - __b); 32020: } 32020: catch(...) 32020: { 32020: __ok1 = false; 32020: } 32020: 32020: bool __ok2 = true; 32020: _Tp __sgn_g2a = _Tp(0), __ln_g2a = _Tp(0); 32020: _Tp __sgn_g2b = _Tp(0), __ln_g2b = _Tp(0); 32020: try 32020: { 32020: __sgn_g2a = __log_gamma_sign(__a); 32020: __ln_g2a = __log_gamma(__a); 32020: __sgn_g2b = __log_gamma_sign(__b); 32020: __ln_g2b = __log_gamma(__b); 32020: } 32020: catch(...) 32020: { 32020: __ok2 = false; 32020: } 32020: 32020: const _Tp __sgn_gc = __log_gamma_sign(__c); 32020: const _Tp __ln_gc = __log_gamma(__c); 32020: const _Tp __sgn_gd = __log_gamma_sign(__d); 32020: const _Tp __ln_gd = __log_gamma(__d); 32020: const _Tp __sgn_gmd = __log_gamma_sign(-__d); 32020: const _Tp __ln_gmd = __log_gamma(-__d); 32020: 32020: const _Tp __sgn1 = __sgn_gc * __sgn_gd * __sgn_g1ca * __sgn_g1cb; 32020: const _Tp __sgn2 = __sgn_gc * __sgn_gmd * __sgn_g2a * __sgn_g2b; 32020: 32020: _Tp __pre1, __pre2; 32020: if (__ok1 && __ok2) 32020: { 32020: _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb; 32020: _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b 32020: + __d * std::log(_Tp(1) - __x); 32020: if (__ln_pre1 < __log_max && __ln_pre2 < __log_max) 32020: { 32020: __pre1 = std::exp(__ln_pre1); 32020: __pre2 = std::exp(__ln_pre2); 32020: __pre1 *= __sgn1; 32020: __pre2 *= __sgn2; 32020: } 32020: else 32020: { 32020: std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect") 32020: ); 32020: } 32020: } 32020: else if (__ok1 && !__ok2) 32020: { 32020: _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb; 32020: if (__ln_pre1 < __log_max) 32020: { 32020: __pre1 = std::exp(__ln_pre1); 32020: __pre1 *= __sgn1; 32020: __pre2 = _Tp(0); 32020: } 32020: else 32020: { 32020: std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect") 32020: ); 32020: } 32020: } 32020: else if (!__ok1 && __ok2) 32020: { 32020: _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b 32020: + __d * std::log(_Tp(1) - __x); 32020: if (__ln_pre2 < __log_max) 32020: { 32020: __pre1 = _Tp(0); 32020: __pre2 = std::exp(__ln_pre2); 32020: __pre2 *= __sgn2; 32020: } 32020: else 32020: { 32020: std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect") 32020: ); 32020: } 32020: } 32020: else 32020: { 32020: __pre1 = _Tp(0); 32020: __pre2 = _Tp(0); 32020: std::__throw_runtime_error(("Underflow of gamma functions " "in __hyperg_reflect") 32020: ); 32020: } 32020: 32020: const _Tp __F1 = __hyperg_series(__a, __b, _Tp(1) - __d, 32020: _Tp(1) - __x); 32020: const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, _Tp(1) + __d, 32020: _Tp(1) - __x); 32020: 32020: const _Tp __F = __pre1 * __F1 + __pre2 * __F2; 32020: 32020: return __F; 32020: } 32020: } 32020: # 728 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/hypergeometric.tcc" 3 32020: template 32020: _Tp 32020: __hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x) 32020: { 32020: 32020: const _Tp __a_nint = ::std::nearbyint(__a); 32020: const _Tp __b_nint = ::std::nearbyint(__b); 32020: const _Tp __c_nint = ::std::nearbyint(__c); 32020: 32020: 32020: 32020: 32020: 32020: const _Tp __toler = _Tp(1000) * std::numeric_limits<_Tp>::epsilon(); 32020: if (std::abs(__x) >= _Tp(1)) 32020: std::__throw_domain_error(("Argument outside unit circle " "in __hyperg.") 32020: ); 32020: else if (__isnan(__a) || __isnan(__b) 32020: || __isnan(__c) || __isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__c_nint == __c && __c_nint <= _Tp(0)) 32020: return std::numeric_limits<_Tp>::infinity(); 32020: else if (std::abs(__c - __b) < __toler || std::abs(__c - __a) < __toler) 32020: return std::pow(_Tp(1) - __x, __c - __a - __b); 32020: else if (__a >= _Tp(0) && __b >= _Tp(0) && __c >= _Tp(0) 32020: && __x >= _Tp(0) && __x < _Tp(0.995L)) 32020: return __hyperg_series(__a, __b, __c, __x); 32020: else if (std::abs(__a) < _Tp(10) && std::abs(__b) < _Tp(10)) 32020: { 32020: 32020: 32020: if (__a < _Tp(0) && std::abs(__a - __a_nint) < __toler) 32020: return __hyperg_series(__a_nint, __b, __c, __x); 32020: else if (__b < _Tp(0) && std::abs(__b - __b_nint) < __toler) 32020: return __hyperg_series(__a, __b_nint, __c, __x); 32020: else if (__x < -_Tp(0.25L)) 32020: return __hyperg_luke(__a, __b, __c, __x); 32020: else if (__x < _Tp(0.5L)) 32020: return __hyperg_series(__a, __b, __c, __x); 32020: else 32020: if (std::abs(__c) > _Tp(10)) 32020: return __hyperg_series(__a, __b, __c, __x); 32020: else 32020: return __hyperg_reflect(__a, __b, __c, __x); 32020: } 32020: else 32020: return __hyperg_luke(__a, __b, __c, __x); 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 55 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/legendre_function.tcc" 1 3 32020: # 49 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/legendre_function.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/legendre_function.tcc" 3 32020: namespace __detail 32020: { 32020: # 80 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/legendre_function.tcc" 3 32020: template 32020: _Tp 32020: __poly_legendre_p(unsigned int __l, _Tp __x) 32020: { 32020: 32020: if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x == +_Tp(1)) 32020: return +_Tp(1); 32020: else if (__x == -_Tp(1)) 32020: return (__l % 2 == 1 ? -_Tp(1) : +_Tp(1)); 32020: else 32020: { 32020: _Tp __p_lm2 = _Tp(1); 32020: if (__l == 0) 32020: return __p_lm2; 32020: 32020: _Tp __p_lm1 = __x; 32020: if (__l == 1) 32020: return __p_lm1; 32020: 32020: _Tp __p_l = 0; 32020: for (unsigned int __ll = 2; __ll <= __l; ++__ll) 32020: { 32020: 32020: 32020: __p_l = _Tp(2) * __x * __p_lm1 - __p_lm2 32020: - (__x * __p_lm1 - __p_lm2) / _Tp(__ll); 32020: __p_lm2 = __p_lm1; 32020: __p_lm1 = __p_l; 32020: } 32020: 32020: return __p_l; 32020: } 32020: } 32020: # 136 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/legendre_function.tcc" 3 32020: template 32020: _Tp 32020: __assoc_legendre_p(unsigned int __l, unsigned int __m, _Tp __x, 32020: _Tp __phase = _Tp(+1)) 32020: { 32020: 32020: if (__m > __l) 32020: return _Tp(0); 32020: else if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__m == 0) 32020: return __poly_legendre_p(__l, __x); 32020: else 32020: { 32020: _Tp __p_mm = _Tp(1); 32020: if (__m > 0) 32020: { 32020: 32020: 32020: _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x); 32020: _Tp __fact = _Tp(1); 32020: for (unsigned int __i = 1; __i <= __m; ++__i) 32020: { 32020: __p_mm *= __phase * __fact * __root; 32020: __fact += _Tp(2); 32020: } 32020: } 32020: if (__l == __m) 32020: return __p_mm; 32020: 32020: _Tp __p_mp1m = _Tp(2 * __m + 1) * __x * __p_mm; 32020: if (__l == __m + 1) 32020: return __p_mp1m; 32020: 32020: _Tp __p_lm2m = __p_mm; 32020: _Tp __P_lm1m = __p_mp1m; 32020: _Tp __p_lm = _Tp(0); 32020: for (unsigned int __j = __m + 2; __j <= __l; ++__j) 32020: { 32020: __p_lm = (_Tp(2 * __j - 1) * __x * __P_lm1m 32020: - _Tp(__j + __m - 1) * __p_lm2m) / _Tp(__j - __m); 32020: __p_lm2m = __P_lm1m; 32020: __P_lm1m = __p_lm; 32020: } 32020: 32020: return __p_lm; 32020: } 32020: } 32020: # 214 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/legendre_function.tcc" 3 32020: template 32020: _Tp 32020: __sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta) 32020: { 32020: if (__isnan(__theta)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: 32020: const _Tp __x = std::cos(__theta); 32020: 32020: if (__m > __l) 32020: return _Tp(0); 32020: else if (__m == 0) 32020: { 32020: _Tp __P = __poly_legendre_p(__l, __x); 32020: _Tp __fact = std::sqrt(_Tp(2 * __l + 1) 32020: / (_Tp(4) * __numeric_constants<_Tp>::__pi())); 32020: __P *= __fact; 32020: return __P; 32020: } 32020: else if (__x == _Tp(1) || __x == -_Tp(1)) 32020: { 32020: 32020: return _Tp(0); 32020: } 32020: else 32020: { 32020: 32020: 32020: 32020: 32020: 32020: const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1)); 32020: const _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3)); 32020: 32020: const _Tp __lncirc = ::std::log1p(-__x * __x); 32020: 32020: 32020: 32020: 32020: 32020: const _Tp __lnpoch = ::std::lgamma(_Tp(__m + _Tp(0.5L))) 32020: - ::std::lgamma(_Tp(__m)); 32020: 32020: 32020: 32020: 32020: const _Tp __lnpre_val = 32020: -_Tp(0.25L) * __numeric_constants<_Tp>::__lnpi() 32020: + _Tp(0.5L) * (__lnpoch + __m * __lncirc); 32020: const _Tp __sr = std::sqrt((_Tp(2) + _Tp(1) / __m) 32020: / (_Tp(4) * __numeric_constants<_Tp>::__pi())); 32020: _Tp __y_mm = __sgn * __sr * std::exp(__lnpre_val); 32020: _Tp __y_mp1m = __y_mp1m_factor * __y_mm; 32020: 32020: if (__l == __m) 32020: return __y_mm; 32020: else if (__l == __m + 1) 32020: return __y_mp1m; 32020: else 32020: { 32020: _Tp __y_lm = _Tp(0); 32020: 32020: 32020: for (int __ll = __m + 2; __ll <= __l; ++__ll) 32020: { 32020: const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m); 32020: const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1); 32020: const _Tp __fact1 = std::sqrt(__rat1 * _Tp(2 * __ll + 1) 32020: * _Tp(2 * __ll - 1)); 32020: const _Tp __fact2 = std::sqrt(__rat1 * __rat2 * _Tp(2 * __ll + 1) 32020: / _Tp(2 * __ll - 3)); 32020: __y_lm = (__x * __y_mp1m * __fact1 32020: - (__ll + __m - 1) * __y_mm * __fact2) / _Tp(__ll - __m); 32020: __y_mm = __y_mp1m; 32020: __y_mp1m = __y_lm; 32020: } 32020: 32020: return __y_lm; 32020: } 32020: } 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 56 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 1 3 32020: # 51 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 65 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: namespace __detail 32020: { 32020: # 83 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: template 32020: void 32020: __bessel_ik(_Tp __nu, _Tp __x, 32020: _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp & __Kpnu) 32020: { 32020: if (__x == _Tp(0)) 32020: { 32020: if (__nu == _Tp(0)) 32020: { 32020: __Inu = _Tp(1); 32020: __Ipnu = _Tp(0); 32020: } 32020: else if (__nu == _Tp(1)) 32020: { 32020: __Inu = _Tp(0); 32020: __Ipnu = _Tp(0.5L); 32020: } 32020: else 32020: { 32020: __Inu = _Tp(0); 32020: __Ipnu = _Tp(0); 32020: } 32020: __Knu = std::numeric_limits<_Tp>::infinity(); 32020: __Kpnu = -std::numeric_limits<_Tp>::infinity(); 32020: return; 32020: } 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: const _Tp __fp_min = _Tp(10) * std::numeric_limits<_Tp>::epsilon(); 32020: const int __max_iter = 15000; 32020: const _Tp __x_min = _Tp(2); 32020: 32020: const int __nl = static_cast(__nu + _Tp(0.5L)); 32020: 32020: const _Tp __mu = __nu - __nl; 32020: const _Tp __mu2 = __mu * __mu; 32020: const _Tp __xi = _Tp(1) / __x; 32020: const _Tp __xi2 = _Tp(2) * __xi; 32020: _Tp __h = __nu * __xi; 32020: if ( __h < __fp_min ) 32020: __h = __fp_min; 32020: _Tp __b = __xi2 * __nu; 32020: _Tp __d = _Tp(0); 32020: _Tp __c = __h; 32020: int __i; 32020: for ( __i = 1; __i <= __max_iter; ++__i ) 32020: { 32020: __b += __xi2; 32020: __d = _Tp(1) / (__b + __d); 32020: __c = __b + _Tp(1) / __c; 32020: const _Tp __del = __c * __d; 32020: __h *= __del; 32020: if (std::abs(__del - _Tp(1)) < __eps) 32020: break; 32020: } 32020: if (__i > __max_iter) 32020: std::__throw_runtime_error(("Argument x too large " "in __bessel_ik; " "try asymptotic expansion.") 32020: 32020: ); 32020: _Tp __Inul = __fp_min; 32020: _Tp __Ipnul = __h * __Inul; 32020: _Tp __Inul1 = __Inul; 32020: _Tp __Ipnu1 = __Ipnul; 32020: _Tp __fact = __nu * __xi; 32020: for (int __l = __nl; __l >= 1; --__l) 32020: { 32020: const _Tp __Inutemp = __fact * __Inul + __Ipnul; 32020: __fact -= __xi; 32020: __Ipnul = __fact * __Inutemp + __Inul; 32020: __Inul = __Inutemp; 32020: } 32020: _Tp __f = __Ipnul / __Inul; 32020: _Tp __Kmu, __Knu1; 32020: if (__x < __x_min) 32020: { 32020: const _Tp __x2 = __x / _Tp(2); 32020: const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu; 32020: const _Tp __fact = (std::abs(__pimu) < __eps 32020: ? _Tp(1) : __pimu / std::sin(__pimu)); 32020: _Tp __d = -std::log(__x2); 32020: _Tp __e = __mu * __d; 32020: const _Tp __fact2 = (std::abs(__e) < __eps 32020: ? _Tp(1) : std::sinh(__e) / __e); 32020: _Tp __gam1, __gam2, __gampl, __gammi; 32020: __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi); 32020: _Tp __ff = __fact 32020: * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d); 32020: _Tp __sum = __ff; 32020: __e = std::exp(__e); 32020: _Tp __p = __e / (_Tp(2) * __gampl); 32020: _Tp __q = _Tp(1) / (_Tp(2) * __e * __gammi); 32020: _Tp __c = _Tp(1); 32020: __d = __x2 * __x2; 32020: _Tp __sum1 = __p; 32020: int __i; 32020: for (__i = 1; __i <= __max_iter; ++__i) 32020: { 32020: __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2); 32020: __c *= __d / __i; 32020: __p /= __i - __mu; 32020: __q /= __i + __mu; 32020: const _Tp __del = __c * __ff; 32020: __sum += __del; 32020: const _Tp __del1 = __c * (__p - __i * __ff); 32020: __sum1 += __del1; 32020: if (std::abs(__del) < __eps * std::abs(__sum)) 32020: break; 32020: } 32020: if (__i > __max_iter) 32020: std::__throw_runtime_error(("Bessel k series failed to converge " "in __bessel_ik.") 32020: ); 32020: __Kmu = __sum; 32020: __Knu1 = __sum1 * __xi2; 32020: } 32020: else 32020: { 32020: _Tp __b = _Tp(2) * (_Tp(1) + __x); 32020: _Tp __d = _Tp(1) / __b; 32020: _Tp __delh = __d; 32020: _Tp __h = __delh; 32020: _Tp __q1 = _Tp(0); 32020: _Tp __q2 = _Tp(1); 32020: _Tp __a1 = _Tp(0.25L) - __mu2; 32020: _Tp __q = __c = __a1; 32020: _Tp __a = -__a1; 32020: _Tp __s = _Tp(1) + __q * __delh; 32020: int __i; 32020: for (__i = 2; __i <= __max_iter; ++__i) 32020: { 32020: __a -= 2 * (__i - 1); 32020: __c = -__a * __c / __i; 32020: const _Tp __qnew = (__q1 - __b * __q2) / __a; 32020: __q1 = __q2; 32020: __q2 = __qnew; 32020: __q += __c * __qnew; 32020: __b += _Tp(2); 32020: __d = _Tp(1) / (__b + __a * __d); 32020: __delh = (__b * __d - _Tp(1)) * __delh; 32020: __h += __delh; 32020: const _Tp __dels = __q * __delh; 32020: __s += __dels; 32020: if ( std::abs(__dels / __s) < __eps ) 32020: break; 32020: } 32020: if (__i > __max_iter) 32020: std::__throw_runtime_error(("Steed's method failed " "in __bessel_ik.") 32020: ); 32020: __h = __a1 * __h; 32020: __Kmu = std::sqrt(__numeric_constants<_Tp>::__pi() / (_Tp(2) * __x)) 32020: * std::exp(-__x) / __s; 32020: __Knu1 = __Kmu * (__mu + __x + _Tp(0.5L) - __h) * __xi; 32020: } 32020: 32020: _Tp __Kpmu = __mu * __xi * __Kmu - __Knu1; 32020: _Tp __Inumu = __xi / (__f * __Kmu - __Kpmu); 32020: __Inu = __Inumu * __Inul1 / __Inul; 32020: __Ipnu = __Inumu * __Ipnu1 / __Inul; 32020: for ( __i = 1; __i <= __nl; ++__i ) 32020: { 32020: const _Tp __Knutemp = (__mu + __i) * __xi2 * __Knu1 + __Kmu; 32020: __Kmu = __Knu1; 32020: __Knu1 = __Knutemp; 32020: } 32020: __Knu = __Kmu; 32020: __Kpnu = __nu * __xi * __Kmu - __Knu1; 32020: 32020: return; 32020: } 32020: # 267 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: template 32020: _Tp 32020: __cyl_bessel_i(_Tp __nu, _Tp __x) 32020: { 32020: if (__nu < _Tp(0) || __x < _Tp(0)) 32020: std::__throw_domain_error(("Bad argument " "in __cyl_bessel_i.") 32020: ); 32020: else if (__isnan(__nu) || __isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__x * __x < _Tp(10) * (__nu + _Tp(1))) 32020: return __cyl_bessel_ij_series(__nu, __x, +_Tp(1), 200); 32020: else 32020: { 32020: _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu; 32020: __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu); 32020: return __I_nu; 32020: } 32020: } 32020: # 303 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: template 32020: _Tp 32020: __cyl_bessel_k(_Tp __nu, _Tp __x) 32020: { 32020: if (__nu < _Tp(0) || __x < _Tp(0)) 32020: std::__throw_domain_error(("Bad argument " "in __cyl_bessel_k.") 32020: ); 32020: else if (__isnan(__nu) || __isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else 32020: { 32020: _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu; 32020: __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu); 32020: return __K_nu; 32020: } 32020: } 32020: # 337 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: template 32020: void 32020: __sph_bessel_ik(unsigned int __n, _Tp __x, 32020: _Tp & __i_n, _Tp & __k_n, _Tp & __ip_n, _Tp & __kp_n) 32020: { 32020: const _Tp __nu = _Tp(__n) + _Tp(0.5L); 32020: 32020: _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu; 32020: __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu); 32020: 32020: const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2() 32020: / std::sqrt(__x); 32020: 32020: __i_n = __factor * __I_nu; 32020: __k_n = __factor * __K_nu; 32020: __ip_n = __factor * __Ip_nu - __i_n / (_Tp(2) * __x); 32020: __kp_n = __factor * __Kp_nu - __k_n / (_Tp(2) * __x); 32020: 32020: return; 32020: } 32020: # 373 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/modified_bessel_func.tcc" 3 32020: template 32020: void 32020: __airy(_Tp __x, _Tp & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip) 32020: { 32020: const _Tp __absx = std::abs(__x); 32020: const _Tp __rootx = std::sqrt(__absx); 32020: const _Tp __z = _Tp(2) * __absx * __rootx / _Tp(3); 32020: const _Tp _S_NaN = std::numeric_limits<_Tp>::quiet_NaN(); 32020: const _Tp _S_inf = std::numeric_limits<_Tp>::infinity(); 32020: 32020: if (__isnan(__x)) 32020: __Bip = __Aip = __Bi = __Ai = std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__z == _S_inf) 32020: { 32020: __Aip = __Ai = _Tp(0); 32020: __Bip = __Bi = _S_inf; 32020: } 32020: else if (__z == -_S_inf) 32020: __Bip = __Aip = __Bi = __Ai = _Tp(0); 32020: else if (__x > _Tp(0)) 32020: { 32020: _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu; 32020: 32020: __bessel_ik(_Tp(1) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu); 32020: __Ai = __rootx * __K_nu 32020: / (__numeric_constants<_Tp>::__sqrt3() 32020: * __numeric_constants<_Tp>::__pi()); 32020: __Bi = __rootx * (__K_nu / __numeric_constants<_Tp>::__pi() 32020: + _Tp(2) * __I_nu / __numeric_constants<_Tp>::__sqrt3()); 32020: 32020: __bessel_ik(_Tp(2) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu); 32020: __Aip = -__x * __K_nu 32020: / (__numeric_constants<_Tp>::__sqrt3() 32020: * __numeric_constants<_Tp>::__pi()); 32020: __Bip = __x * (__K_nu / __numeric_constants<_Tp>::__pi() 32020: + _Tp(2) * __I_nu 32020: / __numeric_constants<_Tp>::__sqrt3()); 32020: } 32020: else if (__x < _Tp(0)) 32020: { 32020: _Tp __J_nu, __Jp_nu, __N_nu, __Np_nu; 32020: 32020: __bessel_jn(_Tp(1) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu); 32020: __Ai = __rootx * (__J_nu 32020: - __N_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2); 32020: __Bi = -__rootx * (__N_nu 32020: + __J_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2); 32020: 32020: __bessel_jn(_Tp(2) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu); 32020: __Aip = __absx * (__N_nu / __numeric_constants<_Tp>::__sqrt3() 32020: + __J_nu) / _Tp(2); 32020: __Bip = __absx * (__J_nu / __numeric_constants<_Tp>::__sqrt3() 32020: - __N_nu) / _Tp(2); 32020: } 32020: else 32020: { 32020: 32020: 32020: 32020: __Ai = _Tp(0.35502805388781723926L); 32020: __Bi = __Ai * __numeric_constants<_Tp>::__sqrt3(); 32020: 32020: 32020: 32020: 32020: __Aip = -_Tp(0.25881940379280679840L); 32020: __Bip = -__Aip * __numeric_constants<_Tp>::__sqrt3(); 32020: } 32020: 32020: return; 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 57 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_hermite.tcc" 1 3 32020: # 42 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_hermite.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 56 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_hermite.tcc" 3 32020: namespace __detail 32020: { 32020: # 72 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_hermite.tcc" 3 32020: template 32020: _Tp 32020: __poly_hermite_recursion(unsigned int __n, _Tp __x) 32020: { 32020: 32020: _Tp __H_0 = 1; 32020: if (__n == 0) 32020: return __H_0; 32020: 32020: 32020: _Tp __H_1 = 2 * __x; 32020: if (__n == 1) 32020: return __H_1; 32020: 32020: 32020: _Tp __H_n, __H_nm1, __H_nm2; 32020: unsigned int __i; 32020: for (__H_nm2 = __H_0, __H_nm1 = __H_1, __i = 2; __i <= __n; ++__i) 32020: { 32020: __H_n = 2 * (__x * __H_nm1 - (__i - 1) * __H_nm2); 32020: __H_nm2 = __H_nm1; 32020: __H_nm1 = __H_n; 32020: } 32020: 32020: return __H_n; 32020: } 32020: # 114 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_hermite.tcc" 3 32020: template 32020: inline _Tp 32020: __poly_hermite(unsigned int __n, _Tp __x) 32020: { 32020: if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else 32020: return __poly_hermite_recursion(__n, __x); 32020: } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 1 3 32020: # 44 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: namespace __detail 32020: { 32020: # 75 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: template 32020: _Tp 32020: __poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x) 32020: { 32020: const _Tp __a = -_Tp(__n); 32020: const _Tp __b = _Tp(__alpha1) + _Tp(1); 32020: const _Tp __eta = _Tp(2) * __b - _Tp(4) * __a; 32020: const _Tp __cos2th = __x / __eta; 32020: const _Tp __sin2th = _Tp(1) - __cos2th; 32020: const _Tp __th = std::acos(std::sqrt(__cos2th)); 32020: const _Tp __pre_h = __numeric_constants<_Tp>::__pi_2() 32020: * __numeric_constants<_Tp>::__pi_2() 32020: * __eta * __eta * __cos2th * __sin2th; 32020: 32020: 32020: const _Tp __lg_b = ::std::lgamma(_Tp(__n) + __b); 32020: const _Tp __lnfact = ::std::lgamma(_Tp(__n + 1)); 32020: 32020: 32020: 32020: 32020: 32020: _Tp __pre_term1 = _Tp(0.5L) * (_Tp(1) - __b) 32020: * std::log(_Tp(0.25L) * __x * __eta); 32020: _Tp __pre_term2 = _Tp(0.25L) * std::log(__pre_h); 32020: _Tp __lnpre = __lg_b - __lnfact + _Tp(0.5L) * __x 32020: + __pre_term1 - __pre_term2; 32020: _Tp __ser_term1 = std::sin(__a * __numeric_constants<_Tp>::__pi()); 32020: _Tp __ser_term2 = std::sin(_Tp(0.25L) * __eta 32020: * (_Tp(2) * __th 32020: - std::sin(_Tp(2) * __th)) 32020: + __numeric_constants<_Tp>::__pi_4()); 32020: _Tp __ser = __ser_term1 + __ser_term2; 32020: 32020: return std::exp(__lnpre) * __ser; 32020: } 32020: # 129 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: template 32020: _Tp 32020: __poly_laguerre_hyperg(unsigned int __n, _Tpa __alpha1, _Tp __x) 32020: { 32020: const _Tp __b = _Tp(__alpha1) + _Tp(1); 32020: const _Tp __mx = -__x; 32020: const _Tp __tc_sgn = (__x < _Tp(0) ? _Tp(1) 32020: : ((__n % 2 == 1) ? -_Tp(1) : _Tp(1))); 32020: 32020: _Tp __tc = _Tp(1); 32020: const _Tp __ax = std::abs(__x); 32020: for (unsigned int __k = 1; __k <= __n; ++__k) 32020: __tc *= (__ax / __k); 32020: 32020: _Tp __term = __tc * __tc_sgn; 32020: _Tp __sum = __term; 32020: for (int __k = int(__n) - 1; __k >= 0; --__k) 32020: { 32020: __term *= ((__b + _Tp(__k)) / _Tp(int(__n) - __k)) 32020: * _Tp(__k + 1) / __mx; 32020: __sum += __term; 32020: } 32020: 32020: return __sum; 32020: } 32020: # 185 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: template 32020: _Tp 32020: __poly_laguerre_recursion(unsigned int __n, _Tpa __alpha1, _Tp __x) 32020: { 32020: 32020: _Tp __l_0 = _Tp(1); 32020: if (__n == 0) 32020: return __l_0; 32020: 32020: 32020: _Tp __l_1 = -__x + _Tp(1) + _Tp(__alpha1); 32020: if (__n == 1) 32020: return __l_1; 32020: 32020: 32020: _Tp __l_n2 = __l_0; 32020: _Tp __l_n1 = __l_1; 32020: _Tp __l_n = _Tp(0); 32020: for (unsigned int __nn = 2; __nn <= __n; ++__nn) 32020: { 32020: __l_n = (_Tp(2 * __nn - 1) + _Tp(__alpha1) - __x) 32020: * __l_n1 / _Tp(__nn) 32020: - (_Tp(__nn - 1) + _Tp(__alpha1)) * __l_n2 / _Tp(__nn); 32020: __l_n2 = __l_n1; 32020: __l_n1 = __l_n; 32020: } 32020: 32020: return __l_n; 32020: } 32020: # 244 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: template 32020: _Tp 32020: __poly_laguerre(unsigned int __n, _Tpa __alpha1, _Tp __x) 32020: { 32020: if (__x < _Tp(0)) 32020: std::__throw_domain_error(("Negative argument " "in __poly_laguerre.") 32020: ); 32020: 32020: else if (__isnan(__x)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__n == 0) 32020: return _Tp(1); 32020: else if (__n == 1) 32020: return _Tp(1) + _Tp(__alpha1) - __x; 32020: else if (__x == _Tp(0)) 32020: { 32020: _Tp __prod = _Tp(__alpha1) + _Tp(1); 32020: for (unsigned int __k = 2; __k <= __n; ++__k) 32020: __prod *= (_Tp(__alpha1) + _Tp(__k)) / _Tp(__k); 32020: return __prod; 32020: } 32020: else if (__n > 10000000 && _Tp(__alpha1) > -_Tp(1) 32020: && __x < _Tp(2) * (_Tp(__alpha1) + _Tp(1)) + _Tp(4 * __n)) 32020: return __poly_laguerre_large_n(__n, __alpha1, __x); 32020: else if (_Tp(__alpha1) >= _Tp(0) 32020: || (__x > _Tp(0) && _Tp(__alpha1) < -_Tp(__n + 1))) 32020: return __poly_laguerre_recursion(__n, __alpha1, __x); 32020: else 32020: return __poly_laguerre_hyperg(__n, __alpha1, __x); 32020: } 32020: # 296 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: template 32020: inline _Tp 32020: __assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x) 32020: { return __poly_laguerre(__n, __m, __x); } 32020: # 316 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/poly_laguerre.tcc" 3 32020: template 32020: inline _Tp 32020: __laguerre(unsigned int __n, _Tp __x) 32020: { return __poly_laguerre(__n, 0, __x); } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 1 3 32020: # 47 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 63 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: namespace __detail 32020: { 32020: # 78 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: _Tp 32020: __riemann_zeta_sum(_Tp __s) 32020: { 32020: 32020: if (__s < _Tp(1)) 32020: std::__throw_domain_error(("Bad argument in zeta sum.")); 32020: 32020: const unsigned int max_iter = 10000; 32020: _Tp __zeta = _Tp(0); 32020: for (unsigned int __k = 1; __k < max_iter; ++__k) 32020: { 32020: _Tp __term = std::pow(static_cast<_Tp>(__k), -__s); 32020: if (__term < std::numeric_limits<_Tp>::epsilon()) 32020: { 32020: break; 32020: } 32020: __zeta += __term; 32020: } 32020: 32020: return __zeta; 32020: } 32020: # 115 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: _Tp 32020: __riemann_zeta_alt(_Tp __s) 32020: { 32020: _Tp __sgn = _Tp(1); 32020: _Tp __zeta = _Tp(0); 32020: for (unsigned int __i = 1; __i < 10000000; ++__i) 32020: { 32020: _Tp __term = __sgn / std::pow(__i, __s); 32020: if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: __zeta += __term; 32020: __sgn *= _Tp(-1); 32020: } 32020: __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s); 32020: 32020: return __zeta; 32020: } 32020: # 157 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: _Tp 32020: __riemann_zeta_glob(_Tp __s) 32020: { 32020: _Tp __zeta = _Tp(0); 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: 32020: const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10 32020: * std::log(_Tp(10)) - _Tp(1); 32020: 32020: 32020: 32020: if (__s < _Tp(0)) 32020: { 32020: 32020: if (::std::fmod(__s,_Tp(2)) == _Tp(0)) 32020: return _Tp(0); 32020: else 32020: 32020: { 32020: _Tp __zeta = __riemann_zeta_glob(_Tp(1) - __s); 32020: __zeta *= std::pow(_Tp(2) 32020: * __numeric_constants<_Tp>::__pi(), __s) 32020: * std::sin(__numeric_constants<_Tp>::__pi_2() * __s) 32020: 32020: * std::exp(::std::lgamma(_Tp(1) - __s)) 32020: 32020: 32020: 32020: / __numeric_constants<_Tp>::__pi(); 32020: return __zeta; 32020: } 32020: } 32020: 32020: _Tp __num = _Tp(0.5L); 32020: const unsigned int __maxit = 10000; 32020: for (unsigned int __i = 0; __i < __maxit; ++__i) 32020: { 32020: bool __punt = false; 32020: _Tp __sgn = _Tp(1); 32020: _Tp __term = _Tp(0); 32020: for (unsigned int __j = 0; __j <= __i; ++__j) 32020: { 32020: 32020: _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i)) 32020: - ::std::lgamma(_Tp(1 + __j)) 32020: - ::std::lgamma(_Tp(1 + __i - __j)); 32020: 32020: 32020: 32020: 32020: 32020: if (__bincoeff > __max_bincoeff) 32020: { 32020: 32020: __punt = true; 32020: break; 32020: } 32020: __bincoeff = std::exp(__bincoeff); 32020: __term += __sgn * __bincoeff * std::pow(_Tp(1 + __j), -__s); 32020: __sgn *= _Tp(-1); 32020: } 32020: if (__punt) 32020: break; 32020: __term *= __num; 32020: __zeta += __term; 32020: if (std::abs(__term/__zeta) < __eps) 32020: break; 32020: __num *= _Tp(0.5L); 32020: } 32020: 32020: __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s); 32020: 32020: return __zeta; 32020: } 32020: # 252 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: _Tp 32020: __riemann_zeta_product(_Tp __s) 32020: { 32020: static const _Tp __prime[] = { 32020: _Tp(2), _Tp(3), _Tp(5), _Tp(7), _Tp(11), _Tp(13), _Tp(17), _Tp(19), 32020: _Tp(23), _Tp(29), _Tp(31), _Tp(37), _Tp(41), _Tp(43), _Tp(47), 32020: _Tp(53), _Tp(59), _Tp(61), _Tp(67), _Tp(71), _Tp(73), _Tp(79), 32020: _Tp(83), _Tp(89), _Tp(97), _Tp(101), _Tp(103), _Tp(107), _Tp(109) 32020: }; 32020: static const unsigned int __num_primes = sizeof(__prime) / sizeof(_Tp); 32020: 32020: _Tp __zeta = _Tp(1); 32020: for (unsigned int __i = 0; __i < __num_primes; ++__i) 32020: { 32020: const _Tp __fact = _Tp(1) - std::pow(__prime[__i], -__s); 32020: __zeta *= __fact; 32020: if (_Tp(1) - __fact < std::numeric_limits<_Tp>::epsilon()) 32020: break; 32020: } 32020: 32020: __zeta = _Tp(1) / __zeta; 32020: 32020: return __zeta; 32020: } 32020: # 293 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: _Tp 32020: __riemann_zeta(_Tp __s) 32020: { 32020: if (__isnan(__s)) 32020: return std::numeric_limits<_Tp>::quiet_NaN(); 32020: else if (__s == _Tp(1)) 32020: return std::numeric_limits<_Tp>::infinity(); 32020: else if (__s < -_Tp(19)) 32020: { 32020: _Tp __zeta = __riemann_zeta_product(_Tp(1) - __s); 32020: __zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s) 32020: * std::sin(__numeric_constants<_Tp>::__pi_2() * __s) 32020: 32020: * std::exp(::std::lgamma(_Tp(1) - __s)) 32020: 32020: 32020: 32020: / __numeric_constants<_Tp>::__pi(); 32020: return __zeta; 32020: } 32020: else if (__s < _Tp(20)) 32020: { 32020: 32020: bool __glob = true; 32020: if (__glob) 32020: return __riemann_zeta_glob(__s); 32020: else 32020: { 32020: if (__s > _Tp(1)) 32020: return __riemann_zeta_sum(__s); 32020: else 32020: { 32020: _Tp __zeta = std::pow(_Tp(2) 32020: * __numeric_constants<_Tp>::__pi(), __s) 32020: * std::sin(__numeric_constants<_Tp>::__pi_2() * __s) 32020: 32020: * ::std::tgamma(_Tp(1) - __s) 32020: 32020: 32020: 32020: * __riemann_zeta_sum(_Tp(1) - __s); 32020: return __zeta; 32020: } 32020: } 32020: } 32020: else 32020: return __riemann_zeta_product(__s); 32020: } 32020: # 365 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: _Tp 32020: __hurwitz_zeta_glob(_Tp __a, _Tp __s) 32020: { 32020: _Tp __zeta = _Tp(0); 32020: 32020: const _Tp __eps = std::numeric_limits<_Tp>::epsilon(); 32020: 32020: const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10 32020: * std::log(_Tp(10)) - _Tp(1); 32020: 32020: const unsigned int __maxit = 10000; 32020: for (unsigned int __i = 0; __i < __maxit; ++__i) 32020: { 32020: bool __punt = false; 32020: _Tp __sgn = _Tp(1); 32020: _Tp __term = _Tp(0); 32020: for (unsigned int __j = 0; __j <= __i; ++__j) 32020: { 32020: 32020: _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i)) 32020: - ::std::lgamma(_Tp(1 + __j)) 32020: - ::std::lgamma(_Tp(1 + __i - __j)); 32020: 32020: 32020: 32020: 32020: 32020: if (__bincoeff > __max_bincoeff) 32020: { 32020: 32020: __punt = true; 32020: break; 32020: } 32020: __bincoeff = std::exp(__bincoeff); 32020: __term += __sgn * __bincoeff * std::pow(_Tp(__a + __j), -__s); 32020: __sgn *= _Tp(-1); 32020: } 32020: if (__punt) 32020: break; 32020: __term /= _Tp(__i + 1); 32020: if (std::abs(__term / __zeta) < __eps) 32020: break; 32020: __zeta += __term; 32020: } 32020: 32020: __zeta /= __s - _Tp(1); 32020: 32020: return __zeta; 32020: } 32020: # 430 "/usr/arm-linux-gnueabihf/include/c++/10/tr1/riemann_zeta.tcc" 3 32020: template 32020: inline _Tp 32020: __hurwitz_zeta(_Tp __a, _Tp __s) 32020: { return __hurwitz_zeta_glob(__a, __s); } 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: } 32020: # 60 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 2 3 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 205 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: assoc_laguerref(unsigned int __n, unsigned int __m, float __x) 32020: { return __detail::__assoc_laguerre(__n, __m, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x) 32020: { return __detail::__assoc_laguerre(__n, __m, __x); } 32020: # 250 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__assoc_laguerre<__type>(__n, __m, __x); 32020: } 32020: # 266 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: assoc_legendref(unsigned int __l, unsigned int __m, float __x) 32020: { return __detail::__assoc_legendre_p(__l, __m, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: assoc_legendrel(unsigned int __l, unsigned int __m, long double __x) 32020: { return __detail::__assoc_legendre_p(__l, __m, __x); } 32020: # 296 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__assoc_legendre_p<__type>(__l, __m, __x); 32020: } 32020: # 311 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: betaf(float __a, float __b) 32020: { return __detail::__beta(__a, __b); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: betal(long double __a, long double __b) 32020: { return __detail::__beta(__a, __b); } 32020: # 341 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type 32020: beta(_Tpa __a, _Tpb __b) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type __type; 32020: return __detail::__beta<__type>(__a, __b); 32020: } 32020: # 357 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: comp_ellint_1f(float __k) 32020: { return __detail::__comp_ellint_1(__k); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: comp_ellint_1l(long double __k) 32020: { return __detail::__comp_ellint_1(__k); } 32020: # 389 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: comp_ellint_1(_Tp __k) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__comp_ellint_1<__type>(__k); 32020: } 32020: # 405 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: comp_ellint_2f(float __k) 32020: { return __detail::__comp_ellint_2(__k); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: comp_ellint_2l(long double __k) 32020: { return __detail::__comp_ellint_2(__k); } 32020: # 436 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: comp_ellint_2(_Tp __k) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__comp_ellint_2<__type>(__k); 32020: } 32020: # 452 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: comp_ellint_3f(float __k, float __nu) 32020: { return __detail::__comp_ellint_3(__k, __nu); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: comp_ellint_3l(long double __k, long double __nu) 32020: { return __detail::__comp_ellint_3(__k, __nu); } 32020: # 487 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type 32020: comp_ellint_3(_Tp __k, _Tpn __nu) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type; 32020: return __detail::__comp_ellint_3<__type>(__k, __nu); 32020: } 32020: # 503 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: cyl_bessel_if(float __nu, float __x) 32020: { return __detail::__cyl_bessel_i(__nu, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: cyl_bessel_il(long double __nu, long double __x) 32020: { return __detail::__cyl_bessel_i(__nu, __x); } 32020: # 533 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type 32020: cyl_bessel_i(_Tpnu __nu, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type; 32020: return __detail::__cyl_bessel_i<__type>(__nu, __x); 32020: } 32020: # 549 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: cyl_bessel_jf(float __nu, float __x) 32020: { return __detail::__cyl_bessel_j(__nu, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: cyl_bessel_jl(long double __nu, long double __x) 32020: { return __detail::__cyl_bessel_j(__nu, __x); } 32020: # 579 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type 32020: cyl_bessel_j(_Tpnu __nu, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type; 32020: return __detail::__cyl_bessel_j<__type>(__nu, __x); 32020: } 32020: # 595 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: cyl_bessel_kf(float __nu, float __x) 32020: { return __detail::__cyl_bessel_k(__nu, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: cyl_bessel_kl(long double __nu, long double __x) 32020: { return __detail::__cyl_bessel_k(__nu, __x); } 32020: # 631 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type 32020: cyl_bessel_k(_Tpnu __nu, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type; 32020: return __detail::__cyl_bessel_k<__type>(__nu, __x); 32020: } 32020: # 647 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: cyl_neumannf(float __nu, float __x) 32020: { return __detail::__cyl_neumann_n(__nu, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: cyl_neumannl(long double __nu, long double __x) 32020: { return __detail::__cyl_neumann_n(__nu, __x); } 32020: # 679 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type 32020: cyl_neumann(_Tpnu __nu, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type; 32020: return __detail::__cyl_neumann_n<__type>(__nu, __x); 32020: } 32020: # 695 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: ellint_1f(float __k, float __phi) 32020: { return __detail::__ellint_1(__k, __phi); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: ellint_1l(long double __k, long double __phi) 32020: { return __detail::__ellint_1(__k, __phi); } 32020: # 727 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type 32020: ellint_1(_Tp __k, _Tpp __phi) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type; 32020: return __detail::__ellint_1<__type>(__k, __phi); 32020: } 32020: # 743 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: ellint_2f(float __k, float __phi) 32020: { return __detail::__ellint_2(__k, __phi); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: ellint_2l(long double __k, long double __phi) 32020: { return __detail::__ellint_2(__k, __phi); } 32020: # 775 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type 32020: ellint_2(_Tp __k, _Tpp __phi) 32020: { 32020: typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type; 32020: return __detail::__ellint_2<__type>(__k, __phi); 32020: } 32020: # 791 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: ellint_3f(float __k, float __nu, float __phi) 32020: { return __detail::__ellint_3(__k, __nu, __phi); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: ellint_3l(long double __k, long double __nu, long double __phi) 32020: { return __detail::__ellint_3(__k, __nu, __phi); } 32020: # 828 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type 32020: ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi) 32020: { 32020: typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type; 32020: return __detail::__ellint_3<__type>(__k, __nu, __phi); 32020: } 32020: # 843 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: expintf(float __x) 32020: { return __detail::__expint(__x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: expintl(long double __x) 32020: { return __detail::__expint(__x); } 32020: # 868 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: expint(_Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__expint<__type>(__x); 32020: } 32020: # 884 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: hermitef(unsigned int __n, float __x) 32020: { return __detail::__poly_hermite(__n, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: hermitel(unsigned int __n, long double __x) 32020: { return __detail::__poly_hermite(__n, __x); } 32020: # 916 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: hermite(unsigned int __n, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__poly_hermite<__type>(__n, __x); 32020: } 32020: # 932 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: laguerref(unsigned int __n, float __x) 32020: { return __detail::__laguerre(__n, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: laguerrel(unsigned int __n, long double __x) 32020: { return __detail::__laguerre(__n, __x); } 32020: # 960 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: laguerre(unsigned int __n, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__laguerre<__type>(__n, __x); 32020: } 32020: # 976 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: legendref(unsigned int __l, float __x) 32020: { return __detail::__poly_legendre_p(__l, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: legendrel(unsigned int __l, long double __x) 32020: { return __detail::__poly_legendre_p(__l, __x); } 32020: # 1005 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: legendre(unsigned int __l, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__poly_legendre_p<__type>(__l, __x); 32020: } 32020: # 1021 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: riemann_zetaf(float __s) 32020: { return __detail::__riemann_zeta(__s); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: riemann_zetal(long double __s) 32020: { return __detail::__riemann_zeta(__s); } 32020: # 1056 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: riemann_zeta(_Tp __s) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__riemann_zeta<__type>(__s); 32020: } 32020: # 1072 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: sph_besself(unsigned int __n, float __x) 32020: { return __detail::__sph_bessel(__n, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: sph_bessell(unsigned int __n, long double __x) 32020: { return __detail::__sph_bessel(__n, __x); } 32020: # 1100 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: sph_bessel(unsigned int __n, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__sph_bessel<__type>(__n, __x); 32020: } 32020: # 1116 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: sph_legendref(unsigned int __l, unsigned int __m, float __theta) 32020: { return __detail::__sph_legendre(__l, __m, __theta); } 32020: # 1127 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline long double 32020: sph_legendrel(unsigned int __l, unsigned int __m, long double __theta) 32020: { return __detail::__sph_legendre(__l, __m, __theta); } 32020: # 1147 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__sph_legendre<__type>(__l, __m, __theta); 32020: } 32020: # 1163 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: sph_neumannf(unsigned int __n, float __x) 32020: { return __detail::__sph_neumann(__n, __x); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline long double 32020: sph_neumannl(unsigned int __n, long double __x) 32020: { return __detail::__sph_neumann(__n, __x); } 32020: # 1191 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: sph_neumann(unsigned int __n, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: return __detail::__sph_neumann<__type>(__n, __x); 32020: } 32020: 32020: 32020: 32020: 32020: } 32020: 32020: 32020: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: # 1218 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: airy_aif(float __x) 32020: { 32020: float __Ai, __Bi, __Aip, __Bip; 32020: std::__detail::__airy(__x, __Ai, __Bi, __Aip, __Bip); 32020: return __Ai; 32020: } 32020: 32020: 32020: 32020: 32020: inline long double 32020: airy_ail(long double __x) 32020: { 32020: long double __Ai, __Bi, __Aip, __Bip; 32020: std::__detail::__airy(__x, __Ai, __Bi, __Aip, __Bip); 32020: return __Ai; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: airy_ai(_Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: __type __Ai, __Bi, __Aip, __Bip; 32020: std::__detail::__airy<__type>(__x, __Ai, __Bi, __Aip, __Bip); 32020: return __Ai; 32020: } 32020: 32020: 32020: 32020: 32020: inline float 32020: airy_bif(float __x) 32020: { 32020: float __Ai, __Bi, __Aip, __Bip; 32020: std::__detail::__airy(__x, __Ai, __Bi, __Aip, __Bip); 32020: return __Bi; 32020: } 32020: 32020: 32020: 32020: 32020: inline long double 32020: airy_bil(long double __x) 32020: { 32020: long double __Ai, __Bi, __Aip, __Bip; 32020: std::__detail::__airy(__x, __Ai, __Bi, __Aip, __Bip); 32020: return __Bi; 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: inline typename __gnu_cxx::__promote<_Tp>::__type 32020: airy_bi(_Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote<_Tp>::__type __type; 32020: __type __Ai, __Bi, __Aip, __Bip; 32020: std::__detail::__airy<__type>(__x, __Ai, __Bi, __Aip, __Bip); 32020: return __Bi; 32020: } 32020: # 1294 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: conf_hypergf(float __a, float __c, float __x) 32020: { return std::__detail::__conf_hyperg(__a, __c, __x); } 32020: # 1305 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline long double 32020: conf_hypergl(long double __a, long double __c, long double __x) 32020: { return std::__detail::__conf_hyperg(__a, __c, __x); } 32020: # 1325 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type 32020: conf_hyperg(_Tpa __a, _Tpc __c, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type __type; 32020: return std::__detail::__conf_hyperg<__type>(__a, __c, __x); 32020: } 32020: # 1342 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline float 32020: hypergf(float __a, float __b, float __c, float __x) 32020: { return std::__detail::__hyperg(__a, __b, __c, __x); } 32020: # 1353 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: inline long double 32020: hypergl(long double __a, long double __b, long double __c, long double __x) 32020: { return std::__detail::__hyperg(__a, __b, __c, __x); } 32020: # 1374 "/usr/arm-linux-gnueabihf/include/c++/10/bits/specfun.h" 3 32020: template 32020: inline typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type 32020: hyperg(_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x) 32020: { 32020: typedef typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp> 32020: ::__type __type; 32020: return std::__detail::__hyperg<__type>(__a, __b, __c, __x); 32020: } 32020: 32020: 32020: 32020: } 32020: 32020: 32020: #pragma GCC visibility pop 32020: # 1928 "/usr/arm-linux-gnueabihf/include/c++/10/cmath" 2 3 32020: 32020: 32020: } 32020: # 35 "/usr/include/tweeny/easing.h" 2 32020: # 107 "/usr/include/tweeny/easing.h" 32020: 32020: # 107 "/usr/include/tweeny/easing.h" 32020: namespace tweeny { 32020: # 120 "/usr/include/tweeny/easing.h" 32020: class easing { 32020: public: 32020: 32020: 32020: 32020: 32020: static constexpr struct linearEasing { 32020: template 32020: static typename std::enable_if::value, T>::type run(float position, T start, T end) { 32020: return static_cast(roundf((end - start) * position + start)); 32020: } 32020: 32020: template 32020: static typename std::enable_if::value, T>::type run(float position, T start, T end) { 32020: return static_cast((end - start) * position + start); 32020: } 32020: } linear = linearEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quadraticInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * position * position + start); 32020: } 32020: } quadraticIn = quadraticInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quadraticOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((-(end - start)) * position * (position - 2) + start); 32020: } 32020: } quadraticOut = quadraticOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quadraticInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position *= 2; 32020: if (position < 1) { 32020: return static_cast(((end - start) / 2) * position * position + start); 32020: } 32020: 32020: --position; 32020: return static_cast((-(end - start) / 2) * (position * (position - 2) - 1) + start); 32020: } 32020: } quadraticInOut = quadraticInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct cubicInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * position * position * position + start); 32020: } 32020: } cubicIn = cubicInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct cubicOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: --position; 32020: return static_cast((end - start) * (position * position * position + 1) + start); 32020: } 32020: } cubicOut = cubicOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct cubicInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position *= 2; 32020: if (position < 1) { 32020: return static_cast(((end - start) / 2) * position * position * position + start); 32020: } 32020: position -= 2; 32020: return static_cast(((end - start) / 2) * (position * position * position + 2) + start); 32020: } 32020: } cubicInOut = cubicInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quarticInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * position * position * position * position + start); 32020: } 32020: } quarticIn = quarticInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quarticOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: --position; 32020: return static_cast( -(end - start) * (position * position * position * position - 1) + start); 32020: } 32020: } quarticOut = quarticOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quarticInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position *= 2; 32020: if (position < 1) { 32020: return static_cast(((end - start) / 2) * (position * position * position * position) + 32020: start); 32020: } 32020: position -= 2; 32020: return static_cast((-(end - start) / 2) * (position * position * position * position - 2) + 32020: start); 32020: } 32020: } quarticInOut = quarticInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quinticInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * position * position * position * position * position + start); 32020: } 32020: } quinticIn = quinticInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quinticOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position--; 32020: return static_cast((end - start) * (position * position * position * position * position + 1) + 32020: start); 32020: } 32020: } quinticOut = quinticOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct quinticInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position *= 2; 32020: if (position < 1) { 32020: return static_cast( 32020: ((end - start) / 2) * (position * position * position * position * position) + 32020: start); 32020: } 32020: position -= 2; 32020: return static_cast( 32020: ((end - start) / 2) * (position * position * position * position * position + 2) + 32020: start); 32020: } 32020: } quinticInOut = quinticInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct sinusoidalInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast(-(end - start) * cosf(position * static_cast( 32020: # 308 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 308 "/usr/include/tweeny/easing.h" 32020: ) / 2) + (end - start) + start); 32020: } 32020: } sinusoidalIn = sinusoidalInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct sinusoidalOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * sinf(position * static_cast( 32020: # 319 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 319 "/usr/include/tweeny/easing.h" 32020: ) / 2) + start); 32020: } 32020: } sinusoidalOut = sinusoidalOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct sinusoidalInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((-(end - start) / 2) * (cosf(position * static_cast( 32020: # 330 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 330 "/usr/include/tweeny/easing.h" 32020: )) - 1) + start); 32020: } 32020: } sinusoidalInOut = sinusoidalInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct exponentialInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * powf(2, 10 * (position - 1)) + start); 32020: } 32020: } exponentialIn = exponentialInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct exponentialOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast((end - start) * (-powf(2, -10 * position) + 1) + start); 32020: } 32020: } exponentialOut = exponentialOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct exponentialInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position *= 2; 32020: if (position < 1) { 32020: return static_cast(((end - start) / 2) * powf(2, 10 * (position - 1)) + start); 32020: } 32020: --position; 32020: return static_cast(((end - start) / 2) * (-powf(2, -10 * position) + 2) + start); 32020: } 32020: } exponentialInOut = exponentialInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct circularInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return static_cast( -(end - start) * (sqrtf(1 - position * position) - 1) + start ); 32020: } 32020: } circularIn = circularInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct circularOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: --position; 32020: return static_cast((end - start) * (sqrtf(1 - position * position)) + start); 32020: } 32020: } circularOut = circularOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct circularInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: position *= 2; 32020: if (position < 1) { 32020: return static_cast((-(end - start) / 2) * (sqrtf(1 - position * position) - 1) + start); 32020: } 32020: 32020: position -= 2; 32020: return static_cast(((end - start) / 2) * (sqrtf(1 - position * position) + 1) + start); 32020: } 32020: } circularInOut = circularInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct bounceInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: return (end - start) - bounceOut.run((1 - position), T(), end) + start; 32020: } 32020: } bounceIn = bounceInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct bounceOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: T c = end - start; 32020: if (position < (1 / 2.75f)) { 32020: return static_cast(c * (7.5625f * position * position) + start); 32020: } else if (position < (2.0f / 2.75f)) { 32020: float postFix = position -= (1.5f / 2.75f); 32020: return static_cast(c * (7.5625f * (postFix) * position + .75f) + start); 32020: } else if (position < (2.5f / 2.75f)) { 32020: float postFix = position -= (2.25f / 2.75f); 32020: return static_cast(c * (7.5625f * (postFix) * position + .9375f) + start); 32020: } else { 32020: float postFix = position -= (2.625f / 2.75f); 32020: return static_cast(c * (7.5625f * (postFix) * position + .984375f) + start); 32020: } 32020: } 32020: } bounceOut = bounceOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct bounceInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: if (position < 0.5f) return static_cast(bounceIn.run(position * 2, T(), end) * .5f + start); 32020: else return static_cast(bounceOut.run((position * 2 - 1), T(), end) * .5f + (end - start) * .5f + start); 32020: } 32020: } bounceInOut = bounceInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct elasticInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: if (position <= 0.00001f) return start; 32020: if (position >= 0.999f) return end; 32020: float p = .3f; 32020: float a = end - start; 32020: float s = p / 4; 32020: float postFix = 32020: a * powf(2, 10 * (position -= 1)); 32020: return static_cast(-(postFix * sinf((position - s) * (2 * static_cast( 32020: # 472 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 472 "/usr/include/tweeny/easing.h" 32020: )) / p)) + start); 32020: } 32020: } elasticIn = elasticInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct elasticOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: if (position <= 0.00001f) return start; 32020: if (position >= 0.999f) return end; 32020: float p = .3f; 32020: float a = end - start; 32020: float s = p / 4; 32020: return static_cast(a * powf(2, -10 * position) * sinf((position - s) * (2 * static_cast( 32020: # 488 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 488 "/usr/include/tweeny/easing.h" 32020: )) / p) + end); 32020: } 32020: } elasticOut = elasticOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct elasticInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: if (position <= 0.00001f) return start; 32020: if (position >= 0.999f) return end; 32020: position *= 2; 32020: float p = (.3f * 1.5f); 32020: float a = end - start; 32020: float s = p / 4; 32020: float postFix; 32020: 32020: if (position < 1) { 32020: postFix = a * powf(2, 10 * (position -= 1)); 32020: return static_cast(-0.5f * (postFix * sinf((position - s) * (2 * static_cast( 32020: # 509 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 509 "/usr/include/tweeny/easing.h" 32020: )) / p)) + start); 32020: } 32020: postFix = a * powf(2, -10 * (position -= 1)); 32020: return static_cast(postFix * sinf((position - s) * (2 * static_cast( 32020: # 512 "/usr/include/tweeny/easing.h" 3 32020: 3.14159265358979323846 32020: # 512 "/usr/include/tweeny/easing.h" 32020: )) / p) * .5f + end); 32020: } 32020: } elasticInOut = elasticInOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct backInEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: float s = 1.70158f; 32020: float postFix = position; 32020: return static_cast((end - start) * (postFix) * position * ((s + 1) * position - s) + start); 32020: } 32020: } backIn = backInEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct backOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: float s = 1.70158f; 32020: position -= 1; 32020: return static_cast((end - start) * ((position) * position * ((s + 1) * position + s) + 1) + start); 32020: } 32020: } backOut = backOutEasing{}; 32020: 32020: 32020: 32020: 32020: 32020: static constexpr struct backInOutEasing { 32020: template 32020: static T run(float position, T start, T end) { 32020: float s = 1.70158f; 32020: float t = position; 32020: T b = start; 32020: T c = end - start; 32020: float d = 1; 32020: s *= (1.525f); 32020: if ((t /= d / 2) < 1) return static_cast(c / 2 * (t * t * (((s) + 1) * t - s)) + b); 32020: float postFix = t -= 2; 32020: return static_cast(c / 2 * ((postFix) * t * (((s) + 1) * t + s) + 2) + b); 32020: } 32020: } backInOut = backInOutEasing{}; 32020: }; 32020: } 32020: # 38 "/usr/include/tweeny/tweenpoint.tcc" 2 32020: # 1 "/usr/include/tweeny/easingresolve.h" 1 32020: # 37 "/usr/include/tweeny/easingresolve.h" 32020: namespace tweeny { 32020: namespace detail { 32020: using std::get; 32020: 32020: template 32020: struct easingresolve { 32020: static void impl(FunctionTuple &b, Fs... fs) { 32020: if (sizeof...(Fs) == 0) return; 32020: easingresolve::impl(b, fs...); 32020: } 32020: }; 32020: 32020: template 32020: struct easingresolve { 32020: static void impl(FunctionTuple &b, F1 f1, Fs... fs) { 32020: get(b) = f1; 32020: easingresolve::impl(b, fs...); 32020: } 32020: }; 32020: 32020: template 32020: struct easingresolve { 32020: typedef typename std::tuple_element::type ArgType; 32020: 32020: static void impl(FunctionTuple &b, easing::linearEasing, Fs... fs) { 32020: get(b) = easing::linear.run; 32020: easingresolve::impl(b, fs...); 32020: } 32020: }; 32020: # 95 "/usr/include/tweeny/easingresolve.h" 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quadraticIn), Fs... fs) { get(b) = easing::quadraticIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quadraticOut), Fs... fs) { get(b) = easing::quadraticOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quadraticInOut), Fs... fs) { get(b) = easing::quadraticInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::cubicIn), Fs... fs) { get(b) = easing::cubicIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::cubicOut), Fs... fs) { get(b) = easing::cubicOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::cubicInOut), Fs... fs) { get(b) = easing::cubicInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quarticIn), Fs... fs) { get(b) = easing::quarticIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quarticOut), Fs... fs) { get(b) = easing::quarticOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quarticInOut), Fs... fs) { get(b) = easing::quarticInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quinticIn), Fs... fs) { get(b) = easing::quinticIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quinticOut), Fs... fs) { get(b) = easing::quinticOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::quinticInOut), Fs... fs) { get(b) = easing::quinticInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::sinusoidalIn), Fs... fs) { get(b) = easing::sinusoidalIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::sinusoidalOut), Fs... fs) { get(b) = easing::sinusoidalOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::sinusoidalInOut), Fs... fs) { get(b) = easing::sinusoidalInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::exponentialIn), Fs... fs) { get(b) = easing::exponentialIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::exponentialOut), Fs... fs) { get(b) = easing::exponentialOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::exponentialInOut), Fs... fs) { get(b) = easing::exponentialInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::circularIn), Fs... fs) { get(b) = easing::circularIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::circularOut), Fs... fs) { get(b) = easing::circularOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::circularInOut), Fs... fs) { get(b) = easing::circularInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::bounceIn), Fs... fs) { get(b) = easing::bounceIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::bounceOut), Fs... fs) { get(b) = easing::bounceOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::bounceInOut), Fs... fs) { get(b) = easing::bounceInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::elasticIn), Fs... fs) { get(b) = easing::elasticIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::elasticOut), Fs... fs) { get(b) = easing::elasticOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::elasticInOut), Fs... fs) { get(b) = easing::elasticInOut.run; easingresolve::impl(b, fs...); } }; 32020: template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::backIn), Fs... fs) { get(b) = easing::backIn.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::backOut), Fs... fs) { get(b) = easing::backOut.run; easingresolve::impl(b, fs...); } }; template struct easingresolve { typedef typename std::tuple_element::type ArgType; static void impl(FunctionTuple & b, decltype(easing::backInOut), Fs... fs) { get(b) = easing::backInOut.run; easingresolve::impl(b, fs...); } }; 32020: } 32020: } 32020: # 39 "/usr/include/tweeny/tweenpoint.tcc" 2 32020: # 1 "/usr/include/tweeny/int2type.h" 1 32020: # 32 "/usr/include/tweeny/int2type.h" 32020: namespace tweeny { 32020: namespace detail { 32020: template struct int2type { }; 32020: } 32020: } 32020: # 40 "/usr/include/tweeny/tweenpoint.tcc" 2 32020: 32020: namespace tweeny { 32020: namespace detail { 32020: template void easingfill(EasingCollectionT & f, EasingT easing, int2type) { 32020: easingresolve::impl(f, easing); 32020: easingfill(f, easing, int2type{ }); 32020: } 32020: 32020: template void easingfill(EasingCollectionT & f, EasingT easing, int2type<0>) { 32020: easingresolve<0, TypeTupleT, EasingCollectionT, EasingT>::impl(f, easing); 32020: } 32020: 32020: 32020: template 32020: struct are_same; 32020: 32020: template 32020: struct are_same 32020: { 32020: static const bool value = std::is_same::value && are_same::value; 32020: }; 32020: 32020: template 32020: struct are_same 32020: { 32020: static const bool value = true; 32020: }; 32020: 32020: 32020: template 32020: inline tweenpoint::tweenpoint(Ts... vs) : values{vs...} { 32020: during(static_cast(0)); 32020: via(easing::linear); 32020: } 32020: 32020: template 32020: template 32020: inline void tweenpoint::during(D milis) { 32020: for (uint16_t & t : durations) { t = static_cast(milis); } 32020: } 32020: 32020: template 32020: template 32020: inline void tweenpoint::during(Ds... milis) { 32020: static_assert(sizeof...(Ds) == sizeof...(Ts), 32020: "Amount of durations should be equal to the amount of values in a currentPoint"); 32020: std::array list = {{ milis... }}; 32020: std::copy(list.begin(), list.end(), durations.begin()); 32020: } 32020: 32020: template 32020: template 32020: inline void tweenpoint::via(Fs... fs) { 32020: static_assert(sizeof...(Fs) == sizeof...(Ts), 32020: "Number of functions passed to via() must be equal the number of values."); 32020: detail::easingresolve<0, std::tuple, typename traits::easingCollection, Fs...>::impl(easings, fs...); 32020: } 32020: 32020: template 32020: template 32020: inline void tweenpoint::via(F f) { 32020: easingfill(easings, f, int2type{ }); 32020: } 32020: 32020: template 32020: inline uint16_t tweenpoint::duration() const { 32020: return *std::max_element(durations.begin(), durations.end()); 32020: } 32020: 32020: template 32020: inline uint16_t tweenpoint::duration(size_t i) const { 32020: return durations.at(i); 32020: } 32020: } 32020: } 32020: # 81 "/usr/include/tweeny/tweenpoint.h" 2 32020: # 39 "/usr/include/tweeny/tween.h" 2 32020: 32020: namespace tweeny { 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class tween { 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: static tween from(T t, Ts... vs); 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: tween(); 32020: # 83 "/usr/include/tweeny/tween.h" 32020: tween & to(T t, Ts... vs); 32020: # 109 "/usr/include/tweeny/tween.h" 32020: template tween & via(Fs... fs); 32020: # 123 "/usr/include/tweeny/tween.h" 32020: template tween & via(int index, Fs... fs); 32020: # 142 "/usr/include/tweeny/tween.h" 32020: template tween & during(Ds... ds); 32020: # 164 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & step(int32_t dt, bool suppressCallbacks = false); 32020: # 176 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & step(uint32_t dt, bool suppressCallbacks = false); 32020: # 197 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & step(float dp, bool suppressCallbacks = false); 32020: # 208 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & seek(float p, bool suppressCallbacks = false); 32020: # 220 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & seek(int32_t d, bool suppressCallbacks = false); 32020: # 232 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & seek(uint32_t d, bool suppressCallbacks = false); 32020: # 265 "/usr/include/tweeny/tween.h" 32020: tween & onStep(typename detail::tweentraits::callbackType callback); 32020: # 297 "/usr/include/tweeny/tween.h" 32020: tween & onStep(typename detail::tweentraits::noValuesCallbackType callback); 32020: # 329 "/usr/include/tweeny/tween.h" 32020: tween & onStep(typename detail::tweentraits::noTweenCallbackType callback); 32020: # 358 "/usr/include/tweeny/tween.h" 32020: tween & onSeek(typename detail::tweentraits::callbackType callback); 32020: # 387 "/usr/include/tweeny/tween.h" 32020: tween & onSeek(typename detail::tweentraits::noTweenCallbackType callback); 32020: # 416 "/usr/include/tweeny/tween.h" 32020: tween & onSeek(typename detail::tweentraits::noValuesCallbackType callback); 32020: 32020: 32020: 32020: 32020: 32020: 32020: uint32_t duration() const; 32020: # 432 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & peek() const; 32020: # 441 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType peek(float progress) const; 32020: # 451 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType peek(uint32_t time) const; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: float progress() const; 32020: # 468 "/usr/include/tweeny/tween.h" 32020: tween & forward(); 32020: # 477 "/usr/include/tweeny/tween.h" 32020: tween & backward(); 32020: 32020: 32020: 32020: 32020: 32020: 32020: int direction() const; 32020: # 496 "/usr/include/tweeny/tween.h" 32020: const typename detail::tweentraits::valuesType & jump(int32_t point, bool suppressCallbacks = false); 32020: 32020: 32020: 32020: 32020: 32020: 32020: uint16_t point() const; 32020: 32020: private : 32020: using traits = detail::tweentraits; 32020: 32020: private : 32020: uint32_t total = 0; 32020: uint16_t currentPoint = 0; 32020: float currentProgress = 0; 32020: std::vector> points; 32020: typename traits::valuesType current; 32020: std::vector onStepCallbacks; 32020: std::vector onSeekCallbacks; 32020: int8_t currentDirection = 1; 32020: 32020: private: 32020: 32020: tween(T t, Ts... vs); 32020: template void interpolate(float prog, unsigned point, typename traits::valuesType & values, detail::int2type) const; 32020: void interpolate(float prog, unsigned point, typename traits::valuesType & values, detail::int2type<0>) const; 32020: void render(float p); 32020: void dispatch(std::vector & cbVector); 32020: uint16_t pointAt(float progress) const; 32020: }; 32020: # 538 "/usr/include/tweeny/tween.h" 32020: template 32020: class tween { 32020: public: 32020: static tween from(T t); 32020: 32020: public: 32020: tween(); 32020: tween & to(T t); 32020: template tween & via(Fs... fs); 32020: template tween & via(int index, Fs... fs); 32020: template tween & during(Ds... ds); 32020: const T & step(int32_t dt, bool suppressCallbacks = false); 32020: const T & step(uint32_t dt, bool suppressCallbacks = false); 32020: const T & step(float dp, bool suppressCallbacks = false); 32020: const T & seek(float p, bool suppressCallbacks = false); 32020: const T & seek(int32_t d, bool suppressCallbacks = false); 32020: const T & seek(uint32_t d, bool suppressCallbacks = false); 32020: tween & onStep(typename detail::tweentraits::callbackType callback); 32020: tween & onStep(typename detail::tweentraits::noValuesCallbackType callback); 32020: tween & onStep(typename detail::tweentraits::noTweenCallbackType callback); 32020: tween & onSeek(typename detail::tweentraits::callbackType callback); 32020: tween & onSeek(typename detail::tweentraits::noValuesCallbackType callback); 32020: tween & onSeek(typename detail::tweentraits::noTweenCallbackType callback); 32020: const T & peek() const; 32020: T peek(float progress) const; 32020: T peek(uint32_t time) const; 32020: uint32_t duration() const; 32020: float progress() const; 32020: tween & forward(); 32020: tween & backward(); 32020: int direction() const; 32020: const T & jump(int32_t point, bool suppressCallbacks = false); 32020: uint16_t point() const; 32020: 32020: private : 32020: using traits = detail::tweentraits; 32020: 32020: private : 32020: uint32_t total = 0; 32020: uint16_t currentPoint = 0; 32020: float currentProgress = 0; 32020: std::vector> points; 32020: T current; 32020: std::vector onStepCallbacks; 32020: std::vector onSeekCallbacks; 32020: int8_t currentDirection = 1; 32020: 32020: private: 32020: 32020: tween(T t); 32020: void interpolate(float prog, unsigned point, T & value) const; 32020: void render(float p); 32020: void dispatch(std::vector & cbVector); 32020: uint16_t pointAt(float progress) const; 32020: }; 32020: } 32020: 32020: # 1 "/usr/include/tweeny/tween.tcc" 1 32020: # 32 "/usr/include/tweeny/tween.tcc" 32020: # 1 "/usr/include/tweeny/tween.h" 1 32020: # 33 "/usr/include/tweeny/tween.tcc" 2 32020: # 1 "/usr/include/tweeny/dispatcher.h" 1 32020: # 33 "/usr/include/tweeny/dispatcher.h" 32020: namespace tweeny { 32020: namespace detail { 32020: template struct seq { }; 32020: template struct gens : gens { }; 32020: template struct gens<0, S...> { 32020: typedef seq type; 32020: }; 32020: 32020: template 32020: R dispatch(Func && f, TupleType && args, seq) { 32020: return f(std::get(args) ...); 32020: } 32020: 32020: template 32020: R call(Func && f, const std::tuple & args) { 32020: return dispatch(f, args, typename gens::type()); 32020: } 32020: } 32020: } 32020: # 34 "/usr/include/tweeny/tween.tcc" 2 32020: 32020: namespace tweeny { 32020: 32020: namespace detail { 32020: template 32020: T clip(const T & n, const T & lower, const T & upper) { 32020: return std::max(lower, std::min(n, upper)); 32020: } 32020: } 32020: 32020: template inline tween tween::from(T t, Ts... vs) { return tween(t, vs...); } 32020: template inline tween::tween() { } 32020: template inline tween::tween(T t, Ts... vs) { 32020: points.emplace_back(t, vs...); 32020: } 32020: 32020: template inline tween & tween::to(T t, Ts... vs) { 32020: points.emplace_back(t, vs...); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: inline tween & tween::via(Fs... vs) { 32020: points.at(points.size() - 2).via(vs...); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: inline tween & tween::via(int index, Fs... vs) { 32020: points.at(static_cast(index)).via(vs...); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: inline tween & tween::during(Ds... ds) { 32020: total = 0; 32020: points.at(points.size() - 2).during(ds...); 32020: for (detail::tweenpoint & p : points) { 32020: total += p.duration(); 32020: p.stacked = total; 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline const typename detail::tweentraits::valuesType & tween::step(int32_t dt, bool suppress) { 32020: return step(static_cast(dt * currentDirection)/static_cast(total), suppress); 32020: } 32020: 32020: template 32020: inline const typename detail::tweentraits::valuesType & tween::step(uint32_t dt, bool suppress) { 32020: return step(static_cast(dt), suppress); 32020: } 32020: 32020: template 32020: inline const typename detail::tweentraits::valuesType & tween::step(float dp, bool suppress) { 32020: seek(currentProgress + dp, true); 32020: if (!suppress) dispatch(onStepCallbacks); 32020: return current; 32020: } 32020: 32020: template 32020: inline const typename detail::tweentraits::valuesType & tween::seek(float p, bool suppress) { 32020: p = detail::clip(p, 0.0f, 1.0f); 32020: currentProgress = p; 32020: render(p); 32020: if (!suppress) dispatch(onSeekCallbacks); 32020: return current; 32020: } 32020: 32020: template 32020: inline const typename detail::tweentraits::valuesType & tween::seek(int32_t t, bool suppress) { 32020: return seek(static_cast(t) / static_cast(total), suppress); 32020: } 32020: 32020: template 32020: inline uint32_t tween::duration() const { 32020: return total; 32020: } 32020: 32020: template 32020: template 32020: inline void tween::interpolate(float prog, unsigned point, typename traits::valuesType & values, detail::int2type) const { 32020: auto & p = points.at(point); 32020: uint32_t pointDuration = p.duration() - (p.stacked - (prog * static_cast(total))); 32020: float pointTotal = static_cast(pointDuration) / static_cast(p.duration()); 32020: if (pointTotal > 1.0f) pointTotal = 1.0f; 32020: auto easing = std::get(p.easings); 32020: std::get(values) = easing(pointTotal, std::get(p.values), std::get(points.at(point+1).values)); 32020: interpolate(prog, point, values, detail::int2type{ }); 32020: } 32020: 32020: template 32020: inline void tween::interpolate(float prog, unsigned point, typename traits::valuesType & values, detail::int2type<0>) const { 32020: auto & p = points.at(point); 32020: uint32_t pointDuration = p.duration() - (p.stacked - (prog * static_cast(total))); 32020: float pointTotal = static_cast(pointDuration) / static_cast(p.duration()); 32020: if (pointTotal > 1.0f) pointTotal = 1.0f; 32020: auto easing = std::get<0>(p.easings); 32020: std::get<0>(values) = easing(pointTotal, std::get<0>(p.values), std::get<0>(points.at(point+1).values)); 32020: } 32020: 32020: template 32020: inline void tween::render(float p) { 32020: currentPoint = pointAt(p); 32020: interpolate(p, currentPoint, current, detail::int2type{ }); 32020: } 32020: 32020: template 32020: tween & tween::onStep(typename detail::tweentraits::callbackType callback) { 32020: onStepCallbacks.push_back(callback); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onStep(typename detail::tweentraits::noValuesCallbackType callback) { 32020: onStepCallbacks.push_back([callback](tween & t, T, Ts...) { return callback(t); }); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onStep(typename detail::tweentraits::noTweenCallbackType callback) { 32020: onStepCallbacks.push_back([callback](tween &, T t, Ts... vs) { return callback(t, vs...); }); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onSeek(typename detail::tweentraits::callbackType callback) { 32020: onSeekCallbacks.push_back(callback); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onSeek(typename detail::tweentraits::noValuesCallbackType callback) { 32020: onSeekCallbacks.push_back([callback](tween & t, T, Ts...) { return callback(t); }); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onSeek(typename detail::tweentraits::noTweenCallbackType callback) { 32020: onSeekCallbacks.push_back([callback](tween &, T t, Ts... vs) { return callback(t, vs...); }); 32020: return *this; 32020: } 32020: 32020: template 32020: void tween::dispatch(std::vector & cbVector) { 32020: std::vector dismissed; 32020: for (size_t i = 0; i < cbVector.size(); ++i) { 32020: auto && cb = cbVector[i]; 32020: bool dismiss = detail::call(cb, std::tuple_cat(std::make_tuple(std::ref(*this)), current)); 32020: if (dismiss) dismissed.push_back(i); 32020: } 32020: 32020: if (dismissed.size() > 0) { 32020: for (size_t i = 0; i < dismissed.size(); ++i) { 32020: size_t index = dismissed[i]; 32020: cbVector[index] = cbVector.at(cbVector.size() - 1 - i); 32020: } 32020: cbVector.resize(cbVector.size() - dismissed.size()); 32020: } 32020: } 32020: 32020: template 32020: const typename detail::tweentraits::valuesType & tween::peek() const { 32020: return current; 32020: } 32020: 32020: template 32020: const typename detail::tweentraits::valuesType tween::peek(float progress) const { 32020: typename detail::tweentraits::valuesType values; 32020: interpolate(progress, pointAt(progress), values, detail::int2type{ }); 32020: return values; 32020: } 32020: 32020: template 32020: const typename detail::tweentraits::valuesType tween::peek(uint32_t time) const { 32020: typename detail::tweentraits::valuesType values; 32020: float progress = static_cast(time) / static_cast(total); 32020: interpolate(progress, pointAt(progress), values, detail::int2type{ }); 32020: return values; 32020: } 32020: 32020: template 32020: float tween::progress() const { 32020: return currentProgress; 32020: } 32020: 32020: template 32020: tween & tween::forward() { 32020: currentDirection = 1; 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::backward() { 32020: currentDirection = -1; 32020: return *this; 32020: } 32020: 32020: template 32020: int tween::direction() const { 32020: return currentDirection; 32020: } 32020: 32020: template 32020: inline const typename detail::tweentraits::valuesType & tween::jump(int32_t p, bool suppress) { 32020: p = detail::clip(p, 0, points.size() -1); 32020: return seek(points.at(p).stacked, suppress); 32020: } 32020: 32020: template inline uint16_t tween::point() const { 32020: return currentPoint; 32020: }; 32020: 32020: template inline uint16_t tween::pointAt(float progress) const { 32020: uint32_t t = static_cast(progress * total); 32020: uint16_t point = 0; 32020: while (t > points.at(point).stacked) point++; 32020: if (point > 0 && t <= points.at(point - 1u).stacked) point--; 32020: return point; 32020: }; 32020: } 32020: # 596 "/usr/include/tweeny/tween.h" 2 32020: # 1 "/usr/include/tweeny/tweenone.tcc" 1 32020: # 35 "/usr/include/tweeny/tweenone.tcc" 32020: namespace tweeny { 32020: template inline tween tween::from(T t) { return tween(t); } 32020: template inline tween::tween() { } 32020: template inline tween::tween(T t) { 32020: points.emplace_back(t); 32020: } 32020: 32020: template inline tween & tween::to(T t) { 32020: points.emplace_back(t); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: inline tween & tween::via(Fs... vs) { 32020: points.at(points.size() - 2).via(vs...); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: inline tween & tween::via(int index, Fs... vs) { 32020: points.at(static_cast(index)).via(vs...); 32020: return *this; 32020: } 32020: 32020: template 32020: template 32020: inline tween & tween::during(Ds... ds) { 32020: total = 0; 32020: points.at(points.size() - 2).during(ds...); 32020: for (detail::tweenpoint & p : points) { 32020: total += p.duration(); 32020: p.stacked = total; 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline const T & tween::step(int32_t dt, bool suppress) { 32020: return step(static_cast(dt * currentDirection)/static_cast(total), suppress); 32020: } 32020: 32020: template 32020: inline const T & tween::step(uint32_t dt, bool suppress) { 32020: return step(static_cast(dt), suppress); 32020: } 32020: 32020: template 32020: inline const T & tween::step(float dp, bool suppress) { 32020: seek(currentProgress + dp, true); 32020: if (!suppress) dispatch(onStepCallbacks); 32020: return current; 32020: } 32020: 32020: template 32020: inline const T & tween::seek(float p, bool suppress) { 32020: p = detail::clip(p, 0.0f, 1.0f); 32020: currentProgress = p; 32020: render(p); 32020: if (!suppress) dispatch(onSeekCallbacks); 32020: return current; 32020: } 32020: 32020: template 32020: inline const T & tween::seek(int32_t t, bool suppress) { 32020: return seek(static_cast(t) / static_cast(total), suppress); 32020: } 32020: 32020: template 32020: inline const T & tween::seek(uint32_t t, bool suppress) { 32020: return seek(static_cast(t) / static_cast(total), suppress); 32020: } 32020: 32020: template 32020: inline uint32_t tween::duration() const { 32020: return total; 32020: } 32020: 32020: template 32020: inline void tween::interpolate(float prog, unsigned point, T & value) const { 32020: auto & p = points.at(point); 32020: uint32_t pointDuration = p.duration() - (p.stacked - (prog * static_cast(total))); 32020: float pointTotal = static_cast(pointDuration) / static_cast(p.duration()); 32020: if (pointTotal > 1.0f) pointTotal = 1.0f; 32020: auto easing = std::get<0>(p.easings); 32020: value = easing(pointTotal, std::get<0>(p.values), std::get<0>(points.at(point+1).values)); 32020: } 32020: 32020: template 32020: inline void tween::render(float p) { 32020: currentPoint = pointAt(p); 32020: interpolate(p, currentPoint, current); 32020: } 32020: 32020: template 32020: tween & tween::onStep(typename detail::tweentraits::callbackType callback) { 32020: onStepCallbacks.push_back(callback); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onStep(typename detail::tweentraits::noValuesCallbackType callback) { 32020: onStepCallbacks.push_back([callback](tween & tween, T) { return callback(tween); }); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onStep(typename detail::tweentraits::noTweenCallbackType callback) { 32020: onStepCallbacks.push_back([callback](tween &, T v) { return callback(v); }); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onSeek(typename detail::tweentraits::callbackType callback) { 32020: onSeekCallbacks.push_back(callback); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onSeek(typename detail::tweentraits::noValuesCallbackType callback) { 32020: onSeekCallbacks.push_back([callback](tween & t, T) { return callback(t); }); 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::onSeek(typename detail::tweentraits::noTweenCallbackType callback) { 32020: onSeekCallbacks.push_back([callback](tween &, T v) { return callback(v); }); 32020: return *this; 32020: } 32020: 32020: template 32020: void tween::dispatch(std::vector & cbVector) { 32020: std::vector dismissed; 32020: for (size_t i = 0; i < cbVector.size(); ++i) { 32020: auto && cb = cbVector[i]; 32020: bool dismiss = cb(*this, current); 32020: if (dismiss) dismissed.push_back(i); 32020: } 32020: 32020: if (dismissed.size() > 0) { 32020: for (size_t i = 0; i < dismissed.size(); ++i) { 32020: size_t index = dismissed[i]; 32020: cbVector[index] = cbVector.at(cbVector.size() - 1 - i); 32020: } 32020: cbVector.resize(cbVector.size() - dismissed.size()); 32020: } 32020: } 32020: 32020: template 32020: const T & tween::peek() const { 32020: return current; 32020: } 32020: 32020: 32020: template 32020: T tween::peek(float progress) const { 32020: T value; 32020: interpolate(progress, pointAt(progress), value); 32020: return value; 32020: } 32020: 32020: template 32020: T tween::peek(uint32_t time) const { 32020: T value; 32020: float progress = static_cast(time) / static_cast(total); 32020: interpolate(progress, pointAt(progress), value); 32020: return value; 32020: } 32020: 32020: 32020: template 32020: float tween::progress() const { 32020: return currentProgress; 32020: } 32020: 32020: template 32020: tween & tween::forward() { 32020: currentDirection = 1; 32020: return *this; 32020: } 32020: 32020: template 32020: tween & tween::backward() { 32020: currentDirection = -1; 32020: return *this; 32020: } 32020: 32020: template 32020: int tween::direction() const { 32020: return currentDirection; 32020: } 32020: 32020: template 32020: inline const T & tween::jump(int32_t p, bool suppress) { 32020: p = detail::clip(p, 0, static_cast(points.size() -1)); 32020: return seek(points.at(p).stacked, suppress); 32020: } 32020: 32020: template inline uint16_t tween::point() const { 32020: return currentPoint; 32020: } 32020: 32020: 32020: 32020: template inline uint16_t tween::pointAt(float progress) const { 32020: uint32_t t = static_cast(progress * total); 32020: uint16_t point = 0; 32020: while (t > points.at(point).stacked) point++; 32020: if (point > 0 && t <= points.at(point - 1u).stacked) point--; 32020: return point; 32020: }; 32020: } 32020: # 597 "/usr/include/tweeny/tween.h" 2 32020: # 82 "/usr/include/tweeny/tweeny.h" 2 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace tweeny { 32020: # 98 "/usr/include/tweeny/tweeny.h" 32020: template tween from(Ts... vs); 32020: } 32020: 32020: # 1 "/usr/include/tweeny/tweeny.tcc" 1 32020: # 34 "/usr/include/tweeny/tweeny.tcc" 32020: namespace tweeny { 32020: template inline tween from(Ts... vs) { 32020: return tween::from(vs...); 32020: } 32020: } 32020: # 102 "/usr/include/tweeny/tweeny.h" 2 32020: # 4 "/<>/src/ui/SnackBar.cpp" 2 32020: 32020: # 1 "/<>/src/ui/SnackBar.h" 1 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/QCoreApplication" 1 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: 32020: 32020: 32020: 32020: # 50 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: class QEventPrivate; 32020: class __attribute__((visibility("default"))) QEvent 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 3 4 32020: 32020: 32020: public: 32020: enum Type { 32020: 32020: 32020: 32020: 32020: 32020: 32020: None = 0, 32020: Timer = 1, 32020: MouseButtonPress = 2, 32020: MouseButtonRelease = 3, 32020: MouseButtonDblClick = 4, 32020: MouseMove = 5, 32020: KeyPress = 6, 32020: KeyRelease = 7, 32020: FocusIn = 8, 32020: FocusOut = 9, 32020: FocusAboutToChange = 23, 32020: Enter = 10, 32020: Leave = 11, 32020: Paint = 12, 32020: Move = 13, 32020: Resize = 14, 32020: Create = 15, 32020: Destroy = 16, 32020: Show = 17, 32020: Hide = 18, 32020: Close = 19, 32020: Quit = 20, 32020: ParentChange = 21, 32020: ParentAboutToChange = 131, 32020: ThreadChange = 22, 32020: WindowActivate = 24, 32020: WindowDeactivate = 25, 32020: ShowToParent = 26, 32020: HideToParent = 27, 32020: Wheel = 31, 32020: WindowTitleChange = 33, 32020: WindowIconChange = 34, 32020: ApplicationWindowIconChange = 35, 32020: ApplicationFontChange = 36, 32020: ApplicationLayoutDirectionChange = 37, 32020: ApplicationPaletteChange = 38, 32020: PaletteChange = 39, 32020: Clipboard = 40, 32020: Speech = 42, 32020: MetaCall = 43, 32020: SockAct = 50, 32020: WinEventAct = 132, 32020: DeferredDelete = 52, 32020: DragEnter = 60, 32020: DragMove = 61, 32020: DragLeave = 62, 32020: Drop = 63, 32020: DragResponse = 64, 32020: ChildAdded = 68, 32020: ChildPolished = 69, 32020: ChildRemoved = 71, 32020: ShowWindowRequest = 73, 32020: PolishRequest = 74, 32020: Polish = 75, 32020: LayoutRequest = 76, 32020: UpdateRequest = 77, 32020: UpdateLater = 78, 32020: 32020: EmbeddingControl = 79, 32020: ActivateControl = 80, 32020: DeactivateControl = 81, 32020: ContextMenu = 82, 32020: InputMethod = 83, 32020: TabletMove = 87, 32020: LocaleChange = 88, 32020: LanguageChange = 89, 32020: LayoutDirectionChange = 90, 32020: Style = 91, 32020: TabletPress = 92, 32020: TabletRelease = 93, 32020: OkRequest = 94, 32020: HelpRequest = 95, 32020: 32020: IconDrag = 96, 32020: 32020: FontChange = 97, 32020: EnabledChange = 98, 32020: ActivationChange = 99, 32020: StyleChange = 100, 32020: IconTextChange = 101, 32020: ModifiedChange = 102, 32020: MouseTrackingChange = 109, 32020: 32020: WindowBlocked = 103, 32020: WindowUnblocked = 104, 32020: WindowStateChange = 105, 32020: 32020: ReadOnlyChange = 106, 32020: 32020: ToolTip = 110, 32020: WhatsThis = 111, 32020: StatusTip = 112, 32020: 32020: ActionChanged = 113, 32020: ActionAdded = 114, 32020: ActionRemoved = 115, 32020: 32020: FileOpen = 116, 32020: 32020: Shortcut = 117, 32020: ShortcutOverride = 51, 32020: 32020: WhatsThisClicked = 118, 32020: 32020: ToolBarChange = 120, 32020: 32020: ApplicationActivate = 121, 32020: ApplicationActivated = ApplicationActivate, 32020: ApplicationDeactivate = 122, 32020: ApplicationDeactivated = ApplicationDeactivate, 32020: 32020: QueryWhatsThis = 123, 32020: EnterWhatsThisMode = 124, 32020: LeaveWhatsThisMode = 125, 32020: 32020: ZOrderChange = 126, 32020: 32020: HoverEnter = 127, 32020: HoverLeave = 128, 32020: HoverMove = 129, 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: AcceptDropsChange = 152, 32020: 32020: ZeroTimerEvent = 154, 32020: 32020: GraphicsSceneMouseMove = 155, 32020: GraphicsSceneMousePress = 156, 32020: GraphicsSceneMouseRelease = 157, 32020: GraphicsSceneMouseDoubleClick = 158, 32020: GraphicsSceneContextMenu = 159, 32020: GraphicsSceneHoverEnter = 160, 32020: GraphicsSceneHoverMove = 161, 32020: GraphicsSceneHoverLeave = 162, 32020: GraphicsSceneHelp = 163, 32020: GraphicsSceneDragEnter = 164, 32020: GraphicsSceneDragMove = 165, 32020: GraphicsSceneDragLeave = 166, 32020: GraphicsSceneDrop = 167, 32020: GraphicsSceneWheel = 168, 32020: 32020: KeyboardLayoutChange = 169, 32020: 32020: DynamicPropertyChange = 170, 32020: 32020: TabletEnterProximity = 171, 32020: TabletLeaveProximity = 172, 32020: 32020: NonClientAreaMouseMove = 173, 32020: NonClientAreaMouseButtonPress = 174, 32020: NonClientAreaMouseButtonRelease = 175, 32020: NonClientAreaMouseButtonDblClick = 176, 32020: 32020: MacSizeChange = 177, 32020: 32020: ContentsRectChange = 178, 32020: 32020: MacGLWindowChange = 179, 32020: 32020: FutureCallOut = 180, 32020: 32020: GraphicsSceneResize = 181, 32020: GraphicsSceneMove = 182, 32020: 32020: CursorChange = 183, 32020: ToolTipChange = 184, 32020: 32020: NetworkReplyUpdated = 185, 32020: 32020: GrabMouse = 186, 32020: UngrabMouse = 187, 32020: GrabKeyboard = 188, 32020: UngrabKeyboard = 189, 32020: MacGLClearDrawable = 191, 32020: 32020: StateMachineSignal = 192, 32020: StateMachineWrapped = 193, 32020: 32020: TouchBegin = 194, 32020: TouchUpdate = 195, 32020: TouchEnd = 196, 32020: 32020: 32020: NativeGesture = 197, 32020: 32020: RequestSoftwareInputPanel = 199, 32020: CloseSoftwareInputPanel = 200, 32020: 32020: WinIdChange = 203, 32020: 32020: Gesture = 198, 32020: GestureOverride = 202, 32020: 32020: ScrollPrepare = 204, 32020: Scroll = 205, 32020: 32020: Expose = 206, 32020: 32020: InputMethodQuery = 207, 32020: OrientationChange = 208, 32020: 32020: TouchCancel = 209, 32020: 32020: ThemeChange = 210, 32020: 32020: SockClose = 211, 32020: 32020: PlatformPanel = 212, 32020: 32020: StyleAnimationUpdate = 213, 32020: ApplicationStateChange = 214, 32020: 32020: WindowChangeInternal = 215, 32020: ScreenChangeInternal = 216, 32020: 32020: PlatformSurface = 217, 32020: 32020: Pointer = 218, 32020: 32020: TabletTrackingChange = 219, 32020: 32020: 32020: 32020: 32020: User = 1000, 32020: MaxUser = 65535 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Type) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Type) noexcept { return "Type"; } 32020: 32020: explicit QEvent(Type type); 32020: QEvent(const QEvent &other); 32020: virtual ~QEvent(); 32020: QEvent &operator=(const QEvent &other); 32020: inline Type type() const { return static_cast(t); } 32020: inline bool spontaneous() const { return spont; } 32020: 32020: inline void setAccepted(bool accepted) { m_accept = accepted; } 32020: inline bool isAccepted() const { return m_accept; } 32020: 32020: inline void accept() { m_accept = true; } 32020: inline void ignore() { m_accept = false; } 32020: 32020: static int registerEventType(int hint = -1) noexcept; 32020: 32020: protected: 32020: QEventPrivate *d; 32020: ushort t; 32020: 32020: private: 32020: ushort posted : 1; 32020: ushort spont : 1; 32020: ushort m_accept : 1; 32020: ushort reserved : 13; 32020: 32020: friend class QCoreApplication; 32020: friend class QCoreApplicationPrivate; 32020: friend class QThreadData; 32020: friend class QApplication; 32020: friend class QShortcutMap; 32020: friend class QGraphicsView; 32020: friend class QGraphicsScene; 32020: friend class QGraphicsScenePrivate; 32020: 32020: friend class QSpontaneKeyEvent; 32020: 32020: inline __attribute__((always_inline)) 32020: void setSpontaneous() { spont = true; } 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QTimerEvent : public QEvent 32020: { 32020: public: 32020: explicit QTimerEvent( int timerId ); 32020: ~QTimerEvent(); 32020: int timerId() const { return id; } 32020: protected: 32020: int id; 32020: }; 32020: 32020: class QObject; 32020: 32020: class __attribute__((visibility("default"))) QChildEvent : public QEvent 32020: { 32020: public: 32020: QChildEvent( Type type, QObject *child ); 32020: ~QChildEvent(); 32020: QObject *child() const { return c; } 32020: bool added() const { return type() == ChildAdded; } 32020: bool polished() const { return type() == ChildPolished; } 32020: bool removed() const { return type() == ChildRemoved; } 32020: protected: 32020: QObject *c; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QDynamicPropertyChangeEvent : public QEvent 32020: { 32020: public: 32020: explicit QDynamicPropertyChangeEvent(const QByteArray &name); 32020: ~QDynamicPropertyChangeEvent(); 32020: 32020: inline QByteArray propertyName() const { return n; } 32020: 32020: private: 32020: QByteArray n; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QDeferredDeleteEvent : public QEvent 32020: { 32020: public: 32020: explicit QDeferredDeleteEvent(); 32020: ~QDeferredDeleteEvent(); 32020: int loopLevel() const { return level; } 32020: private: 32020: int level; 32020: friend class QCoreApplication; 32020: }; 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: 32020: 32020: 32020: class QEventLoopPrivate; 32020: 32020: class __attribute__((visibility("default"))) QEventLoop : public QObject 32020: { 32020: public: 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: 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: 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 52 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: struct QPrivateSignal {}; 32020: inline QEventLoopPrivate* d_func() { 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: } inline const QEventLoopPrivate* d_func() const { 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qeventloop.h" 3 4 32020: } friend class QEventLoopPrivate; 32020: 32020: public: 32020: explicit QEventLoop(QObject *parent = nullptr); 32020: ~QEventLoop(); 32020: 32020: enum ProcessEventsFlag { 32020: AllEvents = 0x00, 32020: ExcludeUserInputEvents = 0x01, 32020: ExcludeSocketNotifiers = 0x02, 32020: WaitForMoreEvents = 0x04, 32020: X11ExcludeTimers = 0x08, 32020: EventLoopExec = 0x20, 32020: DialogExec = 0x40 32020: }; 32020: typedef QFlags ProcessEventsFlags; 32020: 32020: bool processEvents(ProcessEventsFlags flags = AllEvents); 32020: void processEvents(ProcessEventsFlags flags, int maximumTime); 32020: 32020: int exec(ProcessEventsFlags flags = AllEvents); 32020: void exit(int returnCode = 0); 32020: bool isRunning() const; 32020: 32020: void wakeUp(); 32020: 32020: bool event(QEvent *event) override; 32020: 32020: public : 32020: void quit(); 32020: }; 32020: 32020: 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); } 32020: 32020: 32020: class QEventLoopLockerPrivate; 32020: 32020: class __attribute__((visibility("default"))) QEventLoopLocker 32020: { 32020: public: 32020: QEventLoopLocker(); 32020: explicit QEventLoopLocker(QEventLoop *loop); 32020: explicit QEventLoopLocker(QThread *thread); 32020: ~QEventLoopLocker(); 32020: 32020: private: 32020: QEventLoopLocker(const QEventLoopLocker &) = delete; QEventLoopLocker &operator=(const QEventLoopLocker &) = delete; 32020: QEventLoopLockerPrivate *d_ptr; 32020: }; 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 2 3 4 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: 32020: 32020: 32020: class QCoreApplicationPrivate; 32020: class QTextCodec; 32020: class QTranslator; 32020: class QPostEventList; 32020: class QStringList; 32020: class QAbstractEventDispatcher; 32020: class QAbstractNativeEventFilter; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QCoreApplication 32020: 32020: : public QObject 32020: 32020: { 32020: 32020: public: 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: 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: 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 78 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: struct QPrivateSignal {}; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: inline QCoreApplicationPrivate* d_func() { 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: } inline const QCoreApplicationPrivate* d_func() const { 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 86 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: } friend class QCoreApplicationPrivate; 32020: public: 32020: enum { ApplicationFlags = ((5<<16)|(15<<8)|(2)) 32020: }; 32020: 32020: QCoreApplication(int &argc, char **argv 32020: 32020: , int = ApplicationFlags 32020: 32020: ); 32020: 32020: ~QCoreApplication(); 32020: 32020: static QStringList arguments(); 32020: 32020: static void setAttribute(Qt::ApplicationAttribute attribute, bool on = true); 32020: static bool testAttribute(Qt::ApplicationAttribute attribute); 32020: 32020: static void setOrganizationDomain(const QString &orgDomain); 32020: static QString organizationDomain(); 32020: static void setOrganizationName(const QString &orgName); 32020: static QString organizationName(); 32020: static void setApplicationName(const QString &application); 32020: static QString applicationName(); 32020: static void setApplicationVersion(const QString &version); 32020: static QString applicationVersion(); 32020: 32020: static void setSetuidAllowed(bool allow); 32020: static bool isSetuidAllowed(); 32020: 32020: static QCoreApplication *instance() { return self; } 32020: 32020: 32020: static int exec(); 32020: static void processEvents(QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents); 32020: static void processEvents(QEventLoop::ProcessEventsFlags flags, int maxtime); 32020: static void exit(int retcode=0); 32020: 32020: static bool sendEvent(QObject *receiver, QEvent *event); 32020: static void postEvent(QObject *receiver, QEvent *event, int priority = Qt::NormalEventPriority); 32020: static void sendPostedEvents(QObject *receiver = nullptr, int event_type = 0); 32020: static void removePostedEvents(QObject *receiver, int eventType = 0); 32020: 32020: __attribute__ ((__deprecated__)) static bool hasPendingEvents(); 32020: 32020: static QAbstractEventDispatcher *eventDispatcher(); 32020: static void setEventDispatcher(QAbstractEventDispatcher *eventDispatcher); 32020: 32020: virtual bool notify(QObject *, QEvent *); 32020: 32020: static bool startingUp(); 32020: static bool closingDown(); 32020: 32020: 32020: static QString applicationDirPath(); 32020: static QString applicationFilePath(); 32020: static qint64 applicationPid() __attribute__((const)); 32020: 32020: 32020: static void setLibraryPaths(const QStringList &); 32020: static QStringList libraryPaths(); 32020: static void addLibraryPath(const QString &); 32020: static void removeLibraryPath(const QString &); 32020: 32020: 32020: 32020: static bool installTranslator(QTranslator * messageFile); 32020: static bool removeTranslator(QTranslator * messageFile); 32020: 32020: 32020: static QString translate(const char * context, 32020: const char * key, 32020: const char * disambiguation = nullptr, 32020: int n = -1); 32020: # 169 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: __attribute__ ((__deprecated__)) static void flush(); 32020: 32020: 32020: void installNativeEventFilter(QAbstractNativeEventFilter *filterObj); 32020: void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj); 32020: 32020: static bool isQuitLockEnabled(); 32020: static void setQuitLockEnabled(bool enabled); 32020: 32020: public : 32020: static void quit(); 32020: 32020: public : 32020: void aboutToQuit(QPrivateSignal); 32020: 32020: void organizationNameChanged(); 32020: void organizationDomainChanged(); 32020: void applicationNameChanged(); 32020: void applicationVersionChanged(); 32020: 32020: protected: 32020: bool event(QEvent *) override; 32020: 32020: virtual bool compressEvent(QEvent *, QObject *receiver, QPostEventList *); 32020: 32020: 32020: protected: 32020: QCoreApplication(QCoreApplicationPrivate &p); 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: 32020: static bool sendSpontaneousEvent(QObject *receiver, QEvent *event); 32020: 32020: __attribute__ ((__deprecated__)) bool notifyInternal(QObject *receiver, QEvent *event); 32020: 32020: static bool notifyInternal2(QObject *receiver, QEvent *); 32020: static bool forwardEvent(QObject *receiver, QEvent *event, QEvent *originatingEvent = nullptr); 32020: 32020: 32020: static QStringList libraryPathsLocked(); 32020: 32020: 32020: static QCoreApplication *self; 32020: 32020: QCoreApplication(const QCoreApplication &) = delete; QCoreApplication &operator=(const QCoreApplication &) = delete; 32020: 32020: friend class QApplication; 32020: friend class QApplicationPrivate; 32020: friend class QGuiApplication; 32020: friend class QGuiApplicationPrivate; 32020: friend class QWidget; 32020: friend class QWidgetWindow; 32020: friend class QWidgetPrivate; 32020: 32020: friend class QEventDispatcherUNIXPrivate; 32020: friend class QCocoaEventDispatcherPrivate; 32020: friend bool qt_sendSpontaneousEvent(QObject*, QEvent*); 32020: 32020: friend __attribute__((visibility("default"))) QString qAppName(); 32020: friend class QClassFactory; 32020: friend class QCommandLineParserPrivate; 32020: }; 32020: # 251 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: typedef void (*QtStartUpFunction)(); 32020: typedef void (*QtCleanUpFunction)(); 32020: 32020: __attribute__((visibility("default"))) void qAddPreRoutine(QtStartUpFunction); 32020: __attribute__((visibility("default"))) void qAddPostRoutine(QtCleanUpFunction); 32020: __attribute__((visibility("default"))) void qRemovePostRoutine(QtCleanUpFunction); 32020: __attribute__((visibility("default"))) QString qAppName(); 32020: # 272 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreapplication.h" 3 4 32020: 32020: # 2 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/QCoreApplication" 2 3 4 32020: # 4 "/<>/src/ui/SnackBar.h" 2 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/QPaintEvent" 1 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 1 3 4 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: 32020: 32020: 32020: 32020: 32020: class QKeySequence; 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &out, QKeySequence &ks); 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QVariant; 32020: class QKeySequencePrivate; 32020: 32020: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QKeySequence &key, uint seed = 0) noexcept; 32020: 32020: class __attribute__((visibility("default"))) QKeySequence 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 73 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 73 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: 32020: # 73 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 73 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 73 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 73 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: 32020: 32020: public: 32020: enum StandardKey { 32020: UnknownKey, 32020: HelpContents, 32020: WhatsThis, 32020: Open, 32020: Close, 32020: Save, 32020: New, 32020: Delete, 32020: Cut, 32020: Copy, 32020: Paste, 32020: Undo, 32020: Redo, 32020: Back, 32020: Forward, 32020: Refresh, 32020: ZoomIn, 32020: ZoomOut, 32020: Print, 32020: AddTab, 32020: NextChild, 32020: PreviousChild, 32020: Find, 32020: FindNext, 32020: FindPrevious, 32020: Replace, 32020: SelectAll, 32020: Bold, 32020: Italic, 32020: Underline, 32020: MoveToNextChar, 32020: MoveToPreviousChar, 32020: MoveToNextWord, 32020: MoveToPreviousWord, 32020: MoveToNextLine, 32020: MoveToPreviousLine, 32020: MoveToNextPage, 32020: MoveToPreviousPage, 32020: MoveToStartOfLine, 32020: MoveToEndOfLine, 32020: MoveToStartOfBlock, 32020: MoveToEndOfBlock, 32020: MoveToStartOfDocument, 32020: MoveToEndOfDocument, 32020: SelectNextChar, 32020: SelectPreviousChar, 32020: SelectNextWord, 32020: SelectPreviousWord, 32020: SelectNextLine, 32020: SelectPreviousLine, 32020: SelectNextPage, 32020: SelectPreviousPage, 32020: SelectStartOfLine, 32020: SelectEndOfLine, 32020: SelectStartOfBlock, 32020: SelectEndOfBlock, 32020: SelectStartOfDocument, 32020: SelectEndOfDocument, 32020: DeleteStartOfWord, 32020: DeleteEndOfWord, 32020: DeleteEndOfLine, 32020: InsertParagraphSeparator, 32020: InsertLineSeparator, 32020: SaveAs, 32020: Preferences, 32020: Quit, 32020: FullScreen, 32020: Deselect, 32020: DeleteCompleteLine, 32020: Backspace, 32020: Cancel 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(StandardKey) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(StandardKey) noexcept { return "StandardKey"; } 32020: 32020: enum SequenceFormat { 32020: NativeText, 32020: PortableText 32020: }; 32020: 32020: QKeySequence(); 32020: QKeySequence(const QString &key, SequenceFormat format = NativeText); 32020: QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0); 32020: QKeySequence(const QKeySequence &ks); 32020: QKeySequence(StandardKey key); 32020: ~QKeySequence(); 32020: 32020: int count() const; 32020: bool isEmpty() const; 32020: 32020: enum SequenceMatch { 32020: NoMatch, 32020: PartialMatch, 32020: ExactMatch 32020: }; 32020: 32020: QString toString(SequenceFormat format = PortableText) const; 32020: static QKeySequence fromString(const QString &str, SequenceFormat format = PortableText); 32020: 32020: static QList listFromString(const QString &str, SequenceFormat format = PortableText); 32020: static QString listToString(const QList &list, SequenceFormat format = PortableText); 32020: 32020: SequenceMatch matches(const QKeySequence &seq) const; 32020: static QKeySequence mnemonic(const QString &text); 32020: static QList keyBindings(StandardKey key); 32020: 32020: 32020: 32020: 32020: 32020: operator QVariant() const; 32020: int operator[](uint i) const; 32020: QKeySequence &operator=(const QKeySequence &other); 32020: QKeySequence &operator=(QKeySequence &&other) noexcept { swap(other); return *this; } 32020: void swap(QKeySequence &other) noexcept { qSwap(d, other.d); } 32020: 32020: bool operator==(const QKeySequence &other) const; 32020: inline bool operator!= (const QKeySequence &other) const 32020: { return !(*this == other); } 32020: bool operator< (const QKeySequence &ks) const; 32020: inline bool operator> (const QKeySequence &other) const 32020: { return other < *this; } 32020: inline bool operator<= (const QKeySequence &other) const 32020: { return !(other < *this); } 32020: inline bool operator>= (const QKeySequence &other) const 32020: { return !(*this < other); } 32020: 32020: bool isDetached() const; 32020: private: 32020: static int decodeString(const QString &ks); 32020: static QString encodeString(int key); 32020: int assign(const QString &str); 32020: int assign(const QString &str, SequenceFormat format); 32020: void setKey(int key, int index); 32020: 32020: QKeySequencePrivate *d; 32020: 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QKeySequence &ks); 32020: friend __attribute__((visibility("default"))) uint qHash(const QKeySequence &key, uint seed) noexcept; 32020: friend class QShortcutMap; 32020: friend class QShortcut; 32020: 32020: public: 32020: typedef QKeySequencePrivate * DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QKeySequence &); 32020: # 241 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qkeysequence.h" 3 4 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qatomic.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 1 3 4 32020: # 57 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: 32020: # 66 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: template inline bool qMapLessThanKey(const Key &key1, const Key &key2) 32020: { 32020: return key1 < key2; 32020: } 32020: 32020: template inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2) 32020: { 32020: return std::less()(key1, key2); 32020: } 32020: 32020: struct QMapDataBase; 32020: template struct QMapData; 32020: 32020: struct __attribute__((visibility("default"))) QMapNodeBase 32020: { 32020: quintptr p; 32020: QMapNodeBase *left; 32020: QMapNodeBase *right; 32020: 32020: enum Color { Red = 0, Black = 1 }; 32020: enum { Mask = 3 }; 32020: 32020: const QMapNodeBase *nextNode() const; 32020: QMapNodeBase *nextNode() { return const_cast(const_cast(this)->nextNode()); } 32020: const QMapNodeBase *previousNode() const; 32020: QMapNodeBase *previousNode() { return const_cast(const_cast(this)->previousNode()); } 32020: 32020: Color color() const { return Color(p & 1); } 32020: void setColor(Color c) { if (c == Black) p |= Black; else p &= ~Black; } 32020: QMapNodeBase *parent() const { return reinterpret_cast(p & ~Mask); } 32020: void setParent(QMapNodeBase *pp) { p = (p & Mask) | quintptr(pp); } 32020: 32020: template 32020: static typename std::enable_if::isComplex>::type 32020: callDestructorIfNecessary(T &t) noexcept { (void)t;; t.~T(); } 32020: template 32020: static typename std::enable_if::isComplex>::type 32020: callDestructorIfNecessary(T &) noexcept {} 32020: }; 32020: 32020: template 32020: struct QMapNode : public QMapNodeBase 32020: { 32020: Key key; 32020: T value; 32020: 32020: inline QMapNode *leftNode() const { return static_cast(left); } 32020: inline QMapNode *rightNode() const { return static_cast(right); } 32020: 32020: inline const QMapNode *nextNode() const { return reinterpret_cast(QMapNodeBase::nextNode()); } 32020: inline const QMapNode *previousNode() const { return static_cast(QMapNodeBase::previousNode()); } 32020: inline QMapNode *nextNode() { return reinterpret_cast(QMapNodeBase::nextNode()); } 32020: inline QMapNode *previousNode() { return static_cast(QMapNodeBase::previousNode()); } 32020: 32020: QMapNode *copy(QMapData *d) const; 32020: 32020: void destroySubTree() 32020: { 32020: callDestructorIfNecessary(key); 32020: callDestructorIfNecessary(value); 32020: doDestroySubTree(std::integral_constant::isComplex || QTypeInfo::isComplex>()); 32020: } 32020: 32020: QMapNode *lowerBound(const Key &key); 32020: QMapNode *upperBound(const Key &key); 32020: 32020: private: 32020: void doDestroySubTree(std::false_type) {} 32020: void doDestroySubTree(std::true_type) 32020: { 32020: if (left) 32020: leftNode()->destroySubTree(); 32020: if (right) 32020: rightNode()->destroySubTree(); 32020: } 32020: 32020: QMapNode() = delete; 32020: QMapNode(const QMapNode &) = delete; QMapNode &operator=(const QMapNode &) = delete; 32020: }; 32020: 32020: template 32020: inline QMapNode *QMapNode::lowerBound(const Key &akey) 32020: { 32020: QMapNode *n = this; 32020: QMapNode *lastNode = nullptr; 32020: while (n) { 32020: if (!qMapLessThanKey(n->key, akey)) { 32020: lastNode = n; 32020: n = n->leftNode(); 32020: } else { 32020: n = n->rightNode(); 32020: } 32020: } 32020: return lastNode; 32020: } 32020: 32020: template 32020: inline QMapNode *QMapNode::upperBound(const Key &akey) 32020: { 32020: QMapNode *n = this; 32020: QMapNode *lastNode = nullptr; 32020: while (n) { 32020: if (qMapLessThanKey(akey, n->key)) { 32020: lastNode = n; 32020: n = n->leftNode(); 32020: } else { 32020: n = n->rightNode(); 32020: } 32020: } 32020: return lastNode; 32020: } 32020: 32020: 32020: 32020: struct __attribute__((visibility("default"))) QMapDataBase 32020: { 32020: QtPrivate::RefCount ref; 32020: int size; 32020: QMapNodeBase header; 32020: QMapNodeBase *mostLeftNode; 32020: 32020: void rotateLeft(QMapNodeBase *x); 32020: void rotateRight(QMapNodeBase *x); 32020: void rebalance(QMapNodeBase *x); 32020: void freeNodeAndRebalance(QMapNodeBase *z); 32020: void recalcMostLeftNode(); 32020: 32020: QMapNodeBase *createNode(int size, int alignment, QMapNodeBase *parent, bool left); 32020: void freeTree(QMapNodeBase *root, int alignment); 32020: 32020: static const QMapDataBase shared_null; 32020: 32020: static QMapDataBase *createData(); 32020: static void freeData(QMapDataBase *d); 32020: }; 32020: 32020: template 32020: struct QMapData : public QMapDataBase 32020: { 32020: typedef QMapNode Node; 32020: 32020: Node *root() const { return static_cast(header.left); } 32020: 32020: 32020: 32020: const Node *end() const { return reinterpret_cast(&header); } 32020: Node *end() { return reinterpret_cast(&header); } 32020: const Node *begin() const { if (root()) return static_cast(mostLeftNode); return end(); } 32020: Node *begin() { if (root()) return static_cast(mostLeftNode); return end(); } 32020: 32020: void deleteNode(Node *z); 32020: Node *findNode(const Key &akey) const; 32020: void nodeRange(const Key &akey, Node **firstNode, Node **lastNode); 32020: 32020: Node *createNode(const Key &k, const T &v, Node *parent = nullptr, bool left = false) 32020: { 32020: Node *n = static_cast(QMapDataBase::createNode(sizeof(Node), alignof(Node), 32020: parent, left)); 32020: try { 32020: new (&n->key) Key(k); 32020: try { 32020: new (&n->value) T(v); 32020: } catch (...) { 32020: n->key.~Key(); 32020: throw; 32020: } 32020: } catch (...) { 32020: QMapDataBase::freeNodeAndRebalance(n); 32020: throw; 32020: } 32020: return n; 32020: } 32020: 32020: static QMapData *create() { 32020: return static_cast(createData()); 32020: } 32020: 32020: void destroy() { 32020: if (root()) { 32020: root()->destroySubTree(); 32020: freeTree(header.left, alignof(Node)); 32020: } 32020: freeData(this); 32020: } 32020: }; 32020: 32020: template 32020: QMapNode *QMapNode::copy(QMapData *d) const 32020: { 32020: QMapNode *n = d->createNode(key, value); 32020: n->setColor(color()); 32020: if (left) { 32020: n->left = leftNode()->copy(d); 32020: n->left->setParent(n); 32020: } else { 32020: n->left = nullptr; 32020: } 32020: if (right) { 32020: n->right = rightNode()->copy(d); 32020: n->right->setParent(n); 32020: } else { 32020: n->right = nullptr; 32020: } 32020: return n; 32020: } 32020: 32020: template 32020: void QMapData::deleteNode(QMapNode *z) 32020: { 32020: QMapNodeBase::callDestructorIfNecessary(z->key); 32020: QMapNodeBase::callDestructorIfNecessary(z->value); 32020: freeNodeAndRebalance(z); 32020: } 32020: 32020: template 32020: QMapNode *QMapData::findNode(const Key &akey) const 32020: { 32020: if (Node *r = root()) { 32020: Node *lb = r->lowerBound(akey); 32020: if (lb && !qMapLessThanKey(akey, lb->key)) 32020: return lb; 32020: } 32020: return nullptr; 32020: } 32020: 32020: 32020: template 32020: void QMapData::nodeRange(const Key &akey, QMapNode **firstNode, QMapNode **lastNode) 32020: { 32020: Node *n = root(); 32020: Node *l = end(); 32020: while (n) { 32020: if (qMapLessThanKey(akey, n->key)) { 32020: l = n; 32020: n = n->leftNode(); 32020: } else if (qMapLessThanKey(n->key, akey)) { 32020: n = n->rightNode(); 32020: } else { 32020: *firstNode = n->leftNode() ? n->leftNode()->lowerBound(akey) : nullptr; 32020: if (!*firstNode) 32020: *firstNode = n; 32020: *lastNode = n->rightNode() ? n->rightNode()->upperBound(akey) : nullptr; 32020: if (!*lastNode) 32020: *lastNode = l; 32020: return; 32020: } 32020: } 32020: *firstNode = *lastNode = l; 32020: } 32020: 32020: 32020: template 32020: class QMap 32020: { 32020: typedef QMapNode Node; 32020: 32020: QMapData *d; 32020: 32020: public: 32020: inline QMap() noexcept : d(static_cast *>(const_cast(&QMapDataBase::shared_null))) { } 32020: inline QMap(std::initializer_list > list) 32020: : d(static_cast *>(const_cast(&QMapDataBase::shared_null))) 32020: { 32020: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 32020: insert(it->first, it->second); 32020: } 32020: QMap(const QMap &other); 32020: 32020: inline ~QMap() { if (!d->ref.deref()) d->destroy(); } 32020: 32020: QMap &operator=(const QMap &other); 32020: inline QMap(QMap &&other) noexcept 32020: : d(other.d) 32020: { 32020: other.d = static_cast *>( 32020: const_cast(&QMapDataBase::shared_null)); 32020: } 32020: 32020: inline QMap &operator=(QMap &&other) noexcept 32020: { QMap moved(std::move(other)); swap(moved); return *this; } 32020: inline void swap(QMap &other) noexcept { qSwap(d, other.d); } 32020: explicit QMap(const typename std::map &other); 32020: std::map toStdMap() const; 32020: 32020: bool operator==(const QMap &other) const; 32020: inline bool operator!=(const QMap &other) const { return !(*this == other); } 32020: 32020: inline int size() const { return d->size; } 32020: 32020: inline bool isEmpty() const { return d->size == 0; } 32020: 32020: inline void detach() { if (d->ref.isShared()) detach_helper(); } 32020: inline bool isDetached() const { return !d->ref.isShared(); } 32020: 32020: inline void setSharable(bool sharable) 32020: { 32020: if (sharable == d->ref.isSharable()) 32020: return; 32020: if (!sharable) 32020: detach(); 32020: 32020: d->ref.setSharable(sharable); 32020: } 32020: 32020: inline bool isSharedWith(const QMap &other) const { return d == other.d; } 32020: 32020: void clear(); 32020: 32020: int remove(const Key &key); 32020: T take(const Key &key); 32020: 32020: bool contains(const Key &key) const; 32020: const Key key(const T &value, const Key &defaultKey = Key()) const; 32020: const T value(const Key &key, const T &defaultValue = T()) const; 32020: T &operator[](const Key &key); 32020: const T operator[](const Key &key) const; 32020: 32020: QList keys() const; 32020: QList keys(const T &value) const; 32020: QList values() const; 32020: 32020: __attribute__ ((__deprecated__("Use QMultiMap for maps storing multiple values with the same key."))) QList uniqueKeys() const; 32020: __attribute__ ((__deprecated__("Use QMultiMap for maps storing multiple values with the same key."))) QList values(const Key &key) const; 32020: 32020: int count(const Key &key) const; 32020: 32020: 32020: inline const Key &firstKey() const { static_cast(false && (!isEmpty())); return constBegin().key(); } 32020: inline const Key &lastKey() const { static_cast(false && (!isEmpty())); return (constEnd() - 1).key(); } 32020: 32020: inline T &first() { static_cast(false && (!isEmpty())); return *begin(); } 32020: inline const T &first() const { static_cast(false && (!isEmpty())); return *constBegin(); } 32020: inline T &last() { static_cast(false && (!isEmpty())); return *(end() - 1); } 32020: inline const T &last() const { static_cast(false && (!isEmpty())); return *(constEnd() - 1); } 32020: 32020: class const_iterator; 32020: 32020: class iterator 32020: { 32020: friend class const_iterator; 32020: Node *i; 32020: 32020: public: 32020: typedef std::bidirectional_iterator_tag iterator_category; 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef T *pointer; 32020: typedef T &reference; 32020: 32020: inline iterator() : i(nullptr) { } 32020: inline iterator(Node *node) : i(node) { } 32020: 32020: inline const Key &key() const { return i->key; } 32020: inline T &value() const { return i->value; } 32020: inline T &operator*() const { return i->value; } 32020: inline T *operator->() const { return &i->value; } 32020: inline bool operator==(const iterator &o) const { return i == o.i; } 32020: inline bool operator!=(const iterator &o) const { return i != o.i; } 32020: 32020: inline iterator &operator++() { 32020: i = i->nextNode(); 32020: return *this; 32020: } 32020: inline iterator operator++(int) { 32020: iterator r = *this; 32020: i = i->nextNode(); 32020: return r; 32020: } 32020: inline iterator &operator--() { 32020: i = i->previousNode(); 32020: return *this; 32020: } 32020: inline iterator operator--(int) { 32020: iterator r = *this; 32020: i = i->previousNode(); 32020: return r; 32020: } 32020: inline iterator operator+(int j) const 32020: { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 32020: inline iterator operator-(int j) const { return operator+(-j); } 32020: inline iterator &operator+=(int j) { return *this = *this + j; } 32020: inline iterator &operator-=(int j) { return *this = *this - j; } 32020: friend inline iterator operator+(int j, iterator k) { return k + j; } 32020: 32020: 32020: public: 32020: inline bool operator==(const const_iterator &o) const 32020: { return i == o.i; } 32020: inline bool operator!=(const const_iterator &o) const 32020: { return i != o.i; } 32020: 32020: friend class QMap; 32020: friend class QMultiMap; 32020: }; 32020: friend class iterator; 32020: 32020: class const_iterator 32020: { 32020: friend class iterator; 32020: const Node *i; 32020: 32020: public: 32020: typedef std::bidirectional_iterator_tag iterator_category; 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef const T *pointer; 32020: typedef const T &reference; 32020: 32020: constexpr inline const_iterator() : i(nullptr) { } 32020: inline const_iterator(const Node *node) : i(node) { } 32020: 32020: 32020: 32020: inline const_iterator(const iterator &o) 32020: 32020: { i = o.i; } 32020: 32020: inline const Key &key() const { return i->key; } 32020: inline const T &value() const { return i->value; } 32020: inline const T &operator*() const { return i->value; } 32020: inline const T *operator->() const { return &i->value; } 32020: constexpr inline bool operator==(const const_iterator &o) const { return i == o.i; } 32020: constexpr inline bool operator!=(const const_iterator &o) const { return i != o.i; } 32020: 32020: inline const_iterator &operator++() { 32020: i = i->nextNode(); 32020: return *this; 32020: } 32020: inline const_iterator operator++(int) { 32020: const_iterator r = *this; 32020: i = i->nextNode(); 32020: return r; 32020: } 32020: inline const_iterator &operator--() { 32020: i = i->previousNode(); 32020: return *this; 32020: } 32020: inline const_iterator operator--(int) { 32020: const_iterator r = *this; 32020: i = i->previousNode(); 32020: return r; 32020: } 32020: inline const_iterator operator+(int j) const 32020: { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 32020: inline const_iterator operator-(int j) const { return operator+(-j); } 32020: inline const_iterator &operator+=(int j) { return *this = *this + j; } 32020: inline const_iterator &operator-=(int j) { return *this = *this - j; } 32020: friend inline const_iterator operator+(int j, const_iterator k) { return k + j; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: friend class QMap; 32020: friend class QMultiMap; 32020: }; 32020: friend class const_iterator; 32020: 32020: class key_iterator 32020: { 32020: const_iterator i; 32020: 32020: public: 32020: typedef typename const_iterator::iterator_category iterator_category; 32020: typedef typename const_iterator::difference_type difference_type; 32020: typedef Key value_type; 32020: typedef const Key *pointer; 32020: typedef const Key &reference; 32020: 32020: key_iterator() = default; 32020: explicit key_iterator(const_iterator o) : i(o) { } 32020: 32020: const Key &operator*() const { return i.key(); } 32020: const Key *operator->() const { return &i.key(); } 32020: bool operator==(key_iterator o) const { return i == o.i; } 32020: bool operator!=(key_iterator o) const { return i != o.i; } 32020: 32020: inline key_iterator &operator++() { ++i; return *this; } 32020: inline key_iterator operator++(int) { return key_iterator(i++);} 32020: inline key_iterator &operator--() { --i; return *this; } 32020: inline key_iterator operator--(int) { return key_iterator(i--); } 32020: const_iterator base() const { return i; } 32020: }; 32020: 32020: typedef QKeyValueIterator const_key_value_iterator; 32020: typedef QKeyValueIterator key_value_iterator; 32020: 32020: 32020: inline iterator begin() { detach(); return iterator(d->begin()); } 32020: inline const_iterator begin() const { return const_iterator(d->begin()); } 32020: inline const_iterator constBegin() const { return const_iterator(d->begin()); } 32020: inline const_iterator cbegin() const { return const_iterator(d->begin()); } 32020: inline iterator end() { detach(); return iterator(d->end()); } 32020: inline const_iterator end() const { return const_iterator(d->end()); } 32020: inline const_iterator constEnd() const { return const_iterator(d->end()); } 32020: inline const_iterator cend() const { return const_iterator(d->end()); } 32020: inline key_iterator keyBegin() const { return key_iterator(begin()); } 32020: inline key_iterator keyEnd() const { return key_iterator(end()); } 32020: inline key_value_iterator keyValueBegin() { return key_value_iterator(begin()); } 32020: inline key_value_iterator keyValueEnd() { return key_value_iterator(end()); } 32020: inline const_key_value_iterator keyValueBegin() const { return const_key_value_iterator(begin()); } 32020: inline const_key_value_iterator constKeyValueBegin() const { return const_key_value_iterator(begin()); } 32020: inline const_key_value_iterator keyValueEnd() const { return const_key_value_iterator(end()); } 32020: inline const_key_value_iterator constKeyValueEnd() const { return const_key_value_iterator(end()); } 32020: iterator erase(iterator it); 32020: 32020: 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: inline int count() const { return d->size; } 32020: iterator find(const Key &key); 32020: const_iterator find(const Key &key) const; 32020: const_iterator constFind(const Key &key) const; 32020: iterator lowerBound(const Key &key); 32020: const_iterator lowerBound(const Key &key) const; 32020: iterator upperBound(const Key &key); 32020: const_iterator upperBound(const Key &key) const; 32020: iterator insert(const Key &key, const T &value); 32020: iterator insert(const_iterator pos, const Key &key, const T &value); 32020: void insert(const QMap &map); 32020: 32020: __attribute__ ((__deprecated__("Use QMultiMap for maps storing multiple values with the same key."))) iterator insertMulti(const Key &key, const T &value); 32020: __attribute__ ((__deprecated__("Use QMultiMap for maps storing multiple values with the same key."))) iterator insertMulti(const_iterator pos, const Key &akey, const T &avalue); 32020: __attribute__ ((__deprecated__("Use QMultiMap for maps storing multiple values with the same key."))) QMap &unite(const QMap &other); 32020: 32020: 32020: 32020: typedef Key key_type; 32020: typedef T mapped_type; 32020: typedef qptrdiff difference_type; 32020: typedef int size_type; 32020: inline bool empty() const { return isEmpty(); } 32020: QPair equal_range(const Key &akey); 32020: QPair equal_range(const Key &akey) const; 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: void detach_helper(); 32020: bool isValidIterator(const const_iterator &ci) const 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: (void)ci;; 32020: return true; 32020: 32020: } 32020: 32020: friend class QMultiMap; 32020: }; 32020: 32020: template 32020: inline QMap::QMap(const QMap &other) 32020: { 32020: if (other.d->ref.ref()) { 32020: d = other.d; 32020: } else { 32020: d = QMapData::create(); 32020: if (other.d->header.left) { 32020: d->header.left = static_cast(other.d->header.left)->copy(d); 32020: d->header.left->setParent(&d->header); 32020: d->recalcMostLeftNode(); 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline QMap &QMap::operator=(const QMap &other) 32020: { 32020: if (d != other.d) { 32020: QMap tmp(other); 32020: tmp.swap(*this); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline void QMap::clear() 32020: { 32020: *this = QMap(); 32020: } 32020: 32020: 32020: # 655 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 655 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: 32020: 32020: 32020: template 32020: inline const T QMap::value(const Key &akey, const T &adefaultValue) const 32020: { 32020: Node *n = d->findNode(akey); 32020: return n ? n->value : adefaultValue; 32020: } 32020: 32020: 32020: # 665 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 665 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: 32020: 32020: template 32020: inline const T QMap::operator[](const Key &akey) const 32020: { 32020: return value(akey); 32020: } 32020: 32020: template 32020: inline T &QMap::operator[](const Key &akey) 32020: { 32020: detach(); 32020: Node *n = d->findNode(akey); 32020: if (!n) 32020: return *insert(akey, T()); 32020: return n->value; 32020: } 32020: 32020: template 32020: inline int QMap::count(const Key &akey) const 32020: { 32020: Node *firstNode; 32020: Node *lastNode; 32020: d->nodeRange(akey, &firstNode, &lastNode); 32020: 32020: const_iterator ci_first(firstNode); 32020: const const_iterator ci_last(lastNode); 32020: int cnt = 0; 32020: while (ci_first != ci_last) { 32020: ++cnt; 32020: ++ci_first; 32020: } 32020: return cnt; 32020: } 32020: 32020: template 32020: inline bool QMap::contains(const Key &akey) const 32020: { 32020: return d->findNode(akey) != nullptr; 32020: } 32020: 32020: template 32020: inline typename QMap::iterator QMap::insert(const Key &akey, const T &avalue) 32020: { 32020: detach(); 32020: Node *n = d->root(); 32020: Node *y = d->end(); 32020: Node *lastNode = nullptr; 32020: bool left = true; 32020: while (n) { 32020: y = n; 32020: if (!qMapLessThanKey(n->key, akey)) { 32020: lastNode = n; 32020: left = true; 32020: n = n->leftNode(); 32020: } else { 32020: left = false; 32020: n = n->rightNode(); 32020: } 32020: } 32020: if (lastNode && !qMapLessThanKey(akey, lastNode->key)) { 32020: lastNode->value = avalue; 32020: return iterator(lastNode); 32020: } 32020: Node *z = d->createNode(akey, avalue, y, left); 32020: return iterator(z); 32020: } 32020: 32020: template 32020: typename QMap::iterator QMap::insert(const_iterator pos, const Key &akey, const T &avalue) 32020: { 32020: if (d->ref.isShared()) 32020: return this->insert(akey, avalue); 32020: 32020: static_cast(false && (isValidIterator(pos))); 32020: 32020: if (pos == constEnd()) { 32020: 32020: Node *n = static_cast(pos.i->left); 32020: if (n) { 32020: while (n->right) 32020: n = static_cast(n->right); 32020: 32020: if (!qMapLessThanKey(n->key, akey)) 32020: return this->insert(akey, avalue); 32020: 32020: 32020: 32020: 32020: Node *z = d->createNode(akey, avalue, n, false); 32020: return iterator(z); 32020: } 32020: return this->insert(akey, avalue); 32020: } else { 32020: 32020: 32020: Node *next = const_cast(pos.i); 32020: if (qMapLessThanKey(next->key, akey)) 32020: return this->insert(akey, avalue); 32020: 32020: if (pos == constBegin()) { 32020: 32020: 32020: if (!qMapLessThanKey(akey, next->key)) { 32020: next->value = avalue; 32020: return iterator(next); 32020: } 32020: 32020: Node *z = d->createNode(akey, avalue, begin().i, true); 32020: return iterator(z); 32020: } else { 32020: Node *prev = const_cast(pos.i->previousNode()); 32020: if (!qMapLessThanKey(prev->key, akey)) { 32020: return this->insert(akey, avalue); 32020: } 32020: 32020: if (!qMapLessThanKey(akey, next->key)) { 32020: next->value = avalue; 32020: return iterator(next); 32020: } 32020: 32020: 32020: if (prev->right == nullptr) { 32020: Node *z = d->createNode(akey, avalue, prev, false); 32020: return iterator(z); 32020: } 32020: if (next->left == nullptr) { 32020: Node *z = d->createNode(akey, avalue, next, true); 32020: return iterator(z); 32020: } 32020: static_cast(false && (false)); 32020: return this->insert(akey, avalue); 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline void QMap::insert(const QMap &map) 32020: { 32020: if (d == map.d) 32020: return; 32020: 32020: detach(); 32020: 32020: Node *n = d->root(); 32020: auto it = map.cbegin(); 32020: const auto e = map.cend(); 32020: while (it != e) { 32020: 32020: auto parent = d->end(); 32020: bool left = true; 32020: Node *lastNode = nullptr; 32020: while (n) { 32020: parent = n; 32020: if (!qMapLessThanKey(n->key, it.key())) { 32020: lastNode = n; 32020: n = n->leftNode(); 32020: left = true; 32020: } else { 32020: n = n->rightNode(); 32020: left = false; 32020: } 32020: } 32020: if (lastNode && !qMapLessThanKey(it.key(), lastNode->key)) { 32020: lastNode->value = it.value(); 32020: n = lastNode; 32020: } else { 32020: n = d->createNode(it.key(), it.value(), parent, left); 32020: } 32020: ++it; 32020: if (it != e) { 32020: 32020: 32020: while (n != d->root() && qMapLessThanKey(n->key, it.key())) 32020: n = static_cast(n->parent()); 32020: } 32020: } 32020: } 32020: 32020: 32020: template 32020: inline typename QMap::const_iterator QMap::constFind(const Key &akey) const 32020: { 32020: Node *n = d->findNode(akey); 32020: return const_iterator(n ? n : d->end()); 32020: } 32020: 32020: template 32020: inline typename QMap::const_iterator QMap::find(const Key &akey) const 32020: { 32020: return constFind(akey); 32020: } 32020: 32020: template 32020: inline typename QMap::iterator QMap::find(const Key &akey) 32020: { 32020: detach(); 32020: Node *n = d->findNode(akey); 32020: return iterator(n ? n : d->end()); 32020: } 32020: 32020: template 32020: QPair::iterator, typename QMap::iterator> QMap::equal_range(const Key &akey) 32020: { 32020: detach(); 32020: Node *firstNode, *lastNode; 32020: d->nodeRange(akey, &firstNode, &lastNode); 32020: return QPair(iterator(firstNode), iterator(lastNode)); 32020: } 32020: 32020: template 32020: QPair::const_iterator, typename QMap::const_iterator> 32020: QMap::equal_range(const Key &akey) const 32020: { 32020: Node *firstNode, *lastNode; 32020: d->nodeRange(akey, &firstNode, &lastNode); 32020: return qMakePair(const_iterator(firstNode), const_iterator(lastNode)); 32020: } 32020: # 906 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qmap.h" 3 4 32020: template 32020: int QMap::remove(const Key &akey) 32020: { 32020: detach(); 32020: int n = 0; 32020: while (Node *node = d->findNode(akey)) { 32020: d->deleteNode(node); 32020: ++n; 32020: } 32020: return n; 32020: } 32020: 32020: template 32020: T QMap::take(const Key &akey) 32020: { 32020: detach(); 32020: 32020: Node *node = d->findNode(akey); 32020: if (node) { 32020: T t = std::move(node->value); 32020: d->deleteNode(node); 32020: return t; 32020: } 32020: return T(); 32020: } 32020: 32020: template 32020: typename QMap::iterator QMap::erase(iterator it) 32020: { 32020: if (it == iterator(d->end())) 32020: return it; 32020: 32020: static_cast(false && (isValidIterator(const_iterator(it)))); 32020: 32020: if (d->ref.isShared()) { 32020: const_iterator oldBegin = constBegin(); 32020: const_iterator old = const_iterator(it); 32020: int backStepsWithSameKey = 0; 32020: 32020: while (old != oldBegin) { 32020: --old; 32020: if (qMapLessThanKey(old.key(), it.key())) 32020: break; 32020: ++backStepsWithSameKey; 32020: } 32020: 32020: it = find(old.key()); 32020: static_cast(false && (it != iterator(d->end()))); 32020: 32020: while (backStepsWithSameKey > 0) { 32020: ++it; 32020: --backStepsWithSameKey; 32020: } 32020: } 32020: 32020: Node *n = it.i; 32020: ++it; 32020: d->deleteNode(n); 32020: return it; 32020: } 32020: 32020: template 32020: void QMap::detach_helper() 32020: { 32020: QMapData *x = QMapData::create(); 32020: if (d->header.left) { 32020: x->header.left = static_cast(d->header.left)->copy(x); 32020: x->header.left->setParent(&x->header); 32020: } 32020: if (!d->ref.deref()) 32020: d->destroy(); 32020: d = x; 32020: d->recalcMostLeftNode(); 32020: } 32020: 32020: template 32020: QList QMap::keys() const 32020: { 32020: QList res; 32020: res.reserve(size()); 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: res.append(i.key()); 32020: ++i; 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: QList QMap::keys(const T &avalue) const 32020: { 32020: QList res; 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: if (i.value() == avalue) 32020: res.append(i.key()); 32020: ++i; 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: const Key QMap::key(const T &avalue, const Key &defaultKey) const 32020: { 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: if (i.value() == avalue) 32020: return i.key(); 32020: ++i; 32020: } 32020: 32020: return defaultKey; 32020: } 32020: 32020: template 32020: QList QMap::values() const 32020: { 32020: QList res; 32020: res.reserve(size()); 32020: const_iterator i = begin(); 32020: while (i != end()) { 32020: res.append(i.value()); 32020: ++i; 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: inline typename QMap::const_iterator QMap::lowerBound(const Key &akey) const 32020: { 32020: Node *lb = d->root() ? d->root()->lowerBound(akey) : nullptr; 32020: if (!lb) 32020: lb = d->end(); 32020: return const_iterator(lb); 32020: } 32020: 32020: template 32020: inline typename QMap::iterator QMap::lowerBound(const Key &akey) 32020: { 32020: detach(); 32020: Node *lb = d->root() ? d->root()->lowerBound(akey) : nullptr; 32020: if (!lb) 32020: lb = d->end(); 32020: return iterator(lb); 32020: } 32020: 32020: template 32020: inline typename QMap::const_iterator 32020: QMap::upperBound(const Key &akey) const 32020: { 32020: Node *ub = d->root() ? d->root()->upperBound(akey) : nullptr; 32020: if (!ub) 32020: ub = d->end(); 32020: return const_iterator(ub); 32020: } 32020: 32020: template 32020: inline typename QMap::iterator QMap::upperBound(const Key &akey) 32020: { 32020: detach(); 32020: Node *ub = d->root() ? d->root()->upperBound(akey) : nullptr; 32020: if (!ub) 32020: ub = d->end(); 32020: return iterator(ub); 32020: } 32020: 32020: template 32020: bool QMap::operator==(const QMap &other) const 32020: { 32020: if (size() != other.size()) 32020: return false; 32020: if (d == other.d) 32020: return true; 32020: 32020: const_iterator it1 = begin(); 32020: const_iterator it2 = other.begin(); 32020: 32020: while (it1 != end()) { 32020: if (!(it1.value() == it2.value()) || qMapLessThanKey(it1.key(), it2.key()) || qMapLessThanKey(it2.key(), it1.key())) 32020: return false; 32020: ++it2; 32020: ++it1; 32020: } 32020: return true; 32020: } 32020: 32020: template 32020: QMap::QMap(const std::map &other) 32020: { 32020: d = QMapData::create(); 32020: typename std::map::const_iterator it = other.end(); 32020: while (it != other.begin()) { 32020: --it; 32020: d->createNode((*it).first, (*it).second, d->begin(), true); 32020: } 32020: } 32020: 32020: template 32020: std::map QMap::toStdMap() const 32020: { 32020: std::map map; 32020: const_iterator it = end(); 32020: while (it != begin()) { 32020: --it; 32020: map.insert(map.begin(), std::pair(it.key(), it.value())); 32020: } 32020: return map; 32020: } 32020: 32020: template 32020: class QMultiMap : public QMap 32020: { 32020: public: 32020: QMultiMap() noexcept {} 32020: inline QMultiMap(std::initializer_list > list) 32020: { 32020: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 32020: insert(it->first, it->second); 32020: } 32020: QMultiMap(const QMap &other) : QMap(other) {} 32020: QMultiMap(QMap &&other) noexcept : QMap(std::move(other)) {} 32020: void swap(QMultiMap &other) noexcept { QMap::swap(other); } 32020: 32020: QList uniqueKeys() const; 32020: QList values(const Key &key) const; 32020: 32020: inline typename QMap::iterator replace(const Key &key, const T &value) 32020: { return QMap::insert(key, value); } 32020: typename QMap::iterator insert(const Key &key, const T &value); 32020: 32020: typename QMap::iterator insert(typename QMap::const_iterator pos, 32020: const Key &key, const T &value); 32020: 32020: 32020: QMultiMap &unite(const QMultiMap &other); 32020: inline QMultiMap &operator+=(const QMultiMap &other) 32020: { return unite(other); } 32020: inline QMultiMap operator+(const QMultiMap &other) const 32020: { QMultiMap result = *this; result += other; return result; } 32020: 32020: using QMap::contains; 32020: using QMap::remove; 32020: using QMap::count; 32020: using QMap::find; 32020: using QMap::constFind; 32020: using QMap::values; 32020: using QMap::size; 32020: using QMap::detach; 32020: using QMap::erase; 32020: using QMap::isValidIterator; 32020: using typename QMap::Node; 32020: 32020: bool contains(const Key &key, const T &value) const; 32020: 32020: int remove(const Key &key, const T &value); 32020: 32020: int count(const Key &key, const T &value) const; 32020: 32020: typename QMap::iterator find(const Key &key, const T &value) { 32020: typename QMap::iterator i(find(key)); 32020: typename QMap::iterator end(this->end()); 32020: while (i != end && !qMapLessThanKey(key, i.key())) { 32020: if (i.value() == value) 32020: return i; 32020: ++i; 32020: } 32020: return end; 32020: } 32020: typename QMap::const_iterator find(const Key &key, const T &value) const { 32020: typename QMap::const_iterator i(constFind(key)); 32020: typename QMap::const_iterator end(QMap::constEnd()); 32020: while (i != end && !qMapLessThanKey(key, i.key())) { 32020: if (i.value() == value) 32020: return i; 32020: ++i; 32020: } 32020: return end; 32020: } 32020: typename QMap::const_iterator constFind(const Key &key, const T &value) const 32020: { return find(key, value); } 32020: private: 32020: T &operator[](const Key &key); 32020: const T operator[](const Key &key) const; 32020: }; 32020: 32020: template 32020: QList QMultiMap::uniqueKeys() const 32020: { 32020: QList res; 32020: res.reserve(size()); 32020: typename QMap::const_iterator i = this->begin(); 32020: if (i != this->end()) { 32020: for (;;) { 32020: const Key &aKey = i.key(); 32020: res.append(aKey); 32020: do { 32020: if (++i == this->end()) 32020: goto break_out_of_outer_loop; 32020: } while (!qMapLessThanKey(aKey, i.key())); 32020: } 32020: } 32020: break_out_of_outer_loop: 32020: return res; 32020: } 32020: 32020: template 32020: QList QMultiMap::values(const Key &akey) const 32020: { 32020: QList res; 32020: Node *n = this->d->findNode(akey); 32020: if (n) { 32020: typename QMap::const_iterator it(n); 32020: do { 32020: res.append(*it); 32020: ++it; 32020: } while (it != this->constEnd() && !qMapLessThanKey(akey, it.key())); 32020: } 32020: return res; 32020: } 32020: 32020: template 32020: inline typename QMap::iterator QMultiMap::insert(const Key &akey, 32020: const T &avalue) 32020: { 32020: detach(); 32020: Node* y = this->d->end(); 32020: Node* x = static_cast(this->d->root()); 32020: bool left = true; 32020: while (x != nullptr) { 32020: left = !qMapLessThanKey(x->key, akey); 32020: y = x; 32020: x = left ? x->leftNode() : x->rightNode(); 32020: } 32020: Node *z = this->d->createNode(akey, avalue, y, left); 32020: return typename QMap::iterator(z); 32020: } 32020: 32020: 32020: template 32020: typename QMap::iterator QMultiMap::insert(typename QMap::const_iterator pos, 32020: const Key &akey, const T &avalue) 32020: { 32020: if (this->d->ref.isShared()) 32020: return insert(akey, avalue); 32020: 32020: static_cast(false && (isValidIterator(pos))); 32020: 32020: if (pos == this->constEnd()) { 32020: 32020: Node *n = static_cast(pos.i->left); 32020: if (n) { 32020: while (n->right) 32020: n = static_cast(n->right); 32020: 32020: if (!qMapLessThanKey(n->key, akey)) 32020: return insert(akey, avalue); 32020: Node *z = this->d->createNode(akey, avalue, n, false); 32020: return typename QMap::iterator(z); 32020: } 32020: return insert(akey, avalue); 32020: } else { 32020: 32020: 32020: Node *next = const_cast(pos.i); 32020: if (qMapLessThanKey(next->key, akey)) 32020: return insert(akey, avalue); 32020: 32020: if (pos == this->constBegin()) { 32020: 32020: Node *z = this->d->createNode(akey, avalue, this->begin().i, true); 32020: return typename QMap::iterator(z); 32020: } else { 32020: Node *prev = const_cast(pos.i->previousNode()); 32020: if (!qMapLessThanKey(prev->key, akey)) 32020: return insert(akey, avalue); 32020: 32020: 32020: if (prev->right == nullptr) { 32020: Node *z = this->d->createNode(akey, avalue, prev, false); 32020: return typename QMap::iterator(z); 32020: } 32020: if (next->left == nullptr) { 32020: Node *z = this->d->createNode(akey, avalue, next, true); 32020: return typename QMap::iterator(z); 32020: } 32020: static_cast(false && (false)); 32020: return insert(akey, avalue); 32020: } 32020: } 32020: } 32020: 32020: template 32020: inline QMultiMap &QMultiMap::unite(const QMultiMap &other) 32020: { 32020: QMultiMap copy(other); 32020: typename QMap::const_iterator it = copy.constEnd(); 32020: const typename QMap::const_iterator b = copy.constBegin(); 32020: while (it != b) { 32020: --it; 32020: insert(it.key(), it.value()); 32020: } 32020: return *this; 32020: } 32020: 32020: 32020: template 32020: inline bool QMultiMap::contains(const Key &key, const T &value) const 32020: { 32020: return constFind(key, value) != QMap::constEnd(); 32020: } 32020: 32020: template 32020: inline int QMultiMap::remove(const Key &key, const T &value) 32020: { 32020: int n = 0; 32020: typename QMap::iterator i(find(key)); 32020: typename QMap::iterator end(QMap::end()); 32020: while (i != end && !qMapLessThanKey(key, i.key())) { 32020: if (i.value() == value) { 32020: i = erase(i); 32020: ++n; 32020: } else { 32020: ++i; 32020: } 32020: } 32020: return n; 32020: } 32020: 32020: template 32020: inline int QMultiMap::count(const Key &key, const T &value) const 32020: { 32020: int n = 0; 32020: typename QMap::const_iterator i(constFind(key)); 32020: typename QMap::const_iterator end(QMap::constEnd()); 32020: while (i != end && !qMapLessThanKey(key, i.key())) { 32020: if (i.value() == value) 32020: ++n; 32020: ++i; 32020: } 32020: return n; 32020: } 32020: 32020: 32020: template 32020: QList QMap::uniqueKeys() const 32020: { 32020: return static_cast *>(this)->uniqueKeys(); 32020: } 32020: 32020: template 32020: QList QMap::values(const Key &key) const 32020: { 32020: return static_cast *>(this)->values(key); 32020: } 32020: 32020: template 32020: typename QMap::iterator QMap::insertMulti(const Key &key, const T &value) 32020: { 32020: return static_cast *>(this)->insert(key, value); 32020: } 32020: 32020: template 32020: typename QMap::iterator QMap::insertMulti(const_iterator pos, const Key &akey, const T &avalue) 32020: { 32020: return static_cast *>(this)->insert(pos, akey, avalue); 32020: } 32020: 32020: template 32020: QMap &QMap::unite(const QMap &other) 32020: { 32020: return static_cast *>(this)->unite(other); 32020: } 32020: 32020: 32020: template class QMapIterator { typedef typename QMap::const_iterator const_iterator; QMap c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: typedef const_iterator Item; 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 { static_cast(false && (item_exists())); return *n; } inline const Key &key() const { static_cast(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; } }; 32020: template class QMutableMapIterator { typedef typename QMap::iterator iterator; typedef typename QMap::const_iterator const_iterator; QMap *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: typedef iterator Item; 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() { static_cast(false && (item_exists())); return *n; } inline const T &value() const { static_cast(false && (item_exists())); return *n; } inline const Key &key() const { static_cast(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; } }; 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qstringlist.h" 1 3 4 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearraylist.h" 1 3 4 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 1 3 4 32020: # 32 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 4 32020: 32020: # 33 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: # 52 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: namespace __detail 32020: { 32020: namespace __variant 32020: { 32020: template 32020: struct _Nth_type; 32020: 32020: template 32020: struct _Nth_type<_Np, _First, _Rest...> 32020: : _Nth_type<_Np-1, _Rest...> { }; 32020: 32020: template 32020: struct _Nth_type<0, _First, _Rest...> 32020: { using type = _First; }; 32020: 32020: } 32020: } 32020: 32020: 32020: 32020: template class tuple; 32020: template class variant; 32020: template struct hash; 32020: 32020: template 32020: struct variant_size; 32020: 32020: template 32020: struct variant_size : variant_size<_Variant> {}; 32020: 32020: template 32020: struct variant_size : variant_size<_Variant> {}; 32020: 32020: template 32020: struct variant_size : variant_size<_Variant> {}; 32020: 32020: template 32020: struct variant_size> 32020: : std::integral_constant {}; 32020: 32020: template 32020: inline constexpr size_t variant_size_v = variant_size<_Variant>::value; 32020: 32020: template 32020: struct variant_alternative; 32020: 32020: template 32020: struct variant_alternative<_Np, variant<_First, _Rest...>> 32020: : variant_alternative<_Np-1, variant<_Rest...>> {}; 32020: 32020: template 32020: struct variant_alternative<0, variant<_First, _Rest...>> 32020: { using type = _First; }; 32020: 32020: template 32020: using variant_alternative_t = 32020: typename variant_alternative<_Np, _Variant>::type; 32020: 32020: template 32020: struct variant_alternative<_Np, const _Variant> 32020: { using type = add_const_t>; }; 32020: 32020: template 32020: struct variant_alternative<_Np, volatile _Variant> 32020: { using type = add_volatile_t>; }; 32020: 32020: template 32020: struct variant_alternative<_Np, const volatile _Variant> 32020: { using type = add_cv_t>; }; 32020: 32020: inline constexpr size_t variant_npos = -1; 32020: 32020: template 32020: constexpr variant_alternative_t<_Np, variant<_Types...>>& 32020: get(variant<_Types...>&); 32020: 32020: template 32020: constexpr variant_alternative_t<_Np, variant<_Types...>>&& 32020: get(variant<_Types...>&&); 32020: 32020: template 32020: constexpr variant_alternative_t<_Np, variant<_Types...>> const& 32020: get(const variant<_Types...>&); 32020: 32020: template 32020: constexpr variant_alternative_t<_Np, variant<_Types...>> const&& 32020: get(const variant<_Types...>&&); 32020: 32020: template 32020: constexpr decltype(auto) 32020: __do_visit(_Visitor&& __visitor, _Variants&&... __variants); 32020: 32020: template 32020: decltype(auto) 32020: __variant_cast(_Tp&& __rhs) 32020: { 32020: if constexpr (is_lvalue_reference_v<_Tp>) 32020: { 32020: if constexpr (is_const_v>) 32020: return static_cast&>(__rhs); 32020: else 32020: return static_cast&>(__rhs); 32020: } 32020: else 32020: return static_cast&&>(__rhs); 32020: } 32020: 32020: namespace __detail 32020: { 32020: namespace __variant 32020: { 32020: 32020: 32020: template 32020: struct __index_of : std::integral_constant {}; 32020: 32020: template 32020: inline constexpr size_t __index_of_v = __index_of<_Tp, _Types...>::value; 32020: 32020: template 32020: struct __index_of<_Tp, _First, _Rest...> : 32020: std::integral_constant 32020: ? 0 : __index_of_v<_Tp, _Rest...> + 1> {}; 32020: 32020: 32020: struct __variant_cookie {}; 32020: 32020: struct __variant_idx_cookie { using type = __variant_idx_cookie; }; 32020: 32020: template struct __deduce_visit_result { }; 32020: 32020: 32020: template 32020: constexpr void 32020: __raw_visit(_Visitor&& __visitor, _Variants&&... __variants) 32020: { 32020: std::__do_visit<__variant_cookie>(std::forward<_Visitor>(__visitor), 32020: std::forward<_Variants>(__variants)...); 32020: } 32020: 32020: 32020: template 32020: constexpr void 32020: __raw_idx_visit(_Visitor&& __visitor, _Variants&&... __variants) 32020: { 32020: std::__do_visit<__variant_idx_cookie>(std::forward<_Visitor>(__visitor), 32020: std::forward<_Variants>(__variants)...); 32020: } 32020: 32020: 32020: 32020: template> 32020: struct _Uninitialized; 32020: 32020: template 32020: struct _Uninitialized<_Type, true> 32020: { 32020: template 32020: constexpr 32020: _Uninitialized(in_place_index_t<0>, _Args&&... __args) 32020: : _M_storage(std::forward<_Args>(__args)...) 32020: { } 32020: 32020: constexpr const _Type& _M_get() const & noexcept 32020: { return _M_storage; } 32020: 32020: constexpr _Type& _M_get() & noexcept 32020: { return _M_storage; } 32020: 32020: constexpr const _Type&& _M_get() const && noexcept 32020: { return std::move(_M_storage); } 32020: 32020: constexpr _Type&& _M_get() && noexcept 32020: { return std::move(_M_storage); } 32020: 32020: _Type _M_storage; 32020: }; 32020: 32020: template 32020: struct _Uninitialized<_Type, false> 32020: { 32020: template 32020: constexpr 32020: _Uninitialized(in_place_index_t<0>, _Args&&... __args) 32020: { 32020: ::new ((void*)std::addressof(_M_storage)) 32020: _Type(std::forward<_Args>(__args)...); 32020: } 32020: 32020: const _Type& _M_get() const & noexcept 32020: { return *_M_storage._M_ptr(); } 32020: 32020: _Type& _M_get() & noexcept 32020: { return *_M_storage._M_ptr(); } 32020: 32020: const _Type&& _M_get() const && noexcept 32020: { return std::move(*_M_storage._M_ptr()); } 32020: 32020: _Type&& _M_get() && noexcept 32020: { return std::move(*_M_storage._M_ptr()); } 32020: 32020: __gnu_cxx::__aligned_membuf<_Type> _M_storage; 32020: }; 32020: 32020: template 32020: constexpr decltype(auto) 32020: __get(in_place_index_t<0>, _Union&& __u) noexcept 32020: { return std::forward<_Union>(__u)._M_first._M_get(); } 32020: 32020: template 32020: constexpr decltype(auto) 32020: __get(in_place_index_t<_Np>, _Union&& __u) noexcept 32020: { 32020: return __variant::__get(in_place_index<_Np-1>, 32020: std::forward<_Union>(__u)._M_rest); 32020: } 32020: 32020: 32020: template 32020: constexpr decltype(auto) 32020: __get(_Variant&& __v) noexcept 32020: { 32020: return __variant::__get(std::in_place_index<_Np>, 32020: std::forward<_Variant>(__v)._M_u); 32020: } 32020: 32020: template 32020: struct _Traits 32020: { 32020: static constexpr bool _S_default_ctor = 32020: is_default_constructible_v::type>; 32020: static constexpr bool _S_copy_ctor = 32020: (is_copy_constructible_v<_Types> && ...); 32020: static constexpr bool _S_move_ctor = 32020: (is_move_constructible_v<_Types> && ...); 32020: static constexpr bool _S_copy_assign = 32020: _S_copy_ctor 32020: && (is_copy_assignable_v<_Types> && ...); 32020: static constexpr bool _S_move_assign = 32020: _S_move_ctor 32020: && (is_move_assignable_v<_Types> && ...); 32020: 32020: static constexpr bool _S_trivial_dtor = 32020: (is_trivially_destructible_v<_Types> && ...); 32020: static constexpr bool _S_trivial_copy_ctor = 32020: (is_trivially_copy_constructible_v<_Types> && ...); 32020: static constexpr bool _S_trivial_move_ctor = 32020: (is_trivially_move_constructible_v<_Types> && ...); 32020: static constexpr bool _S_trivial_copy_assign = 32020: _S_trivial_dtor && _S_trivial_copy_ctor 32020: && (is_trivially_copy_assignable_v<_Types> && ...); 32020: static constexpr bool _S_trivial_move_assign = 32020: _S_trivial_dtor && _S_trivial_move_ctor 32020: && (is_trivially_move_assignable_v<_Types> && ...); 32020: 32020: 32020: 32020: static constexpr bool _S_nothrow_default_ctor = 32020: is_nothrow_default_constructible_v< 32020: typename _Nth_type<0, _Types...>::type>; 32020: static constexpr bool _S_nothrow_copy_ctor = false; 32020: static constexpr bool _S_nothrow_move_ctor = 32020: (is_nothrow_move_constructible_v<_Types> && ...); 32020: static constexpr bool _S_nothrow_copy_assign = false; 32020: static constexpr bool _S_nothrow_move_assign = 32020: _S_nothrow_move_ctor 32020: && (is_nothrow_move_assignable_v<_Types> && ...); 32020: }; 32020: 32020: 32020: template 32020: union _Variadic_union { }; 32020: 32020: template 32020: union _Variadic_union<_First, _Rest...> 32020: { 32020: constexpr _Variadic_union() : _M_rest() { } 32020: 32020: template 32020: constexpr _Variadic_union(in_place_index_t<0>, _Args&&... __args) 32020: : _M_first(in_place_index<0>, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: constexpr _Variadic_union(in_place_index_t<_Np>, _Args&&... __args) 32020: : _M_rest(in_place_index<_Np-1>, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: _Uninitialized<_First> _M_first; 32020: _Variadic_union<_Rest...> _M_rest; 32020: }; 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct _Never_valueless_alt 32020: : __and_, is_trivially_copyable<_Tp>> 32020: { }; 32020: # 368 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: template 32020: constexpr bool __never_valueless() 32020: { 32020: return _Traits<_Types...>::_S_move_assign 32020: && (_Never_valueless_alt<_Types>::value && ...); 32020: } 32020: 32020: 32020: template 32020: struct _Variant_storage; 32020: 32020: template 32020: using __select_index = 32020: typename __select_int::_Select_int_base::type::value_type; 32020: 32020: template 32020: struct _Variant_storage 32020: { 32020: constexpr 32020: _Variant_storage() 32020: : _M_index(static_cast<__index_type>(variant_npos)) 32020: { } 32020: 32020: template 32020: constexpr 32020: _Variant_storage(in_place_index_t<_Np>, _Args&&... __args) 32020: : _M_u(in_place_index<_Np>, std::forward<_Args>(__args)...), 32020: _M_index{_Np} 32020: { } 32020: 32020: void _M_reset() 32020: { 32020: if (!_M_valid()) [[unlikely]] 32020: return; 32020: 32020: std::__do_visit([](auto&& __this_mem) mutable 32020: { 32020: std::_Destroy(std::__addressof(__this_mem)); 32020: }, __variant_cast<_Types...>(*this)); 32020: 32020: _M_index = static_cast<__index_type>(variant_npos); 32020: } 32020: 32020: ~_Variant_storage() 32020: { _M_reset(); } 32020: 32020: void* 32020: _M_storage() const noexcept 32020: { 32020: return const_cast(static_cast( 32020: std::addressof(_M_u))); 32020: } 32020: 32020: constexpr bool 32020: _M_valid() const noexcept 32020: { 32020: if constexpr (__variant::__never_valueless<_Types...>()) 32020: return true; 32020: return this->_M_index != __index_type(variant_npos); 32020: } 32020: 32020: _Variadic_union<_Types...> _M_u; 32020: using __index_type = __select_index<_Types...>; 32020: __index_type _M_index; 32020: }; 32020: 32020: template 32020: struct _Variant_storage 32020: { 32020: constexpr 32020: _Variant_storage() 32020: : _M_index(static_cast<__index_type>(variant_npos)) 32020: { } 32020: 32020: template 32020: constexpr 32020: _Variant_storage(in_place_index_t<_Np>, _Args&&... __args) 32020: : _M_u(in_place_index<_Np>, std::forward<_Args>(__args)...), 32020: _M_index{_Np} 32020: { } 32020: 32020: void _M_reset() noexcept 32020: { _M_index = static_cast<__index_type>(variant_npos); } 32020: 32020: void* 32020: _M_storage() const noexcept 32020: { 32020: return const_cast(static_cast( 32020: std::addressof(_M_u))); 32020: } 32020: 32020: constexpr bool 32020: _M_valid() const noexcept 32020: { 32020: if constexpr (__variant::__never_valueless<_Types...>()) 32020: return true; 32020: return this->_M_index != static_cast<__index_type>(variant_npos); 32020: } 32020: 32020: _Variadic_union<_Types...> _M_u; 32020: using __index_type = __select_index<_Types...>; 32020: __index_type _M_index; 32020: }; 32020: 32020: template 32020: using _Variant_storage_alias = 32020: _Variant_storage<_Traits<_Types...>::_S_trivial_dtor, _Types...>; 32020: 32020: template 32020: void __variant_construct_single(_Tp&& __lhs, _Up&& __rhs_mem) 32020: { 32020: void* __storage = std::addressof(__lhs._M_u); 32020: using _Type = remove_reference_t; 32020: if constexpr (!is_same_v<_Type, __variant_cookie>) 32020: ::new (__storage) 32020: _Type(std::forward(__rhs_mem)); 32020: } 32020: 32020: template 32020: void __variant_construct(_Tp&& __lhs, _Up&& __rhs) 32020: { 32020: __lhs._M_index = __rhs._M_index; 32020: __variant::__raw_visit([&__lhs](auto&& __rhs_mem) mutable 32020: { 32020: __variant_construct_single(std::forward<_Tp>(__lhs), 32020: std::forward(__rhs_mem)); 32020: }, __variant_cast<_Types...>(std::forward<_Up>(__rhs))); 32020: } 32020: 32020: 32020: 32020: 32020: template 32020: struct _Copy_ctor_base : _Variant_storage_alias<_Types...> 32020: { 32020: using _Base = _Variant_storage_alias<_Types...>; 32020: using _Base::_Base; 32020: 32020: _Copy_ctor_base(const _Copy_ctor_base& __rhs) 32020: noexcept(_Traits<_Types...>::_S_nothrow_copy_ctor) 32020: { 32020: __variant_construct<_Types...>(*this, __rhs); 32020: } 32020: 32020: _Copy_ctor_base(_Copy_ctor_base&&) = default; 32020: _Copy_ctor_base& operator=(const _Copy_ctor_base&) = default; 32020: _Copy_ctor_base& operator=(_Copy_ctor_base&&) = default; 32020: }; 32020: 32020: template 32020: struct _Copy_ctor_base : _Variant_storage_alias<_Types...> 32020: { 32020: using _Base = _Variant_storage_alias<_Types...>; 32020: using _Base::_Base; 32020: }; 32020: 32020: template 32020: using _Copy_ctor_alias = 32020: _Copy_ctor_base<_Traits<_Types...>::_S_trivial_copy_ctor, _Types...>; 32020: 32020: template 32020: struct _Move_ctor_base : _Copy_ctor_alias<_Types...> 32020: { 32020: using _Base = _Copy_ctor_alias<_Types...>; 32020: using _Base::_Base; 32020: 32020: _Move_ctor_base(_Move_ctor_base&& __rhs) 32020: noexcept(_Traits<_Types...>::_S_nothrow_move_ctor) 32020: { 32020: __variant_construct<_Types...>(*this, std::move(__rhs)); 32020: } 32020: 32020: template 32020: void _M_destructive_move(unsigned short __rhs_index, _Up&& __rhs) 32020: { 32020: this->_M_reset(); 32020: __variant_construct_single(*this, std::forward<_Up>(__rhs)); 32020: this->_M_index = __rhs_index; 32020: } 32020: 32020: template 32020: void _M_destructive_copy(unsigned short __rhs_index, const _Up& __rhs) 32020: { 32020: this->_M_reset(); 32020: __variant_construct_single(*this, __rhs); 32020: this->_M_index = __rhs_index; 32020: } 32020: 32020: _Move_ctor_base(const _Move_ctor_base&) = default; 32020: _Move_ctor_base& operator=(const _Move_ctor_base&) = default; 32020: _Move_ctor_base& operator=(_Move_ctor_base&&) = default; 32020: }; 32020: 32020: template 32020: struct _Move_ctor_base : _Copy_ctor_alias<_Types...> 32020: { 32020: using _Base = _Copy_ctor_alias<_Types...>; 32020: using _Base::_Base; 32020: 32020: template 32020: void _M_destructive_move(unsigned short __rhs_index, _Up&& __rhs) 32020: { 32020: this->_M_reset(); 32020: __variant_construct_single(*this, std::forward<_Up>(__rhs)); 32020: this->_M_index = __rhs_index; 32020: } 32020: 32020: template 32020: void _M_destructive_copy(unsigned short __rhs_index, const _Up& __rhs) 32020: { 32020: this->_M_reset(); 32020: __variant_construct_single(*this, __rhs); 32020: this->_M_index = __rhs_index; 32020: } 32020: }; 32020: 32020: template 32020: using _Move_ctor_alias = 32020: _Move_ctor_base<_Traits<_Types...>::_S_trivial_move_ctor, _Types...>; 32020: 32020: template 32020: struct _Copy_assign_base : _Move_ctor_alias<_Types...> 32020: { 32020: using _Base = _Move_ctor_alias<_Types...>; 32020: using _Base::_Base; 32020: 32020: _Copy_assign_base& 32020: operator=(const _Copy_assign_base& __rhs) 32020: noexcept(_Traits<_Types...>::_S_nothrow_copy_assign) 32020: { 32020: __variant::__raw_idx_visit( 32020: [this](auto&& __rhs_mem, auto __rhs_index) mutable 32020: { 32020: if constexpr (__rhs_index != variant_npos) 32020: { 32020: if (this->_M_index == __rhs_index) 32020: __variant::__get<__rhs_index>(*this) = __rhs_mem; 32020: else 32020: { 32020: using __rhs_type = __remove_cvref_t; 32020: if constexpr (is_nothrow_copy_constructible_v<__rhs_type> 32020: || !is_nothrow_move_constructible_v<__rhs_type>) 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: this->_M_destructive_copy(__rhs_index, __rhs_mem); 32020: else 32020: __variant_cast<_Types...>(*this) 32020: = variant<_Types...>(std::in_place_index<__rhs_index>, 32020: __rhs_mem); 32020: } 32020: } 32020: else 32020: this->_M_reset(); 32020: }, __variant_cast<_Types...>(__rhs)); 32020: return *this; 32020: } 32020: 32020: _Copy_assign_base(const _Copy_assign_base&) = default; 32020: _Copy_assign_base(_Copy_assign_base&&) = default; 32020: _Copy_assign_base& operator=(_Copy_assign_base&&) = default; 32020: }; 32020: 32020: template 32020: struct _Copy_assign_base : _Move_ctor_alias<_Types...> 32020: { 32020: using _Base = _Move_ctor_alias<_Types...>; 32020: using _Base::_Base; 32020: }; 32020: 32020: template 32020: using _Copy_assign_alias = 32020: _Copy_assign_base<_Traits<_Types...>::_S_trivial_copy_assign, _Types...>; 32020: 32020: template 32020: struct _Move_assign_base : _Copy_assign_alias<_Types...> 32020: { 32020: using _Base = _Copy_assign_alias<_Types...>; 32020: using _Base::_Base; 32020: 32020: _Move_assign_base& 32020: operator=(_Move_assign_base&& __rhs) 32020: noexcept(_Traits<_Types...>::_S_nothrow_move_assign) 32020: { 32020: __variant::__raw_idx_visit( 32020: [this](auto&& __rhs_mem, auto __rhs_index) mutable 32020: { 32020: if constexpr (__rhs_index != variant_npos) 32020: { 32020: if (this->_M_index == __rhs_index) 32020: __variant::__get<__rhs_index>(*this) = std::move(__rhs_mem); 32020: else 32020: __variant_cast<_Types...>(*this) 32020: .template emplace<__rhs_index>(std::move(__rhs_mem)); 32020: } 32020: else 32020: this->_M_reset(); 32020: }, __variant_cast<_Types...>(__rhs)); 32020: return *this; 32020: } 32020: 32020: _Move_assign_base(const _Move_assign_base&) = default; 32020: _Move_assign_base(_Move_assign_base&&) = default; 32020: _Move_assign_base& operator=(const _Move_assign_base&) = default; 32020: }; 32020: 32020: template 32020: struct _Move_assign_base : _Copy_assign_alias<_Types...> 32020: { 32020: using _Base = _Copy_assign_alias<_Types...>; 32020: using _Base::_Base; 32020: }; 32020: 32020: template 32020: using _Move_assign_alias = 32020: _Move_assign_base<_Traits<_Types...>::_S_trivial_move_assign, _Types...>; 32020: 32020: template 32020: struct _Variant_base : _Move_assign_alias<_Types...> 32020: { 32020: using _Base = _Move_assign_alias<_Types...>; 32020: 32020: constexpr 32020: _Variant_base() 32020: noexcept(_Traits<_Types...>::_S_nothrow_default_ctor) 32020: : _Variant_base(in_place_index<0>) { } 32020: 32020: template 32020: constexpr explicit 32020: _Variant_base(in_place_index_t<_Np> __i, _Args&&... __args) 32020: : _Base(__i, std::forward<_Args>(__args)...) 32020: { } 32020: 32020: _Variant_base(const _Variant_base&) = default; 32020: _Variant_base(_Variant_base&&) = default; 32020: _Variant_base& operator=(const _Variant_base&) = default; 32020: _Variant_base& operator=(_Variant_base&&) = default; 32020: }; 32020: 32020: 32020: template 32020: struct __tuple_count; 32020: 32020: template 32020: inline constexpr size_t __tuple_count_v = 32020: __tuple_count<_Tp, _Tuple>::value; 32020: 32020: template 32020: struct __tuple_count<_Tp, tuple<_Types...>> 32020: : integral_constant { }; 32020: 32020: template 32020: struct __tuple_count<_Tp, tuple<_First, _Rest...>> 32020: : integral_constant< 32020: size_t, 32020: __tuple_count_v<_Tp, tuple<_Rest...>> + is_same_v<_Tp, _First>> { }; 32020: 32020: 32020: template 32020: inline constexpr bool __exactly_once = 32020: __tuple_count_v<_Tp, tuple<_Types...>> == 1; 32020: 32020: 32020: template struct _Arr { _Ti _M_x[1]; }; 32020: 32020: 32020: template, bool>, 32020: typename = void> 32020: struct _Build_FUN 32020: { 32020: 32020: 32020: void _S_fun(); 32020: }; 32020: 32020: 32020: template 32020: struct _Build_FUN<_Ind, _Tp, _Ti, false, 32020: void_t{{std::declval<_Tp>()}})>> 32020: { 32020: 32020: static integral_constant _S_fun(_Ti); 32020: }; 32020: 32020: 32020: template 32020: struct _Build_FUN<_Ind, _Tp, _Ti, true, 32020: enable_if_t, bool>>> 32020: { 32020: 32020: static integral_constant _S_fun(_Ti); 32020: }; 32020: 32020: template>> 32020: struct _Build_FUNs; 32020: 32020: template 32020: struct _Build_FUNs<_Tp, variant<_Ti...>, index_sequence<_Ind...>> 32020: : _Build_FUN<_Ind, _Tp, _Ti>... 32020: { 32020: using _Build_FUN<_Ind, _Tp, _Ti>::_S_fun...; 32020: }; 32020: 32020: 32020: 32020: template 32020: using _FUN_type 32020: = decltype(_Build_FUNs<_Tp, _Variant>::_S_fun(std::declval<_Tp>())); 32020: 32020: 32020: template 32020: struct __accepted_index 32020: : integral_constant 32020: { }; 32020: 32020: template 32020: struct __accepted_index<_Tp, _Variant, void_t<_FUN_type<_Tp, _Variant>>> 32020: : _FUN_type<_Tp, _Variant> 32020: { }; 32020: 32020: 32020: template 32020: void* __get_storage(_Variant&& __v) noexcept 32020: { return __v._M_storage(); } 32020: 32020: template 32020: struct _Extra_visit_slot_needed 32020: { 32020: template struct _Variant_never_valueless; 32020: 32020: template 32020: struct _Variant_never_valueless> 32020: : bool_constant<__variant::__never_valueless<_Types...>()> {}; 32020: 32020: static constexpr bool value = 32020: (is_same_v<_Maybe_variant_cookie, __variant_cookie> 32020: || is_same_v<_Maybe_variant_cookie, __variant_idx_cookie>) 32020: && !_Variant_never_valueless<__remove_cvref_t<_Variant>>::value; 32020: }; 32020: 32020: 32020: template 32020: struct _Multi_array; 32020: 32020: 32020: template 32020: struct _Multi_array<_Tp> 32020: { 32020: template 32020: struct __untag_result 32020: : false_type 32020: { using element_type = _Tp; }; 32020: 32020: template 32020: struct __untag_result 32020: : false_type 32020: { using element_type = void(*)(_Args...); }; 32020: 32020: template 32020: struct __untag_result<__variant_cookie(*)(_Args...)> 32020: : false_type 32020: { using element_type = void(*)(_Args...); }; 32020: 32020: template 32020: struct __untag_result<__variant_idx_cookie(*)(_Args...)> 32020: : false_type 32020: { using element_type = void(*)(_Args...); }; 32020: 32020: template 32020: struct __untag_result<__deduce_visit_result<_Res>(*)(_Args...)> 32020: : true_type 32020: { using element_type = _Res(*)(_Args...); }; 32020: 32020: using __result_is_deduced = __untag_result<_Tp>; 32020: 32020: constexpr const typename __untag_result<_Tp>::element_type& 32020: _M_access() const 32020: { return _M_data; } 32020: 32020: typename __untag_result<_Tp>::element_type _M_data; 32020: }; 32020: 32020: 32020: template 32020: struct _Multi_array<_Ret(*)(_Visitor, _Variants...), __first, __rest...> 32020: { 32020: static constexpr size_t __index = 32020: sizeof...(_Variants) - sizeof...(__rest) - 1; 32020: 32020: using _Variant = typename _Nth_type<__index, _Variants...>::type; 32020: 32020: static constexpr int __do_cookie = 32020: _Extra_visit_slot_needed<_Ret, _Variant>::value ? 1 : 0; 32020: 32020: using _Tp = _Ret(*)(_Visitor, _Variants...); 32020: 32020: template 32020: constexpr decltype(auto) 32020: _M_access(size_t __first_index, _Args... __rest_indices) const 32020: { 32020: return _M_arr[__first_index + __do_cookie] 32020: ._M_access(__rest_indices...); 32020: } 32020: 32020: _Multi_array<_Tp, __rest...> _M_arr[__first + __do_cookie]; 32020: }; 32020: # 913 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: template 32020: struct __gen_vtable_impl; 32020: # 923 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: template 32020: struct __gen_vtable_impl< 32020: _Multi_array<_Result_type (*)(_Visitor, _Variants...), __dimensions...>, 32020: std::index_sequence<__indices...>> 32020: { 32020: using _Next = 32020: remove_reference_t::type>; 32020: using _Array_type = 32020: _Multi_array<_Result_type (*)(_Visitor, _Variants...), 32020: __dimensions...>; 32020: 32020: static constexpr _Array_type 32020: _S_apply() 32020: { 32020: _Array_type __vtable{}; 32020: _S_apply_all_alts( 32020: __vtable, make_index_sequence>()); 32020: return __vtable; 32020: } 32020: 32020: template 32020: static constexpr void 32020: _S_apply_all_alts(_Array_type& __vtable, 32020: std::index_sequence<__var_indices...>) 32020: { 32020: if constexpr (_Extra_visit_slot_needed<_Result_type, _Next>::value) 32020: (_S_apply_single_alt( 32020: __vtable._M_arr[__var_indices + 1], 32020: &(__vtable._M_arr[0])), ...); 32020: else 32020: (_S_apply_single_alt( 32020: __vtable._M_arr[__var_indices]), ...); 32020: } 32020: 32020: template 32020: static constexpr void 32020: _S_apply_single_alt(_Tp& __element, _Tp* __cookie_element = nullptr) 32020: { 32020: if constexpr (__do_cookie) 32020: { 32020: __element = __gen_vtable_impl< 32020: _Tp, 32020: std::index_sequence<__indices..., __index>>::_S_apply(); 32020: *__cookie_element = __gen_vtable_impl< 32020: _Tp, 32020: std::index_sequence<__indices..., variant_npos>>::_S_apply(); 32020: } 32020: else 32020: { 32020: __element = __gen_vtable_impl< 32020: remove_reference_t, 32020: std::index_sequence<__indices..., __index>>::_S_apply(); 32020: } 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: template 32020: struct __gen_vtable_impl< 32020: _Multi_array<_Result_type (*)(_Visitor, _Variants...)>, 32020: std::index_sequence<__indices...>> 32020: { 32020: using _Array_type = 32020: _Multi_array<_Result_type (*)(_Visitor, _Variants...)>; 32020: 32020: template 32020: static constexpr decltype(auto) 32020: __element_by_index_or_cookie(_Variant&& __var) noexcept 32020: { 32020: if constexpr (__index != variant_npos) 32020: return __variant::__get<__index>(std::forward<_Variant>(__var)); 32020: else 32020: return __variant_cookie{}; 32020: } 32020: 32020: static constexpr decltype(auto) 32020: __visit_invoke(_Visitor&& __visitor, _Variants... __vars) 32020: { 32020: if constexpr (is_same_v<_Result_type, __variant_idx_cookie>) 32020: 32020: 32020: std::__invoke(std::forward<_Visitor>(__visitor), 32020: __element_by_index_or_cookie<__indices>( 32020: std::forward<_Variants>(__vars))..., 32020: integral_constant()...); 32020: else if constexpr (is_same_v<_Result_type, __variant_cookie>) 32020: 32020: std::__invoke(std::forward<_Visitor>(__visitor), 32020: __element_by_index_or_cookie<__indices>( 32020: std::forward<_Variants>(__vars))...); 32020: else if constexpr (_Array_type::__result_is_deduced::value) 32020: 32020: return std::__invoke(std::forward<_Visitor>(__visitor), 32020: __element_by_index_or_cookie<__indices>( 32020: std::forward<_Variants>(__vars))...); 32020: else 32020: return std::__invoke_r<_Result_type>( 32020: std::forward<_Visitor>(__visitor), 32020: __variant::__get<__indices>(std::forward<_Variants>(__vars))...); 32020: } 32020: 32020: static constexpr auto 32020: _S_apply() 32020: { return _Array_type{&__visit_invoke}; } 32020: }; 32020: 32020: template 32020: struct __gen_vtable 32020: { 32020: using _Array_type = 32020: _Multi_array<_Result_type (*)(_Visitor, _Variants...), 32020: variant_size_v>...>; 32020: 32020: static constexpr _Array_type _S_vtable 32020: = __gen_vtable_impl<_Array_type, std::index_sequence<>>::_S_apply(); 32020: }; 32020: 32020: template 32020: struct _Base_dedup : public _Tp { }; 32020: 32020: template 32020: struct _Variant_hash_base; 32020: 32020: template 32020: struct _Variant_hash_base, 32020: std::index_sequence<__indices...>> 32020: : _Base_dedup<__indices, __poison_hash>>... { }; 32020: 32020: } 32020: } 32020: 32020: template 32020: void __variant_construct_by_index(_Variant& __v, _Args&&... __args) 32020: { 32020: __v._M_index = _Np; 32020: auto&& __storage = __detail::__variant::__get<_Np>(__v); 32020: ::new ((void*)std::addressof(__storage)) 32020: remove_reference_t 32020: (std::forward<_Args>(__args)...); 32020: } 32020: 32020: template 32020: constexpr bool 32020: holds_alternative(const variant<_Types...>& __v) noexcept 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: return __v.index() == __detail::__variant::__index_of_v<_Tp, _Types...>; 32020: } 32020: 32020: template 32020: constexpr _Tp& get(variant<_Types...>& __v) 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: static_assert(!is_void_v<_Tp>, "_Tp must not be void"); 32020: return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>(__v); 32020: } 32020: 32020: template 32020: constexpr _Tp&& get(variant<_Types...>&& __v) 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: static_assert(!is_void_v<_Tp>, "_Tp must not be void"); 32020: return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>( 32020: std::move(__v)); 32020: } 32020: 32020: template 32020: constexpr const _Tp& get(const variant<_Types...>& __v) 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: static_assert(!is_void_v<_Tp>, "_Tp must not be void"); 32020: return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>(__v); 32020: } 32020: 32020: template 32020: constexpr const _Tp&& get(const variant<_Types...>&& __v) 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: static_assert(!is_void_v<_Tp>, "_Tp must not be void"); 32020: return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>( 32020: std::move(__v)); 32020: } 32020: 32020: template 32020: constexpr add_pointer_t>> 32020: get_if(variant<_Types...>* __ptr) noexcept 32020: { 32020: using _Alternative_type = variant_alternative_t<_Np, variant<_Types...>>; 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: static_assert(!is_void_v<_Alternative_type>, "_Tp must not be void"); 32020: if (__ptr && __ptr->index() == _Np) 32020: return std::addressof(__detail::__variant::__get<_Np>(*__ptr)); 32020: return nullptr; 32020: } 32020: 32020: template 32020: constexpr 32020: add_pointer_t>> 32020: get_if(const variant<_Types...>* __ptr) noexcept 32020: { 32020: using _Alternative_type = variant_alternative_t<_Np, variant<_Types...>>; 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: static_assert(!is_void_v<_Alternative_type>, "_Tp must not be void"); 32020: if (__ptr && __ptr->index() == _Np) 32020: return std::addressof(__detail::__variant::__get<_Np>(*__ptr)); 32020: return nullptr; 32020: } 32020: 32020: template 32020: constexpr add_pointer_t<_Tp> 32020: get_if(variant<_Types...>* __ptr) noexcept 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: static_assert(!is_void_v<_Tp>, "_Tp must not be void"); 32020: return std::get_if<__detail::__variant::__index_of_v<_Tp, _Types...>>( 32020: __ptr); 32020: } 32020: 32020: template 32020: constexpr add_pointer_t 32020: get_if(const variant<_Types...>* __ptr) noexcept 32020: { 32020: static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, 32020: "T must occur exactly once in alternatives"); 32020: static_assert(!is_void_v<_Tp>, "_Tp must not be void"); 32020: return std::get_if<__detail::__variant::__index_of_v<_Tp, _Types...>>( 32020: __ptr); 32020: } 32020: 32020: struct monostate { }; 32020: # 1192 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: template constexpr bool operator <(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { bool __ret = true; __detail::__variant::__raw_idx_visit( [&__ret, &__lhs] (auto&& __rhs_mem, auto __rhs_index) mutable { if constexpr (__rhs_index != variant_npos) { if (__lhs.index() == __rhs_index) { auto& __this_mem = std::get<__rhs_index>(__lhs); __ret = __this_mem < __rhs_mem; } else __ret = (__lhs.index() + 1) < (__rhs_index + 1); } else __ret = (__lhs.index() + 1) < (__rhs_index + 1); }, __rhs); return __ret; } 32020: template constexpr bool operator <=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { bool __ret = true; __detail::__variant::__raw_idx_visit( [&__ret, &__lhs] (auto&& __rhs_mem, auto __rhs_index) mutable { if constexpr (__rhs_index != variant_npos) { if (__lhs.index() == __rhs_index) { auto& __this_mem = std::get<__rhs_index>(__lhs); __ret = __this_mem <= __rhs_mem; } else __ret = (__lhs.index() + 1) <= (__rhs_index + 1); } else __ret = (__lhs.index() + 1) <= (__rhs_index + 1); }, __rhs); return __ret; } 32020: template constexpr bool operator ==(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { bool __ret = true; __detail::__variant::__raw_idx_visit( [&__ret, &__lhs] (auto&& __rhs_mem, auto __rhs_index) mutable { if constexpr (__rhs_index != variant_npos) { if (__lhs.index() == __rhs_index) { auto& __this_mem = std::get<__rhs_index>(__lhs); __ret = __this_mem == __rhs_mem; } else __ret = (__lhs.index() + 1) == (__rhs_index + 1); } else __ret = (__lhs.index() + 1) == (__rhs_index + 1); }, __rhs); return __ret; } 32020: template constexpr bool operator !=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { bool __ret = true; __detail::__variant::__raw_idx_visit( [&__ret, &__lhs] (auto&& __rhs_mem, auto __rhs_index) mutable { if constexpr (__rhs_index != variant_npos) { if (__lhs.index() == __rhs_index) { auto& __this_mem = std::get<__rhs_index>(__lhs); __ret = __this_mem != __rhs_mem; } else __ret = (__lhs.index() + 1) != (__rhs_index + 1); } else __ret = (__lhs.index() + 1) != (__rhs_index + 1); }, __rhs); return __ret; } 32020: template constexpr bool operator >=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { bool __ret = true; __detail::__variant::__raw_idx_visit( [&__ret, &__lhs] (auto&& __rhs_mem, auto __rhs_index) mutable { if constexpr (__rhs_index != variant_npos) { if (__lhs.index() == __rhs_index) { auto& __this_mem = std::get<__rhs_index>(__lhs); __ret = __this_mem >= __rhs_mem; } else __ret = (__lhs.index() + 1) >= (__rhs_index + 1); } else __ret = (__lhs.index() + 1) >= (__rhs_index + 1); }, __rhs); return __ret; } 32020: template constexpr bool operator >(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { bool __ret = true; __detail::__variant::__raw_idx_visit( [&__ret, &__lhs] (auto&& __rhs_mem, auto __rhs_index) mutable { if constexpr (__rhs_index != variant_npos) { if (__lhs.index() == __rhs_index) { auto& __this_mem = std::get<__rhs_index>(__lhs); __ret = __this_mem > __rhs_mem; } else __ret = (__lhs.index() + 1) > (__rhs_index + 1); } else __ret = (__lhs.index() + 1) > (__rhs_index + 1); }, __rhs); return __ret; } 32020: 32020: 32020: 32020: constexpr bool operator==(monostate, monostate) noexcept { return true; } 32020: # 1233 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: constexpr bool operator!=(monostate, monostate) noexcept { return false; } 32020: constexpr bool operator<(monostate, monostate) noexcept { return false; } 32020: constexpr bool operator>(monostate, monostate) noexcept { return false; } 32020: constexpr bool operator<=(monostate, monostate) noexcept { return true; } 32020: constexpr bool operator>=(monostate, monostate) noexcept { return true; } 32020: 32020: 32020: template 32020: constexpr decltype(auto) visit(_Visitor&&, _Variants&&...); 32020: 32020: template 32020: inline enable_if_t<(is_move_constructible_v<_Types> && ...) 32020: && (is_swappable_v<_Types> && ...)> 32020: swap(variant<_Types...>& __lhs, variant<_Types...>& __rhs) 32020: noexcept(noexcept(__lhs.swap(__rhs))) 32020: { __lhs.swap(__rhs); } 32020: 32020: template 32020: enable_if_t && ...) 32020: && (is_swappable_v<_Types> && ...))> 32020: swap(variant<_Types...>&, variant<_Types...>&) = delete; 32020: 32020: class bad_variant_access : public exception 32020: { 32020: public: 32020: bad_variant_access() noexcept { } 32020: 32020: const char* what() const noexcept override 32020: { return _M_reason; } 32020: 32020: private: 32020: bad_variant_access(const char* __reason) noexcept : _M_reason(__reason) { } 32020: 32020: 32020: const char* _M_reason = "bad variant access"; 32020: 32020: friend void __throw_bad_variant_access(const char* __what); 32020: }; 32020: 32020: 32020: inline void 32020: __throw_bad_variant_access(const char* __what) 32020: { (throw (bad_variant_access(__what))); } 32020: 32020: inline void 32020: __throw_bad_variant_access(bool __valueless) 32020: { 32020: if (__valueless) [[__unlikely__]] 32020: __throw_bad_variant_access("std::get: variant is valueless"); 32020: else 32020: __throw_bad_variant_access("std::get: wrong index for variant"); 32020: } 32020: 32020: template 32020: class variant 32020: : private __detail::__variant::_Variant_base<_Types...>, 32020: private _Enable_default_constructor< 32020: __detail::__variant::_Traits<_Types...>::_S_default_ctor, 32020: variant<_Types...>>, 32020: private _Enable_copy_move< 32020: __detail::__variant::_Traits<_Types...>::_S_copy_ctor, 32020: __detail::__variant::_Traits<_Types...>::_S_copy_assign, 32020: __detail::__variant::_Traits<_Types...>::_S_move_ctor, 32020: __detail::__variant::_Traits<_Types...>::_S_move_assign, 32020: variant<_Types...>> 32020: { 32020: private: 32020: template 32020: friend decltype(auto) __variant_cast(_Tp&&); 32020: template 32020: friend void __variant_construct_by_index(_Variant& __v, 32020: _Args&&... __args); 32020: 32020: static_assert(sizeof...(_Types) > 0, 32020: "variant must have at least one alternative"); 32020: static_assert(!(std::is_reference_v<_Types> || ...), 32020: "variant must have no reference alternative"); 32020: static_assert(!(std::is_void_v<_Types> || ...), 32020: "variant must have no void alternative"); 32020: 32020: using _Base = __detail::__variant::_Variant_base<_Types...>; 32020: using _Default_ctor_enabler = 32020: _Enable_default_constructor< 32020: __detail::__variant::_Traits<_Types...>::_S_default_ctor, 32020: variant<_Types...>>; 32020: 32020: template 32020: static constexpr bool __not_self 32020: = !is_same_v<__remove_cvref_t<_Tp>, variant>; 32020: 32020: template 32020: static constexpr bool 32020: __exactly_once = __detail::__variant::__exactly_once<_Tp, _Types...>; 32020: 32020: template 32020: static constexpr size_t __accepted_index 32020: = __detail::__variant::__accepted_index<_Tp, variant>::value; 32020: 32020: template> 32020: using __to_type = variant_alternative_t<_Np, variant>; 32020: 32020: template>> 32020: using __accepted_type = __to_type<__accepted_index<_Tp>>; 32020: 32020: template 32020: static constexpr size_t __index_of = 32020: __detail::__variant::__index_of_v<_Tp, _Types...>; 32020: 32020: using _Traits = __detail::__variant::_Traits<_Types...>; 32020: 32020: template 32020: struct __is_in_place_tag : false_type { }; 32020: template 32020: struct __is_in_place_tag> : true_type { }; 32020: template 32020: struct __is_in_place_tag> : true_type { }; 32020: 32020: template 32020: static constexpr bool __not_in_place_tag 32020: = !__is_in_place_tag<__remove_cvref_t<_Tp>>::value; 32020: 32020: public: 32020: variant() = default; 32020: variant(const variant& __rhs) = default; 32020: variant(variant&&) = default; 32020: variant& operator=(const variant&) = default; 32020: variant& operator=(variant&&) = default; 32020: ~variant() = default; 32020: 32020: template, 32020: typename = enable_if_t<__not_in_place_tag<_Tp>>, 32020: typename _Tj = __accepted_type<_Tp&&>, 32020: typename = enable_if_t<__exactly_once<_Tj> 32020: && is_constructible_v<_Tj, _Tp>>> 32020: constexpr 32020: variant(_Tp&& __t) 32020: noexcept(is_nothrow_constructible_v<_Tj, _Tp>) 32020: : variant(in_place_index<__accepted_index<_Tp>>, 32020: std::forward<_Tp>(__t)) 32020: { } 32020: 32020: template 32020: && is_constructible_v<_Tp, _Args...>>> 32020: constexpr explicit 32020: variant(in_place_type_t<_Tp>, _Args&&... __args) 32020: : variant(in_place_index<__index_of<_Tp>>, 32020: std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template 32020: && is_constructible_v<_Tp, 32020: initializer_list<_Up>&, _Args...>>> 32020: constexpr explicit 32020: variant(in_place_type_t<_Tp>, initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : variant(in_place_index<__index_of<_Tp>>, __il, 32020: std::forward<_Args>(__args)...) 32020: { } 32020: 32020: template, 32020: typename = enable_if_t>> 32020: constexpr explicit 32020: variant(in_place_index_t<_Np>, _Args&&... __args) 32020: : _Base(in_place_index<_Np>, std::forward<_Args>(__args)...), 32020: _Default_ctor_enabler(_Enable_default_constructor_tag{}) 32020: { } 32020: 32020: template, 32020: typename = enable_if_t&, 32020: _Args...>>> 32020: constexpr explicit 32020: variant(in_place_index_t<_Np>, initializer_list<_Up> __il, 32020: _Args&&... __args) 32020: : _Base(in_place_index<_Np>, __il, std::forward<_Args>(__args)...), 32020: _Default_ctor_enabler(_Enable_default_constructor_tag{}) 32020: { } 32020: 32020: template 32020: enable_if_t<__exactly_once<__accepted_type<_Tp&&>> 32020: && is_constructible_v<__accepted_type<_Tp&&>, _Tp> 32020: && is_assignable_v<__accepted_type<_Tp&&>&, _Tp>, 32020: variant&> 32020: operator=(_Tp&& __rhs) 32020: noexcept(is_nothrow_assignable_v<__accepted_type<_Tp&&>&, _Tp> 32020: && is_nothrow_constructible_v<__accepted_type<_Tp&&>, _Tp>) 32020: { 32020: constexpr auto __index = __accepted_index<_Tp>; 32020: if (index() == __index) 32020: std::get<__index>(*this) = std::forward<_Tp>(__rhs); 32020: else 32020: { 32020: using _Tj = __accepted_type<_Tp&&>; 32020: if constexpr (is_nothrow_constructible_v<_Tj, _Tp> 32020: || !is_nothrow_move_constructible_v<_Tj>) 32020: this->emplace<__index>(std::forward<_Tp>(__rhs)); 32020: else 32020: operator=(variant(std::forward<_Tp>(__rhs))); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: enable_if_t && __exactly_once<_Tp>, 32020: _Tp&> 32020: emplace(_Args&&... __args) 32020: { 32020: constexpr size_t __index = __index_of<_Tp>; 32020: return this->emplace<__index>(std::forward<_Args>(__args)...); 32020: } 32020: 32020: template 32020: enable_if_t&, _Args...> 32020: && __exactly_once<_Tp>, 32020: _Tp&> 32020: emplace(initializer_list<_Up> __il, _Args&&... __args) 32020: { 32020: constexpr size_t __index = __index_of<_Tp>; 32020: return this->emplace<__index>(__il, std::forward<_Args>(__args)...); 32020: } 32020: 32020: template 32020: enable_if_t, 32020: _Args...>, 32020: variant_alternative_t<_Np, variant>&> 32020: emplace(_Args&&... __args) 32020: { 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: using type = variant_alternative_t<_Np, variant>; 32020: 32020: 32020: if constexpr (is_nothrow_constructible_v) 32020: { 32020: this->_M_reset(); 32020: __variant_construct_by_index<_Np>(*this, 32020: std::forward<_Args>(__args)...); 32020: } 32020: else if constexpr (is_scalar_v) 32020: { 32020: 32020: const type __tmp(std::forward<_Args>(__args)...); 32020: 32020: this->_M_reset(); 32020: __variant_construct_by_index<_Np>(*this, __tmp); 32020: } 32020: else if constexpr (__detail::__variant::_Never_valueless_alt() 32020: && _Traits::_S_move_assign) 32020: { 32020: 32020: variant __tmp(in_place_index<_Np>, 32020: std::forward<_Args>(__args)...); 32020: 32020: *this = std::move(__tmp); 32020: } 32020: else 32020: { 32020: 32020: 32020: this->_M_reset(); 32020: try 32020: { 32020: __variant_construct_by_index<_Np>(*this, 32020: std::forward<_Args>(__args)...); 32020: } 32020: catch(...) 32020: { 32020: this->_M_index = variant_npos; 32020: throw; 32020: } 32020: } 32020: return std::get<_Np>(*this); 32020: } 32020: 32020: template 32020: enable_if_t, 32020: initializer_list<_Up>&, _Args...>, 32020: variant_alternative_t<_Np, variant>&> 32020: emplace(initializer_list<_Up> __il, _Args&&... __args) 32020: { 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: using type = variant_alternative_t<_Np, variant>; 32020: 32020: 32020: if constexpr (is_nothrow_constructible_v&, 32020: _Args...>) 32020: { 32020: this->_M_reset(); 32020: __variant_construct_by_index<_Np>(*this, __il, 32020: std::forward<_Args>(__args)...); 32020: } 32020: else if constexpr (__detail::__variant::_Never_valueless_alt() 32020: && _Traits::_S_move_assign) 32020: { 32020: 32020: variant __tmp(in_place_index<_Np>, __il, 32020: std::forward<_Args>(__args)...); 32020: 32020: *this = std::move(__tmp); 32020: } 32020: else 32020: { 32020: 32020: 32020: this->_M_reset(); 32020: try 32020: { 32020: __variant_construct_by_index<_Np>(*this, __il, 32020: std::forward<_Args>(__args)...); 32020: } 32020: catch(...) 32020: { 32020: this->_M_index = variant_npos; 32020: throw; 32020: } 32020: } 32020: return std::get<_Np>(*this); 32020: } 32020: 32020: constexpr bool valueless_by_exception() const noexcept 32020: { return !this->_M_valid(); } 32020: 32020: constexpr size_t index() const noexcept 32020: { 32020: using __index_type = typename _Base::__index_type; 32020: if constexpr (__detail::__variant::__never_valueless<_Types...>()) 32020: return this->_M_index; 32020: else if constexpr (sizeof...(_Types) <= __index_type(-1) / 2) 32020: return make_signed_t<__index_type>(this->_M_index); 32020: else 32020: return size_t(__index_type(this->_M_index + 1)) - 1; 32020: } 32020: 32020: void 32020: swap(variant& __rhs) 32020: noexcept((__is_nothrow_swappable<_Types>::value && ...) 32020: && is_nothrow_move_constructible_v) 32020: { 32020: __detail::__variant::__raw_idx_visit( 32020: [this, &__rhs](auto&& __rhs_mem, auto __rhs_index) mutable 32020: { 32020: if constexpr (__rhs_index != variant_npos) 32020: { 32020: if (this->index() == __rhs_index) 32020: { 32020: auto& __this_mem = 32020: std::get<__rhs_index>(*this); 32020: using std::swap; 32020: swap(__this_mem, __rhs_mem); 32020: } 32020: else 32020: { 32020: if (!this->valueless_by_exception()) [[__likely__]] 32020: { 32020: auto __tmp(std::move(__rhs_mem)); 32020: __rhs = std::move(*this); 32020: this->_M_destructive_move(__rhs_index, 32020: std::move(__tmp)); 32020: } 32020: else 32020: { 32020: this->_M_destructive_move(__rhs_index, 32020: std::move(__rhs_mem)); 32020: __rhs._M_reset(); 32020: } 32020: } 32020: } 32020: else 32020: { 32020: if (!this->valueless_by_exception()) [[__likely__]] 32020: { 32020: __rhs = std::move(*this); 32020: this->_M_reset(); 32020: } 32020: } 32020: }, __rhs); 32020: } 32020: 32020: private: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: friend constexpr decltype(auto) 32020: __detail::__variant::__get(_Vp&& __v) noexcept; 32020: 32020: template 32020: friend void* 32020: __detail::__variant::__get_storage(_Vp&& __v) noexcept; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template friend constexpr bool operator <(const variant<_Tp...>& __lhs, const variant<_Tp...>& __rhs); 32020: template friend constexpr bool operator <=(const variant<_Tp...>& __lhs, const variant<_Tp...>& __rhs); 32020: template friend constexpr bool operator ==(const variant<_Tp...>& __lhs, const variant<_Tp...>& __rhs); 32020: template friend constexpr bool operator !=(const variant<_Tp...>& __lhs, const variant<_Tp...>& __rhs); 32020: template friend constexpr bool operator >=(const variant<_Tp...>& __lhs, const variant<_Tp...>& __rhs); 32020: template friend constexpr bool operator >(const variant<_Tp...>& __lhs, const variant<_Tp...>& __rhs); 32020: 32020: 32020: }; 32020: 32020: template 32020: constexpr variant_alternative_t<_Np, variant<_Types...>>& 32020: get(variant<_Types...>& __v) 32020: { 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: if (__v.index() != _Np) 32020: __throw_bad_variant_access(__v.valueless_by_exception()); 32020: return __detail::__variant::__get<_Np>(__v); 32020: } 32020: 32020: template 32020: constexpr variant_alternative_t<_Np, variant<_Types...>>&& 32020: get(variant<_Types...>&& __v) 32020: { 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: if (__v.index() != _Np) 32020: __throw_bad_variant_access(__v.valueless_by_exception()); 32020: return __detail::__variant::__get<_Np>(std::move(__v)); 32020: } 32020: 32020: template 32020: constexpr const variant_alternative_t<_Np, variant<_Types...>>& 32020: get(const variant<_Types...>& __v) 32020: { 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: if (__v.index() != _Np) 32020: __throw_bad_variant_access(__v.valueless_by_exception()); 32020: return __detail::__variant::__get<_Np>(__v); 32020: } 32020: 32020: template 32020: constexpr const variant_alternative_t<_Np, variant<_Types...>>&& 32020: get(const variant<_Types...>&& __v) 32020: { 32020: static_assert(_Np < sizeof...(_Types), 32020: "The index must be in [0, number of alternatives)"); 32020: if (__v.index() != _Np) 32020: __throw_bad_variant_access(__v.valueless_by_exception()); 32020: return __detail::__variant::__get<_Np>(std::move(__v)); 32020: } 32020: 32020: template 32020: constexpr decltype(auto) 32020: __do_visit(_Visitor&& __visitor, _Variants&&... __variants) 32020: { 32020: constexpr auto& __vtable = __detail::__variant::__gen_vtable< 32020: _Result_type, _Visitor&&, _Variants&&...>::_S_vtable; 32020: 32020: auto __func_ptr = __vtable._M_access(__variants.index()...); 32020: return (*__func_ptr)(std::forward<_Visitor>(__visitor), 32020: std::forward<_Variants>(__variants)...); 32020: } 32020: 32020: template 32020: constexpr decltype(auto) 32020: visit(_Visitor&& __visitor, _Variants&&... __variants) 32020: { 32020: if ((__variants.valueless_by_exception() || ...)) 32020: __throw_bad_variant_access("std::visit: variant is valueless"); 32020: 32020: using _Result_type = std::invoke_result_t<_Visitor, 32020: decltype(std::get<0>(std::declval<_Variants>()))...>; 32020: 32020: using _Tag = __detail::__variant::__deduce_visit_result<_Result_type>; 32020: 32020: return std::__do_visit<_Tag>(std::forward<_Visitor>(__visitor), 32020: std::forward<_Variants>(__variants)...); 32020: } 32020: # 1735 "/usr/arm-linux-gnueabihf/include/c++/10/variant" 3 32020: template 32020: struct __variant_hash_call_base_impl 32020: { 32020: size_t 32020: operator()(const variant<_Types...>& __t) const 32020: noexcept((is_nothrow_invocable_v>, _Types> && ...)) 32020: { 32020: size_t __ret; 32020: __detail::__variant::__raw_visit( 32020: [&__t, &__ret](auto&& __t_mem) mutable 32020: { 32020: using _Type = __remove_cvref_t; 32020: if constexpr (!is_same_v<_Type, 32020: __detail::__variant::__variant_cookie>) 32020: __ret = std::hash{}(__t.index()) 32020: + std::hash<_Type>{}(__t_mem); 32020: else 32020: __ret = std::hash{}(__t.index()); 32020: }, __t); 32020: return __ret; 32020: } 32020: }; 32020: 32020: template 32020: struct __variant_hash_call_base_impl {}; 32020: 32020: template 32020: using __variant_hash_call_base = 32020: __variant_hash_call_base_impl<(__poison_hash>:: 32020: __enable_hash_call &&...), _Types...>; 32020: 32020: template 32020: struct hash> 32020: : private __detail::__variant::_Variant_hash_base< 32020: variant<_Types...>, std::index_sequence_for<_Types...>>, 32020: public __variant_hash_call_base<_Types...> 32020: { 32020: using result_type [[__deprecated__]] = size_t; 32020: using argument_type [[__deprecated__]] = variant<_Types...>; 32020: }; 32020: 32020: template<> 32020: struct hash 32020: { 32020: using result_type [[__deprecated__]] = size_t; 32020: using argument_type [[__deprecated__]] = monostate; 32020: 32020: size_t 32020: operator()(const monostate&) const noexcept 32020: { 32020: constexpr size_t __magic_monostate_hash = -7777; 32020: return __magic_monostate_hash; 32020: } 32020: }; 32020: 32020: template 32020: struct __is_fast_hash>> 32020: : bool_constant<(__is_fast_hash<_Types>::value && ...)> 32020: { }; 32020: 32020: 32020: } 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QBitArray; 32020: class QDataStream; 32020: class QDate; 32020: class QDateTime; 32020: 32020: class QEasingCurve; 32020: 32020: class QLine; 32020: class QLineF; 32020: class QLocale; 32020: class QMatrix; 32020: class QTransform; 32020: class QStringList; 32020: class QTime; 32020: class QPoint; 32020: class QPointF; 32020: class QSize; 32020: class QSizeF; 32020: class QRect; 32020: class QRectF; 32020: 32020: class QRegExp; 32020: 32020: 32020: class QRegularExpression; 32020: 32020: class QTextFormat; 32020: class QTextLength; 32020: class QUrl; 32020: class QVariant; 32020: class QVariantComparisonHelper; 32020: 32020: template 32020: inline T qvariant_cast(const QVariant &); 32020: 32020: namespace QtPrivate { 32020: 32020: template 32020: struct ObjectInvoker 32020: { 32020: static ReturnType invoke(Argument a) 32020: { 32020: return Derived::object(a); 32020: } 32020: }; 32020: 32020: template 32020: struct MetaTypeInvoker 32020: { 32020: static ReturnType invoke(Argument a) 32020: { 32020: return Derived::metaType(a); 32020: } 32020: }; 32020: 32020: template ::Value> 32020: struct TreatAsQObjectBeforeMetaType : ObjectInvoker 32020: { 32020: }; 32020: 32020: template 32020: struct TreatAsQObjectBeforeMetaType : MetaTypeInvoker 32020: { 32020: }; 32020: 32020: template struct QVariantValueHelper; 32020: } 32020: 32020: class __attribute__((visibility("default"))) QVariant 32020: { 32020: public: 32020: enum Type { 32020: Invalid = QMetaType::UnknownType, 32020: Bool = QMetaType::Bool, 32020: Int = QMetaType::Int, 32020: UInt = QMetaType::UInt, 32020: LongLong = QMetaType::LongLong, 32020: ULongLong = QMetaType::ULongLong, 32020: Double = QMetaType::Double, 32020: Char = QMetaType::QChar, 32020: Map = QMetaType::QVariantMap, 32020: List = QMetaType::QVariantList, 32020: String = QMetaType::QString, 32020: StringList = QMetaType::QStringList, 32020: ByteArray = QMetaType::QByteArray, 32020: BitArray = QMetaType::QBitArray, 32020: Date = QMetaType::QDate, 32020: Time = QMetaType::QTime, 32020: DateTime = QMetaType::QDateTime, 32020: Url = QMetaType::QUrl, 32020: Locale = QMetaType::QLocale, 32020: Rect = QMetaType::QRect, 32020: RectF = QMetaType::QRectF, 32020: Size = QMetaType::QSize, 32020: SizeF = QMetaType::QSizeF, 32020: Line = QMetaType::QLine, 32020: LineF = QMetaType::QLineF, 32020: Point = QMetaType::QPoint, 32020: PointF = QMetaType::QPointF, 32020: RegExp = QMetaType::QRegExp, 32020: RegularExpression = QMetaType::QRegularExpression, 32020: Hash = QMetaType::QVariantHash, 32020: 32020: EasingCurve = QMetaType::QEasingCurve, 32020: 32020: Uuid = QMetaType::QUuid, 32020: 32020: ModelIndex = QMetaType::QModelIndex, 32020: PersistentModelIndex = QMetaType::QPersistentModelIndex, 32020: 32020: LastCoreType = QMetaType::LastCoreType, 32020: 32020: Font = QMetaType::QFont, 32020: Pixmap = QMetaType::QPixmap, 32020: Brush = QMetaType::QBrush, 32020: Color = QMetaType::QColor, 32020: Palette = QMetaType::QPalette, 32020: Image = QMetaType::QImage, 32020: Polygon = QMetaType::QPolygon, 32020: Region = QMetaType::QRegion, 32020: Bitmap = QMetaType::QBitmap, 32020: Cursor = QMetaType::QCursor, 32020: KeySequence = QMetaType::QKeySequence, 32020: Pen = QMetaType::QPen, 32020: TextLength = QMetaType::QTextLength, 32020: TextFormat = QMetaType::QTextFormat, 32020: Matrix = QMetaType::QMatrix, 32020: Transform = QMetaType::QTransform, 32020: Matrix4x4 = QMetaType::QMatrix4x4, 32020: Vector2D = QMetaType::QVector2D, 32020: Vector3D = QMetaType::QVector3D, 32020: Vector4D = QMetaType::QVector4D, 32020: Quaternion = QMetaType::QQuaternion, 32020: PolygonF = QMetaType::QPolygonF, 32020: Icon = QMetaType::QIcon, 32020: LastGuiType = QMetaType::LastGuiType, 32020: 32020: SizePolicy = QMetaType::QSizePolicy, 32020: 32020: UserType = QMetaType::User, 32020: LastType = 0xffffffff 32020: }; 32020: 32020: QVariant() noexcept : d() {} 32020: ~QVariant(); 32020: QVariant(Type type); 32020: QVariant(int typeId, const void *copy); 32020: QVariant(int typeId, const void *copy, uint flags); 32020: QVariant(const QVariant &other); 32020: 32020: 32020: QVariant(QDataStream &s); 32020: 32020: 32020: QVariant(int i); 32020: QVariant(uint ui); 32020: QVariant(qlonglong ll); 32020: QVariant(qulonglong ull); 32020: QVariant(bool b); 32020: QVariant(double d); 32020: QVariant(float f); 32020: 32020: QVariant(const char *str); 32020: 32020: 32020: QVariant(const QByteArray &bytearray); 32020: QVariant(const QBitArray &bitarray); 32020: QVariant(const QString &string); 32020: QVariant(QLatin1String string); 32020: QVariant(const QStringList &stringlist); 32020: QVariant(QChar qchar); 32020: QVariant(const QDate &date); 32020: QVariant(const QTime &time); 32020: QVariant(const QDateTime &datetime); 32020: QVariant(const QList &list); 32020: QVariant(const QMap &map); 32020: QVariant(const QHash &hash); 32020: 32020: QVariant(const QSize &size); 32020: QVariant(const QSizeF &size); 32020: QVariant(const QPoint &pt); 32020: QVariant(const QPointF &pt); 32020: QVariant(const QLine &line); 32020: QVariant(const QLineF &line); 32020: QVariant(const QRect &rect); 32020: QVariant(const QRectF &rect); 32020: 32020: QVariant(const QLocale &locale); 32020: 32020: QVariant(const QRegExp ®Exp); 32020: 32020: 32020: QVariant(const QRegularExpression &re); 32020: 32020: 32020: QVariant(const QEasingCurve &easing); 32020: 32020: QVariant(const QUuid &uuid); 32020: 32020: QVariant(const QUrl &url); 32020: QVariant(const QJsonValue &jsonValue); 32020: QVariant(const QJsonObject &jsonObject); 32020: QVariant(const QJsonArray &jsonArray); 32020: QVariant(const QJsonDocument &jsonDocument); 32020: 32020: 32020: QVariant(const QModelIndex &modelIndex); 32020: QVariant(const QPersistentModelIndex &modelIndex); 32020: 32020: 32020: QVariant& operator=(const QVariant &other); 32020: inline QVariant(QVariant &&other) noexcept : d(other.d) 32020: { other.d = Private(); } 32020: inline QVariant &operator=(QVariant &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: 32020: inline void swap(QVariant &other) noexcept { qSwap(d, other.d); } 32020: 32020: Type type() const; 32020: int userType() const; 32020: const char *typeName() const; 32020: 32020: bool canConvert(int targetTypeId) const; 32020: bool convert(int targetTypeId); 32020: 32020: inline bool isValid() const; 32020: bool isNull() const; 32020: 32020: void clear(); 32020: 32020: void detach(); 32020: inline bool isDetached() const; 32020: 32020: int toInt(bool *ok = nullptr) const; 32020: uint toUInt(bool *ok = nullptr) const; 32020: qlonglong toLongLong(bool *ok = nullptr) const; 32020: qulonglong toULongLong(bool *ok = nullptr) const; 32020: bool toBool() const; 32020: double toDouble(bool *ok = nullptr) const; 32020: float toFloat(bool *ok = nullptr) const; 32020: qreal toReal(bool *ok = nullptr) const; 32020: QByteArray toByteArray() const; 32020: QBitArray toBitArray() const; 32020: QString toString() const; 32020: QStringList toStringList() const; 32020: QChar toChar() const; 32020: QDate toDate() const; 32020: QTime toTime() const; 32020: QDateTime toDateTime() const; 32020: QList toList() const; 32020: QMap toMap() const; 32020: QHash toHash() const; 32020: 32020: 32020: QPoint toPoint() const; 32020: QPointF toPointF() const; 32020: QRect toRect() const; 32020: QSize toSize() const; 32020: QSizeF toSizeF() const; 32020: QLine toLine() const; 32020: QLineF toLineF() const; 32020: QRectF toRectF() const; 32020: 32020: QLocale toLocale() const; 32020: 32020: QRegExp toRegExp() const; 32020: 32020: 32020: QRegularExpression toRegularExpression() const; 32020: 32020: 32020: QEasingCurve toEasingCurve() const; 32020: 32020: QUuid toUuid() const; 32020: 32020: QUrl toUrl() const; 32020: QJsonValue toJsonValue() const; 32020: QJsonObject toJsonObject() const; 32020: QJsonArray toJsonArray() const; 32020: QJsonDocument toJsonDocument() const; 32020: 32020: 32020: QModelIndex toModelIndex() const; 32020: QPersistentModelIndex toPersistentModelIndex() const; 32020: 32020: 32020: 32020: void load(QDataStream &ds); 32020: void save(QDataStream &ds) const; 32020: 32020: static const char *typeToName(int typeId); 32020: static Type nameToType(const char *name); 32020: 32020: void *data(); 32020: const void *constData() const; 32020: inline const void *data() const { return constData(); } 32020: 32020: template 32020: inline void setValue(const T &value); 32020: 32020: template 32020: inline T value() const 32020: { return qvariant_cast(*this); } 32020: 32020: template 32020: static inline QVariant fromValue(const T &value) 32020: { return QVariant(qMetaTypeId(), &value, QTypeInfo::isPointer); } 32020: 32020: 32020: template 32020: static inline QVariant fromStdVariant(const std::variant &value) 32020: { 32020: if (value.valueless_by_exception()) 32020: return QVariant(); 32020: return std::visit([](const auto &arg) { return fromValue(arg); }, value); 32020: } 32020: 32020: 32020: template 32020: bool canConvert() const 32020: { return canConvert(qMetaTypeId()); } 32020: 32020: public: 32020: struct PrivateShared 32020: { 32020: inline PrivateShared(void *v) : ptr(v), ref(1) { } 32020: void *ptr; 32020: QAtomicInt ref; 32020: }; 32020: struct Private 32020: { 32020: inline Private() noexcept : type(Invalid), is_shared(false), is_null(true) 32020: { data.ptr = nullptr; } 32020: 32020: 32020: explicit inline Private(uint variantType) noexcept 32020: : type(variantType), is_shared(false), is_null(false) 32020: {} 32020: 32020: 32020: Private(const Private &other) noexcept 32020: : data(other.data), type(other.type), 32020: is_shared(other.is_shared), is_null(other.is_null) 32020: {} 32020: Private &operator=(const Private &other) noexcept = default; 32020: 32020: union Data 32020: { 32020: char c; 32020: uchar uc; 32020: short s; 32020: signed char sc; 32020: ushort us; 32020: int i; 32020: uint u; 32020: long l; 32020: ulong ul; 32020: bool b; 32020: double d; 32020: float f; 32020: qreal real; 32020: qlonglong ll; 32020: qulonglong ull; 32020: QObject *o; 32020: void *ptr; 32020: PrivateShared *shared; 32020: } data; 32020: uint type : 30; 32020: uint is_shared : 1; 32020: uint is_null : 1; 32020: }; 32020: public: 32020: typedef void (*f_construct)(Private *, const void *); 32020: typedef void (*f_clear)(Private *); 32020: typedef bool (*f_null)(const Private *); 32020: 32020: typedef void (*f_load)(Private *, QDataStream &); 32020: typedef void (*f_save)(const Private *, QDataStream &); 32020: 32020: typedef bool (*f_compare)(const Private *, const Private *); 32020: typedef bool (*f_convert)(const QVariant::Private *d, int t, void *, bool *); 32020: typedef bool (*f_canConvert)(const QVariant::Private *d, int t); 32020: typedef void (*f_debugStream)(QDebug, const QVariant &); 32020: struct Handler { 32020: f_construct construct; 32020: f_clear clear; 32020: f_null isNull; 32020: 32020: f_load load; 32020: f_save save; 32020: 32020: f_compare compare; 32020: f_convert convert; 32020: f_canConvert canConvert; 32020: f_debugStream debugStream; 32020: }; 32020: 32020: inline bool operator==(const QVariant &v) const 32020: { return cmp(v); } 32020: inline bool operator!=(const QVariant &v) const 32020: { return !cmp(v); } 32020: 32020: __attribute__ ((__deprecated__)) inline bool operator<(const QVariant &v) const 32020: { return compare(v) < 0; } 32020: __attribute__ ((__deprecated__)) inline bool operator<=(const QVariant &v) const 32020: { return compare(v) <= 0; } 32020: __attribute__ ((__deprecated__)) inline bool operator>(const QVariant &v) const 32020: { return compare(v) > 0; } 32020: __attribute__ ((__deprecated__)) inline bool operator>=(const QVariant &v) const 32020: { return compare(v) >= 0; } 32020: 32020: 32020: protected: 32020: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); 32020: 32020: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); 32020: 32020: 32020: 32020: template 32020: friend inline T qvariant_cast(const QVariant &); 32020: template friend struct QtPrivate::QVariantValueHelper; 32020: protected: 32020: 32020: 32020: 32020: Private d; 32020: void create(int type, const void *copy); 32020: bool cmp(const QVariant &other) const; 32020: int compare(const QVariant &other) const; 32020: bool convert(const int t, void *ptr) const; 32020: 32020: private: 32020: 32020: inline QVariant(void *) = delete; 32020: 32020: 32020: 32020: 32020: 32020: 32020: QVariant(QMetaType::Type) = delete; 32020: 32020: 32020: 32020: 32020: 32020: 32020: QVariant(Qt::GlobalColor) = delete; 32020: QVariant(Qt::BrushStyle) = delete; 32020: QVariant(Qt::PenStyle) = delete; 32020: QVariant(Qt::CursorShape) = delete; 32020: 32020: 32020: 32020: 32020: public: 32020: typedef Private DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: inline const DataPtr &data_ptr() const { return d; } 32020: }; 32020: 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use QVariant::fromValue() instead."))) 32020: inline QVariant qVariantFromValue(const T &t) 32020: { 32020: return QVariant::fromValue(t); 32020: } 32020: 32020: template 32020: __attribute__ ((__deprecated__("Use QVariant::setValue() instead."))) 32020: inline void qVariantSetValue(QVariant &v, const T &t) 32020: { 32020: v.setValue(t); 32020: } 32020: 32020: 32020: template<> 32020: inline QVariant QVariant::fromValue(const QVariant &value) 32020: { 32020: return value; 32020: } 32020: 32020: 32020: template<> 32020: inline QVariant QVariant::fromValue(const std::monostate &) 32020: { 32020: return QVariant(); 32020: } 32020: 32020: 32020: inline bool QVariant::isValid() const { return d.type != Invalid; } 32020: 32020: template 32020: inline void QVariant::setValue(const T &avalue) 32020: { 32020: 32020: const uint type = qMetaTypeId(); 32020: if (isDetached() && (type == d.type || (type <= uint(QVariant::Char) && d.type <= uint(QVariant::Char)))) { 32020: d.type = type; 32020: d.is_null = false; 32020: T *old = reinterpret_cast(d.is_shared ? d.data.shared->ptr : &d.data.ptr); 32020: if (QTypeInfo::isComplex) 32020: old->~T(); 32020: new (old) T(avalue); 32020: } else { 32020: *this = QVariant(type, &avalue, QTypeInfo::isPointer); 32020: } 32020: } 32020: 32020: template<> 32020: inline void QVariant::setValue(const QVariant &avalue) 32020: { 32020: *this = avalue; 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant& p); 32020: __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant& p); 32020: __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant::Type& p); 32020: __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant::Type p); 32020: 32020: 32020: inline bool QVariant::isDetached() const 32020: { return !d.is_shared || d.data.shared->ref.loadRelaxed() == 1; } 32020: # 601 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 3 4 32020: class QVariantComparisonHelper 32020: { 32020: public: 32020: inline QVariantComparisonHelper(const QVariant &var) 32020: : v(&var) {} 32020: private: 32020: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); 32020: const QVariant *v; 32020: }; 32020: 32020: inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2) 32020: { 32020: return v1.cmp(*v2.v); 32020: } 32020: 32020: inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2) 32020: { 32020: return !operator==(v1, v2); 32020: } 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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); } 32020: 32020: class __attribute__((visibility("default"))) QSequentialIterable 32020: { 32020: QtMetaTypePrivate::QSequentialIterableImpl m_impl; 32020: public: 32020: struct __attribute__((visibility("default"))) const_iterator 32020: { 32020: private: 32020: QtMetaTypePrivate::QSequentialIterableImpl m_impl; 32020: QAtomicInt *ref; 32020: friend class QSequentialIterable; 32020: explicit const_iterator(const QSequentialIterable &iter, QAtomicInt *ref_); 32020: 32020: explicit const_iterator(const QtMetaTypePrivate::QSequentialIterableImpl &impl, QAtomicInt *ref_); 32020: 32020: void begin(); 32020: void end(); 32020: public: 32020: ~const_iterator(); 32020: 32020: const_iterator(const const_iterator &other); 32020: 32020: const_iterator& operator=(const const_iterator &other); 32020: 32020: const QVariant operator*() const; 32020: bool operator==(const const_iterator &o) const; 32020: bool operator!=(const const_iterator &o) const; 32020: const_iterator &operator++(); 32020: const_iterator operator++(int); 32020: const_iterator &operator--(); 32020: const_iterator operator--(int); 32020: const_iterator &operator+=(int j); 32020: const_iterator &operator-=(int j); 32020: const_iterator operator+(int j) const; 32020: const_iterator operator-(int j) const; 32020: friend inline const_iterator operator+(int j, const_iterator k) { return k + j; } 32020: }; 32020: 32020: friend struct const_iterator; 32020: 32020: 32020: explicit QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl impl); 32020: 32020: 32020: 32020: 32020: const_iterator begin() const; 32020: const_iterator end() const; 32020: 32020: QVariant at(int idx) const; 32020: int size() const; 32020: 32020: bool canReverseIterate() const; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QAssociativeIterable 32020: { 32020: QtMetaTypePrivate::QAssociativeIterableImpl m_impl; 32020: public: 32020: struct __attribute__((visibility("default"))) const_iterator 32020: { 32020: private: 32020: QtMetaTypePrivate::QAssociativeIterableImpl m_impl; 32020: QAtomicInt *ref; 32020: friend class QAssociativeIterable; 32020: explicit const_iterator(const QAssociativeIterable &iter, QAtomicInt *ref_); 32020: 32020: explicit const_iterator(const QtMetaTypePrivate::QAssociativeIterableImpl &impl, QAtomicInt *ref_); 32020: 32020: void begin(); 32020: void end(); 32020: void find(const QVariant &key); 32020: public: 32020: ~const_iterator(); 32020: const_iterator(const const_iterator &other); 32020: 32020: const_iterator& operator=(const const_iterator &other); 32020: 32020: const QVariant key() const; 32020: 32020: const QVariant value() const; 32020: 32020: const QVariant operator*() const; 32020: bool operator==(const const_iterator &o) const; 32020: bool operator!=(const const_iterator &o) const; 32020: const_iterator &operator++(); 32020: const_iterator operator++(int); 32020: const_iterator &operator--(); 32020: const_iterator operator--(int); 32020: const_iterator &operator+=(int j); 32020: const_iterator &operator-=(int j); 32020: const_iterator operator+(int j) const; 32020: const_iterator operator-(int j) const; 32020: friend inline const_iterator operator+(int j, const_iterator k) { return k + j; } 32020: }; 32020: 32020: friend struct const_iterator; 32020: 32020: 32020: explicit QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl impl); 32020: 32020: 32020: 32020: 32020: const_iterator begin() const; 32020: const_iterator end() const; 32020: const_iterator find(const QVariant &key) const; 32020: 32020: QVariant value(const QVariant &key) const; 32020: 32020: int size() const; 32020: }; 32020: 32020: 32020: namespace QtPrivate { 32020: template 32020: struct QVariantValueHelper : TreatAsQObjectBeforeMetaType, T, const QVariant &, T> 32020: { 32020: static T metaType(const QVariant &v) 32020: { 32020: const int vid = qMetaTypeId(); 32020: if (vid == v.userType()) 32020: return *reinterpret_cast(v.constData()); 32020: T t; 32020: if (v.convert(vid, &t)) 32020: return t; 32020: return T(); 32020: } 32020: 32020: static T object(const QVariant &v) 32020: { 32020: return qobject_cast(QMetaType::typeFlags(v.userType()) & QMetaType::PointerToQObject 32020: ? v.d.data.o 32020: : QVariantValueHelper::metaType(v)); 32020: } 32020: 32020: }; 32020: 32020: template 32020: struct QVariantValueHelperInterface : QVariantValueHelper 32020: { 32020: }; 32020: 32020: template<> 32020: struct QVariantValueHelperInterface 32020: { 32020: static QSequentialIterable invoke(const QVariant &v) 32020: { 32020: const int typeId = v.userType(); 32020: if (typeId == qMetaTypeId()) { 32020: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 32020: } 32020: if (typeId == qMetaTypeId()) { 32020: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 32020: } 32020: 32020: if (typeId == qMetaTypeId()) { 32020: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 32020: } 32020: 32020: return QSequentialIterable(qvariant_cast(v)); 32020: } 32020: }; 32020: template<> 32020: struct QVariantValueHelperInterface 32020: { 32020: static QAssociativeIterable invoke(const QVariant &v) 32020: { 32020: const int typeId = v.userType(); 32020: if (typeId == qMetaTypeId()) { 32020: return QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl(reinterpret_cast(v.constData()))); 32020: } 32020: if (typeId == qMetaTypeId()) { 32020: return QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl(reinterpret_cast(v.constData()))); 32020: } 32020: return QAssociativeIterable(qvariant_cast(v)); 32020: } 32020: }; 32020: template<> 32020: struct QVariantValueHelperInterface 32020: { 32020: static QVariantList invoke(const QVariant &v) 32020: { 32020: const int typeId = v.userType(); 32020: if (typeId == qMetaTypeId() || typeId == qMetaTypeId() || 32020: (QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId()) && !QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId()))) { 32020: QSequentialIterable iter = QVariantValueHelperInterface::invoke(v); 32020: QVariantList l; 32020: l.reserve(iter.size()); 32020: for (QSequentialIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 32020: l << *it; 32020: return l; 32020: } 32020: return QVariantValueHelper::invoke(v); 32020: } 32020: }; 32020: template<> 32020: struct QVariantValueHelperInterface 32020: { 32020: static QVariantHash invoke(const QVariant &v) 32020: { 32020: const int typeId = v.userType(); 32020: if (typeId == qMetaTypeId() || ((QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) && !QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId()))) { 32020: QAssociativeIterable iter = QVariantValueHelperInterface::invoke(v); 32020: QVariantHash l; 32020: l.reserve(iter.size()); 32020: for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 32020: static_cast &>(l).insert(it.key().toString(), it.value()); 32020: return l; 32020: } 32020: return QVariantValueHelper::invoke(v); 32020: } 32020: }; 32020: template<> 32020: struct QVariantValueHelperInterface 32020: { 32020: static QVariantMap invoke(const QVariant &v) 32020: { 32020: const int typeId = v.userType(); 32020: if (typeId == qMetaTypeId() || (QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId()) && !QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId()))) { 32020: QAssociativeIterable iter = QVariantValueHelperInterface::invoke(v); 32020: QVariantMap l; 32020: for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 32020: static_cast &>(l).insert(it.key().toString(), it.value()); 32020: return l; 32020: } 32020: return QVariantValueHelper::invoke(v); 32020: } 32020: }; 32020: template<> 32020: struct QVariantValueHelperInterface > 32020: { 32020: static QPair invoke(const QVariant &v) 32020: { 32020: const int typeId = v.userType(); 32020: 32020: if (QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId()) && !(typeId == qMetaTypeId >())) { 32020: QtMetaTypePrivate::QPairVariantInterfaceImpl pi = v.value(); 32020: const QtMetaTypePrivate::VariantData d1 = pi.first(); 32020: QVariant v1(d1.metaTypeId, d1.data, d1.flags); 32020: if (d1.metaTypeId == qMetaTypeId()) 32020: v1 = *reinterpret_cast(d1.data); 32020: 32020: const QtMetaTypePrivate::VariantData d2 = pi.second(); 32020: QVariant v2(d2.metaTypeId, d2.data, d2.flags); 32020: if (d2.metaTypeId == qMetaTypeId()) 32020: v2 = *reinterpret_cast(d2.data); 32020: 32020: return QPair(v1, v2); 32020: } 32020: return QVariantValueHelper >::invoke(v); 32020: } 32020: }; 32020: } 32020: 32020: template inline T qvariant_cast(const QVariant &v) 32020: { 32020: return QtPrivate::QVariantValueHelperInterface::invoke(v); 32020: } 32020: 32020: template<> inline QVariant qvariant_cast(const QVariant &v) 32020: { 32020: if (v.userType() == QMetaType::QVariant) 32020: return *reinterpret_cast(v.constData()); 32020: return v; 32020: } 32020: # 902 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qvariant.h" 3 4 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant::Type); 32020: 32020: 32020: 32020: # 51 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcontainertools_impl.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: class QSet 32020: { 32020: typedef QHash Hash; 32020: 32020: public: 32020: inline QSet() noexcept {} 32020: inline QSet(std::initializer_list list) 32020: : QSet(list.begin(), list.end()) {} 32020: template = true> 32020: inline QSet(InputIterator first, InputIterator last) 32020: { 32020: QtPrivate::reserveIfForwardIterator(this, first, last); 32020: for (; first != last; ++first) 32020: insert(*first); 32020: } 32020: 32020: 32020: 32020: 32020: inline void swap(QSet &other) noexcept { q_hash.swap(other.q_hash); } 32020: 32020: inline bool operator==(const QSet &other) const 32020: { return q_hash == other.q_hash; } 32020: inline bool operator!=(const QSet &other) const 32020: { return q_hash != other.q_hash; } 32020: 32020: inline int size() const { return q_hash.size(); } 32020: 32020: inline bool isEmpty() const { return q_hash.isEmpty(); } 32020: 32020: inline int capacity() const { return q_hash.capacity(); } 32020: inline void reserve(int size); 32020: inline void squeeze() { q_hash.squeeze(); } 32020: 32020: inline void detach() { q_hash.detach(); } 32020: inline bool isDetached() const { return q_hash.isDetached(); } 32020: 32020: inline void setSharable(bool sharable) { q_hash.setSharable(sharable); } 32020: 32020: 32020: inline void clear() { q_hash.clear(); } 32020: 32020: inline bool remove(const T &value) { return q_hash.remove(value) != 0; } 32020: 32020: inline bool contains(const T &value) const { return q_hash.contains(value); } 32020: 32020: bool contains(const QSet &set) const; 32020: 32020: class const_iterator; 32020: 32020: class iterator 32020: { 32020: typedef QHash Hash; 32020: typename Hash::iterator i; 32020: friend class const_iterator; 32020: friend class QSet; 32020: 32020: public: 32020: 32020: 32020: 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef const T *pointer; 32020: typedef const T &reference; 32020: 32020: inline iterator() {} 32020: inline iterator(typename Hash::iterator o) : i(o) {} 32020: inline iterator(const iterator &o) : i(o.i) {} 32020: inline iterator &operator=(const iterator &o) { i = o.i; return *this; } 32020: inline const T &operator*() const { return i.key(); } 32020: inline const T *operator->() const { return &i.key(); } 32020: inline bool operator==(const iterator &o) const { return i == o.i; } 32020: inline bool operator!=(const iterator &o) const { return i != o.i; } 32020: inline bool operator==(const const_iterator &o) const 32020: { return i == o.i; } 32020: inline bool operator!=(const const_iterator &o) const 32020: { return i != o.i; } 32020: inline iterator &operator++() { ++i; return *this; } 32020: inline iterator operator++(int) { iterator r = *this; ++i; return r; } 32020: 32020: inline __attribute__ ((__deprecated__)) iterator &operator--() { --i; return *this; } 32020: inline __attribute__ ((__deprecated__)) iterator operator--(int) { iterator r = *this; --i; return r; } 32020: inline __attribute__ ((__deprecated__)) iterator operator+(int j) const { return i + j; } 32020: inline __attribute__ ((__deprecated__)) iterator operator-(int j) const { return i - j; } 32020: friend inline __attribute__ ((__deprecated__)) iterator operator+(int j, iterator k) { return k + j; } 32020: inline __attribute__ ((__deprecated__)) iterator &operator+=(int j) { i += j; return *this; } 32020: inline __attribute__ ((__deprecated__)) iterator &operator-=(int j) { i -= j; return *this; } 32020: 32020: }; 32020: 32020: class const_iterator 32020: { 32020: typedef QHash Hash; 32020: typename Hash::const_iterator i; 32020: friend class iterator; 32020: friend class QSet; 32020: 32020: public: 32020: 32020: 32020: 32020: typedef std::forward_iterator_tag iterator_category; 32020: 32020: typedef qptrdiff difference_type; 32020: typedef T value_type; 32020: typedef const T *pointer; 32020: typedef const T &reference; 32020: 32020: inline const_iterator() {} 32020: inline const_iterator(typename Hash::const_iterator o) : i(o) {} 32020: inline const_iterator(const const_iterator &o) : i(o.i) {} 32020: inline const_iterator(const iterator &o) 32020: : i(o.i) {} 32020: inline const_iterator &operator=(const const_iterator &o) { i = o.i; return *this; } 32020: inline const T &operator*() const { return i.key(); } 32020: inline const T *operator->() const { return &i.key(); } 32020: inline bool operator==(const const_iterator &o) const { return i == o.i; } 32020: inline bool operator!=(const const_iterator &o) const { return i != o.i; } 32020: inline const_iterator &operator++() { ++i; return *this; } 32020: inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } 32020: 32020: inline __attribute__ ((__deprecated__)) const_iterator &operator--() { --i; return *this; } 32020: inline __attribute__ ((__deprecated__)) const_iterator operator--(int) { const_iterator r = *this; --i; return r; } 32020: inline __attribute__ ((__deprecated__)) const_iterator operator+(int j) const { return i + j; } 32020: inline __attribute__ ((__deprecated__)) const_iterator operator-(int j) const { return i - j; } 32020: friend inline __attribute__ ((__deprecated__)) const_iterator operator+(int j, const_iterator k) { return k + j; } 32020: inline __attribute__ ((__deprecated__)) const_iterator &operator+=(int j) { i += j; return *this; } 32020: inline __attribute__ ((__deprecated__)) const_iterator &operator-=(int j) { i -= j; return *this; } 32020: 32020: }; 32020: 32020: 32020: inline iterator begin() { return q_hash.begin(); } 32020: inline const_iterator begin() const noexcept { return q_hash.begin(); } 32020: inline const_iterator cbegin() const noexcept { return q_hash.begin(); } 32020: inline const_iterator constBegin() const noexcept { return q_hash.constBegin(); } 32020: inline iterator end() { return q_hash.end(); } 32020: inline const_iterator end() const noexcept { return q_hash.end(); } 32020: inline const_iterator cend() const noexcept { return q_hash.end(); } 32020: inline const_iterator constEnd() const noexcept { return q_hash.constEnd(); } 32020: 32020: 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: 32020: reverse_iterator __attribute__ ((__deprecated__)) rbegin() { return reverse_iterator(end()); } 32020: reverse_iterator __attribute__ ((__deprecated__)) rend() { return reverse_iterator(begin()); } 32020: const_reverse_iterator __attribute__ ((__deprecated__)) rbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator __attribute__ ((__deprecated__)) rend() const noexcept { return const_reverse_iterator(begin()); } 32020: const_reverse_iterator __attribute__ ((__deprecated__)) crbegin() const noexcept { return const_reverse_iterator(end()); } 32020: const_reverse_iterator __attribute__ ((__deprecated__)) crend() const noexcept { return const_reverse_iterator(begin()); } 32020: 32020: 32020: iterator erase(iterator i) 32020: { return erase(m2c(i)); } 32020: iterator erase(const_iterator i) 32020: { 32020: static_cast(false && (isValidIterator(i))); 32020: return q_hash.erase(reinterpret_cast(i)); 32020: } 32020: 32020: 32020: typedef iterator Iterator; 32020: typedef const_iterator ConstIterator; 32020: inline int count() const { return q_hash.count(); } 32020: inline iterator insert(const T &value) 32020: { return static_cast(q_hash.insert(value, QHashDummyValue())); } 32020: iterator find(const T &value) { return q_hash.find(value); } 32020: const_iterator find(const T &value) const { return q_hash.find(value); } 32020: inline const_iterator constFind(const T &value) const { return find(value); } 32020: QSet &unite(const QSet &other); 32020: QSet &intersect(const QSet &other); 32020: bool intersects(const QSet &other) const; 32020: QSet &subtract(const QSet &other); 32020: 32020: 32020: typedef T key_type; 32020: typedef T value_type; 32020: typedef value_type *pointer; 32020: typedef const value_type *const_pointer; 32020: typedef value_type &reference; 32020: typedef const value_type &const_reference; 32020: typedef qptrdiff difference_type; 32020: typedef int size_type; 32020: 32020: inline bool empty() const { return isEmpty(); } 32020: 32020: inline QSet &operator<<(const T &value) { insert(value); return *this; } 32020: inline QSet &operator|=(const QSet &other) { unite(other); return *this; } 32020: inline QSet &operator|=(const T &value) { insert(value); return *this; } 32020: inline QSet &operator&=(const QSet &other) { intersect(other); return *this; } 32020: inline QSet &operator&=(const T &value) 32020: { QSet result; if (contains(value)) result.insert(value); return (*this = result); } 32020: inline QSet &operator+=(const QSet &other) { unite(other); return *this; } 32020: inline QSet &operator+=(const T &value) { insert(value); return *this; } 32020: inline QSet &operator-=(const QSet &other) { subtract(other); return *this; } 32020: inline QSet &operator-=(const T &value) { remove(value); return *this; } 32020: inline QSet operator|(const QSet &other) const 32020: { QSet result = *this; result |= other; return result; } 32020: inline QSet operator&(const QSet &other) const 32020: { QSet result = *this; result &= other; return result; } 32020: inline QSet operator+(const QSet &other) const 32020: { QSet result = *this; result += other; return result; } 32020: inline QSet operator-(const QSet &other) const 32020: { QSet result = *this; result -= other; return result; } 32020: 32020: QList values() const; 32020: 32020: __attribute__ ((__deprecated__("Use values() instead."))) 32020: QList toList() const { return values(); } 32020: __attribute__ ((__deprecated__("Use QSet(list.begin(), list.end()) instead."))) 32020: static QSet fromList(const QList &list); 32020: 32020: 32020: private: 32020: Hash q_hash; 32020: 32020: static const_iterator m2c(iterator it) noexcept 32020: { return const_iterator(typename Hash::const_iterator(it.i.i)); } 32020: 32020: bool isValidIterator(const iterator &i) const 32020: { 32020: return q_hash.isValidIterator(reinterpret_cast(i)); 32020: } 32020: bool isValidIterator(const const_iterator &i) const noexcept 32020: { 32020: return q_hash.isValidIterator(reinterpret_cast(i)); 32020: } 32020: }; 32020: 32020: 32020: template ::value_type, 32020: QtPrivate::IfIsInputIterator = true> 32020: QSet(InputIterator, InputIterator) -> QSet; 32020: 32020: 32020: template 32020: uint qHash(const QSet &key, uint seed = 0) 32020: noexcept(noexcept(qHashRangeCommutative(key.begin(), key.end(), seed))) 32020: { 32020: return qHashRangeCommutative(key.begin(), key.end(), seed); 32020: } 32020: 32020: 32020: 32020: template 32020: inline void QSet::reserve(int asize) { q_hash.reserve(asize); } 32020: 32020: template 32020: inline QSet &QSet::unite(const QSet &other) 32020: { 32020: if (!q_hash.isSharedWith(other.q_hash)) { 32020: for (const T &e : other) 32020: insert(e); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline QSet &QSet::intersect(const QSet &other) 32020: { 32020: QSet copy1; 32020: QSet copy2; 32020: if (size() <= other.size()) { 32020: copy1 = *this; 32020: copy2 = other; 32020: } else { 32020: copy1 = other; 32020: copy2 = *this; 32020: *this = copy1; 32020: } 32020: for (const auto &e : qAsConst(copy1)) { 32020: if (!copy2.contains(e)) 32020: remove(e); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline bool QSet::intersects(const QSet &other) const 32020: { 32020: const bool otherIsBigger = other.size() > size(); 32020: const QSet &smallestSet = otherIsBigger ? *this : other; 32020: const QSet &biggestSet = otherIsBigger ? other : *this; 32020: const bool equalSeeds = q_hash.d->seed == other.q_hash.d->seed; 32020: typename QSet::const_iterator i = smallestSet.cbegin(); 32020: typename QSet::const_iterator e = smallestSet.cend(); 32020: 32020: if (__builtin_expect(!!(equalSeeds), true)) { 32020: 32020: while (i != e) { 32020: if (*biggestSet.q_hash.findNode(*i, i.i.i->h) != biggestSet.q_hash.e) 32020: return true; 32020: ++i; 32020: } 32020: } else { 32020: while (i != e) { 32020: if (biggestSet.contains(*i)) 32020: return true; 32020: ++i; 32020: } 32020: } 32020: 32020: return false; 32020: } 32020: 32020: template 32020: inline QSet &QSet::subtract(const QSet &other) 32020: { 32020: if (q_hash.isSharedWith(other.q_hash)) { 32020: clear(); 32020: } else { 32020: for (const auto &e : other) 32020: remove(e); 32020: } 32020: return *this; 32020: } 32020: 32020: template 32020: inline bool QSet::contains(const QSet &other) const 32020: { 32020: typename QSet::const_iterator i = other.constBegin(); 32020: while (i != other.constEnd()) { 32020: if (!contains(*i)) 32020: return false; 32020: ++i; 32020: } 32020: return true; 32020: } 32020: 32020: template 32020: QList QSet::values() const 32020: { 32020: QList result; 32020: result.reserve(size()); 32020: typename QSet::const_iterator i = constBegin(); 32020: while (i != constEnd()) { 32020: result.append(*i); 32020: ++i; 32020: } 32020: return result; 32020: } 32020: 32020: 32020: 32020: 32020: # 402 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 402 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: 32020: 32020: # 403 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 32020: # 403 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: 32020: 32020: template 32020: QSet QList::toSet() const 32020: { 32020: QSet result; 32020: result.reserve(size()); 32020: for (int i = 0; i < size(); ++i) 32020: result.insert(at(i)); 32020: return result; 32020: } 32020: 32020: template 32020: QSet QSet::fromList(const QList &list) 32020: { 32020: return list.toSet(); 32020: } 32020: 32020: template 32020: QList QList::fromSet(const QSet &set) 32020: { 32020: return set.toList(); 32020: } 32020: 32020: 32020: # 427 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 427 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qset.h" 3 4 32020: 32020: 32020: 32020: 32020: 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; } }; 32020: 32020: 32020: template 32020: class QMutableSetIterator 32020: { 32020: typedef typename QSet::iterator iterator; 32020: QSet *c; 32020: iterator i, n; 32020: inline bool item_exists() const { return c->constEnd() != n; } 32020: 32020: public: 32020: inline QMutableSetIterator(QSet &container) 32020: : c(&container) 32020: { i = c->begin(); n = c->end(); } 32020: inline QMutableSetIterator &operator=(QSet &container) 32020: { c = &container; i = c->begin(); n = c->end(); return *this; } 32020: inline void toFront() { i = c->begin(); n = c->end(); } 32020: inline void toBack() { i = c->end(); n = i; } 32020: inline bool hasNext() const { return c->constEnd() != i; } 32020: inline const T &next() { n = i++; return *n; } 32020: inline const T &peekNext() const { return *i; } 32020: inline void remove() 32020: { if (c->constEnd() != n) { i = c->erase(n); n = c->end(); } } 32020: inline const T &value() const { static_cast(false && (item_exists())); return *n; } 32020: inline bool findNext(const T &t) 32020: { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } 32020: 32020: inline __attribute__ ((__deprecated__)) bool hasPrevious() const { return c->constBegin() != i; } 32020: inline __attribute__ ((__deprecated__)) const T &previous() { n = --i; return *n; } 32020: inline __attribute__ ((__deprecated__)) const T &peekPrevious() const { iterator p = i; return *--p; } 32020: inline __attribute__ ((__deprecated__)) bool findPrevious(const T &t) 32020: { while (c->constBegin() != i) if (*(n = --i) == t) return true; 32020: n = c->end(); return false; } 32020: 32020: }; 32020: 32020: 32020: 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qurl.h" 1 3 4 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qurl.h" 3 4 32020: 32020: 32020: 32020: class QUrlQuery; 32020: class QUrlPrivate; 32020: class QDataStream; 32020: 32020: template 32020: class QUrlTwoFlags 32020: { 32020: int i; 32020: typedef int QUrlTwoFlags:: *Zero; 32020: public: 32020: constexpr inline QUrlTwoFlags(E1 f) : i(f) {} 32020: constexpr inline QUrlTwoFlags(E2 f) : i(f) {} 32020: constexpr inline QUrlTwoFlags(QFlag f) : i(f) {} 32020: constexpr inline QUrlTwoFlags(QFlags f) : i(f.operator typename QFlags::Int()) {} 32020: constexpr inline QUrlTwoFlags(QFlags f) : i(f.operator typename QFlags::Int()) {} 32020: constexpr inline QUrlTwoFlags(Zero = 0) : i(0) {} 32020: 32020: inline QUrlTwoFlags &operator&=(int mask) { i &= mask; return *this; } 32020: inline QUrlTwoFlags &operator&=(uint mask) { i &= mask; return *this; } 32020: inline QUrlTwoFlags &operator|=(QUrlTwoFlags f) { i |= f.i; return *this; } 32020: inline QUrlTwoFlags &operator|=(E1 f) { i |= f; return *this; } 32020: inline QUrlTwoFlags &operator|=(E2 f) { i |= f; return *this; } 32020: inline QUrlTwoFlags &operator^=(QUrlTwoFlags f) { i ^= f.i; return *this; } 32020: inline QUrlTwoFlags &operator^=(E1 f) { i ^= f; return *this; } 32020: inline QUrlTwoFlags &operator^=(E2 f) { i ^= f; return *this; } 32020: 32020: constexpr inline operator QFlags() const { return QFlag(i); } 32020: constexpr inline operator QFlags() const { return QFlag(i); } 32020: constexpr inline operator int() const { return i; } 32020: constexpr inline bool operator!() const { return !i; } 32020: 32020: constexpr inline QUrlTwoFlags operator|(QUrlTwoFlags f) const 32020: { return QUrlTwoFlags(QFlag(i | f.i)); } 32020: constexpr inline QUrlTwoFlags operator|(E1 f) const 32020: { return QUrlTwoFlags(QFlag(i | f)); } 32020: constexpr inline QUrlTwoFlags operator|(E2 f) const 32020: { return QUrlTwoFlags(QFlag(i | f)); } 32020: constexpr inline QUrlTwoFlags operator^(QUrlTwoFlags f) const 32020: { return QUrlTwoFlags(QFlag(i ^ f.i)); } 32020: constexpr inline QUrlTwoFlags operator^(E1 f) const 32020: { return QUrlTwoFlags(QFlag(i ^ f)); } 32020: constexpr inline QUrlTwoFlags operator^(E2 f) const 32020: { return QUrlTwoFlags(QFlag(i ^ f)); } 32020: constexpr inline QUrlTwoFlags operator&(int mask) const 32020: { return QUrlTwoFlags(QFlag(i & mask)); } 32020: constexpr inline QUrlTwoFlags operator&(uint mask) const 32020: { return QUrlTwoFlags(QFlag(i & mask)); } 32020: constexpr inline QUrlTwoFlags operator&(E1 f) const 32020: { return QUrlTwoFlags(QFlag(i & f)); } 32020: constexpr inline QUrlTwoFlags operator&(E2 f) const 32020: { return QUrlTwoFlags(QFlag(i & f)); } 32020: constexpr inline QUrlTwoFlags operator~() const 32020: { return QUrlTwoFlags(QFlag(~i)); } 32020: 32020: constexpr inline bool testFlag(E1 f) const { return (i & f) == f && (f != 0 || i == int(f)); } 32020: constexpr inline bool testFlag(E2 f) const { return (i & f) == f && (f != 0 || i == int(f)); } 32020: }; 32020: 32020: template 32020: class QTypeInfo > : public QTypeInfoMerger, E1, E2> {}; 32020: 32020: class QUrl; 32020: 32020: __attribute__((visibility("default"))) uint qHash(const QUrl &url, uint seed = 0) noexcept; 32020: 32020: class __attribute__((visibility("default"))) QUrl 32020: { 32020: public: 32020: enum ParsingMode { 32020: TolerantMode, 32020: StrictMode, 32020: DecodedMode 32020: }; 32020: 32020: 32020: enum UrlFormattingOption { 32020: None = 0x0, 32020: RemoveScheme = 0x1, 32020: RemovePassword = 0x2, 32020: RemoveUserInfo = RemovePassword | 0x4, 32020: RemovePort = 0x8, 32020: RemoveAuthority = RemoveUserInfo | RemovePort | 0x10, 32020: RemovePath = 0x20, 32020: RemoveQuery = 0x40, 32020: RemoveFragment = 0x80, 32020: 32020: PreferLocalFile = 0x200, 32020: StripTrailingSlash = 0x400, 32020: RemoveFilename = 0x800, 32020: NormalizePathSegments = 0x1000 32020: }; 32020: 32020: enum ComponentFormattingOption { 32020: PrettyDecoded = 0x000000, 32020: EncodeSpaces = 0x100000, 32020: EncodeUnicode = 0x200000, 32020: EncodeDelimiters = 0x400000 | 0x800000, 32020: EncodeReserved = 0x1000000, 32020: DecodeReserved = 0x2000000, 32020: 32020: 32020: FullyEncoded = EncodeSpaces | EncodeUnicode | EncodeDelimiters | EncodeReserved, 32020: FullyDecoded = FullyEncoded | DecodeReserved | 0x4000000 32020: }; 32020: typedef QFlags ComponentFormattingOptions; 32020: # 173 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qurl.h" 3 4 32020: typedef QUrlTwoFlags FormattingOptions; 32020: 32020: 32020: QUrl(); 32020: QUrl(const QUrl ©); 32020: QUrl &operator =(const QUrl ©); 32020: 32020: 32020: 32020: QUrl(const QString &url, ParsingMode mode = TolerantMode); 32020: QUrl &operator=(const QString &url); 32020: 32020: QUrl(QUrl &&other) noexcept : d(other.d) 32020: { other.d = nullptr; } 32020: inline QUrl &operator=(QUrl &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: ~QUrl(); 32020: 32020: inline void swap(QUrl &other) noexcept { qSwap(d, other.d); } 32020: 32020: void setUrl(const QString &url, ParsingMode mode = TolerantMode); 32020: QString url(FormattingOptions options = FormattingOptions(PrettyDecoded)) const; 32020: QString toString(FormattingOptions options = FormattingOptions(PrettyDecoded)) const; 32020: QString toDisplayString(FormattingOptions options = FormattingOptions(PrettyDecoded)) const; 32020: [[nodiscard]] QUrl adjusted(FormattingOptions options) const; 32020: 32020: QByteArray toEncoded(FormattingOptions options = FullyEncoded) const; 32020: static QUrl fromEncoded(const QByteArray &url, ParsingMode mode = TolerantMode); 32020: 32020: enum UserInputResolutionOption { 32020: DefaultResolution, 32020: AssumeLocalFile 32020: }; 32020: typedef QFlags UserInputResolutionOptions; 32020: 32020: static QUrl fromUserInput(const QString &userInput); 32020: 32020: static QUrl fromUserInput(const QString &userInput, const QString &workingDirectory, 32020: UserInputResolutionOptions options = DefaultResolution); 32020: 32020: bool isValid() const; 32020: QString errorString() const; 32020: 32020: bool isEmpty() const; 32020: void clear(); 32020: 32020: void setScheme(const QString &scheme); 32020: QString scheme() const; 32020: 32020: void setAuthority(const QString &authority, ParsingMode mode = TolerantMode); 32020: QString authority(ComponentFormattingOptions options = PrettyDecoded) const; 32020: 32020: void setUserInfo(const QString &userInfo, ParsingMode mode = TolerantMode); 32020: QString userInfo(ComponentFormattingOptions options = PrettyDecoded) const; 32020: 32020: void setUserName(const QString &userName, ParsingMode mode = DecodedMode); 32020: QString userName(ComponentFormattingOptions options = FullyDecoded) const; 32020: 32020: void setPassword(const QString &password, ParsingMode mode = DecodedMode); 32020: QString password(ComponentFormattingOptions = FullyDecoded) const; 32020: 32020: void setHost(const QString &host, ParsingMode mode = DecodedMode); 32020: QString host(ComponentFormattingOptions = FullyDecoded) const; 32020: 32020: 32020: __attribute__ ((__deprecated__)) QString topLevelDomain(ComponentFormattingOptions options = FullyDecoded) const; 32020: 32020: 32020: 32020: void setPort(int port); 32020: int port(int defaultPort = -1) const; 32020: 32020: void setPath(const QString &path, ParsingMode mode = DecodedMode); 32020: QString path(ComponentFormattingOptions options = FullyDecoded) const; 32020: QString fileName(ComponentFormattingOptions options = FullyDecoded) const; 32020: 32020: bool hasQuery() const; 32020: void setQuery(const QString &query, ParsingMode mode = TolerantMode); 32020: void setQuery(const QUrlQuery &query); 32020: QString query(ComponentFormattingOptions = PrettyDecoded) const; 32020: 32020: bool hasFragment() const; 32020: QString fragment(ComponentFormattingOptions options = PrettyDecoded) const; 32020: void setFragment(const QString &fragment, ParsingMode mode = TolerantMode); 32020: 32020: [[nodiscard]] QUrl resolved(const QUrl &relative) const; 32020: 32020: bool isRelative() const; 32020: bool isParentOf(const QUrl &url) const; 32020: 32020: bool isLocalFile() const; 32020: static QUrl fromLocalFile(const QString &localfile); 32020: QString toLocalFile() const; 32020: 32020: void detach(); 32020: bool isDetached() const; 32020: 32020: bool operator <(const QUrl &url) const; 32020: bool operator ==(const QUrl &url) const; 32020: bool operator !=(const QUrl &url) const; 32020: 32020: bool matches(const QUrl &url, FormattingOptions options) const; 32020: 32020: static QString fromPercentEncoding(const QByteArray &); 32020: static QByteArray toPercentEncoding(const QString &, 32020: const QByteArray &exclude = QByteArray(), 32020: const QByteArray &include = QByteArray()); 32020: # 353 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qurl.h" 3 4 32020: private: 32020: static QString fromEncodedComponent_helper(const QByteArray &ba); 32020: 32020: public: 32020: static QString fromAce(const QByteArray &); 32020: static QByteArray toAce(const QString &); 32020: static QStringList idnWhitelist(); 32020: static QStringList toStringList(const QList &uris, FormattingOptions options = FormattingOptions(PrettyDecoded)); 32020: static QList fromStringList(const QStringList &uris, ParsingMode mode = TolerantMode); 32020: 32020: static void setIdnWhitelist(const QStringList &); 32020: friend __attribute__((visibility("default"))) uint qHash(const QUrl &url, uint seed) noexcept; 32020: 32020: private: 32020: QUrlPrivate *d; 32020: friend class QUrlQuery; 32020: 32020: public: 32020: typedef QUrlPrivate * DataPtr; 32020: inline DataPtr &data_ptr() { return d; } 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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); } 32020: 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); } 32020: 32020: 32020: 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption f1, QUrl::UrlFormattingOption f2) 32020: { return QUrl::FormattingOptions(f1) | f2; } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption f1, QUrl::FormattingOptions f2) 32020: { return f2 | f1; } 32020: constexpr inline QIncompatibleFlag operator|(QUrl::UrlFormattingOption f1, int f2) 32020: { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: 32020: inline QUrl::FormattingOptions &operator|=(QUrl::FormattingOptions &i, QUrl::ComponentFormattingOptions f) 32020: { i |= QUrl::UrlFormattingOption(int(f)); return i; } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption i, QUrl::ComponentFormattingOption f) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption i, QUrl::ComponentFormattingOptions f) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOption f, QUrl::UrlFormattingOption i) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOptions f, QUrl::UrlFormattingOption i) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::FormattingOptions i, QUrl::ComponentFormattingOptions f) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOption f, QUrl::FormattingOptions i) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOptions f, QUrl::FormattingOptions i) 32020: { return i | QUrl::UrlFormattingOption(int(f)); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QUrl &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QUrl &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QUrl &); 32020: 32020: 32020: 32020: # 55 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: 32020: 32020: class QDateTime; 32020: class QFileDevicePrivate; 32020: 32020: class __attribute__((visibility("default"))) QFileDevice : public QIODevice 32020: { 32020: 32020: public: 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: 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: 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 54 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: struct QPrivateSignal {}; 32020: 32020: inline QFileDevicePrivate* d_func() { 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: } inline const QFileDevicePrivate* d_func() const { 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfiledevice.h" 3 4 32020: } friend class QFileDevicePrivate; 32020: 32020: public: 32020: enum FileError { 32020: NoError = 0, 32020: ReadError = 1, 32020: WriteError = 2, 32020: FatalError = 3, 32020: ResourceError = 4, 32020: OpenError = 5, 32020: AbortError = 6, 32020: TimeOutError = 7, 32020: UnspecifiedError = 8, 32020: RemoveError = 9, 32020: RenameError = 10, 32020: PositionError = 11, 32020: ResizeError = 12, 32020: PermissionsError = 13, 32020: CopyError = 14 32020: }; 32020: 32020: enum FileTime { 32020: FileAccessTime, 32020: FileBirthTime, 32020: FileMetadataChangeTime, 32020: FileModificationTime 32020: }; 32020: 32020: enum Permission { 32020: ReadOwner = 0x4000, WriteOwner = 0x2000, ExeOwner = 0x1000, 32020: ReadUser = 0x0400, WriteUser = 0x0200, ExeUser = 0x0100, 32020: ReadGroup = 0x0040, WriteGroup = 0x0020, ExeGroup = 0x0010, 32020: ReadOther = 0x0004, WriteOther = 0x0002, ExeOther = 0x0001 32020: }; 32020: typedef QFlags Permissions; 32020: 32020: enum FileHandleFlag { 32020: AutoCloseHandle = 0x0001, 32020: DontCloseHandle = 0 32020: }; 32020: typedef QFlags FileHandleFlags; 32020: 32020: ~QFileDevice(); 32020: 32020: FileError error() const; 32020: void unsetError(); 32020: 32020: void close() override; 32020: 32020: bool isSequential() const override; 32020: 32020: int handle() const; 32020: virtual QString fileName() const; 32020: 32020: qint64 pos() const override; 32020: bool seek(qint64 offset) override; 32020: bool atEnd() const override; 32020: bool flush(); 32020: 32020: qint64 size() const override; 32020: 32020: virtual bool resize(qint64 sz); 32020: virtual Permissions permissions() const; 32020: virtual bool setPermissions(Permissions permissionSpec); 32020: 32020: 32020: enum MemoryMapFlags { 32020: NoOptions = 0, 32020: MapPrivateOption = 0x0001 32020: }; 32020: 32020: uchar *map(qint64 offset, qint64 size, MemoryMapFlags flags = NoOptions); 32020: bool unmap(uchar *address); 32020: 32020: QDateTime fileTime(QFileDevice::FileTime time) const; 32020: bool setFileTime(const QDateTime &newDate, QFileDevice::FileTime fileTime); 32020: 32020: protected: 32020: QFileDevice(); 32020: 32020: 32020: 32020: explicit QFileDevice(QObject *parent); 32020: QFileDevice(QFileDevicePrivate &dd, QObject *parent = nullptr); 32020: 32020: 32020: qint64 readData(char *data, qint64 maxlen) override; 32020: qint64 writeData(const char *data, qint64 len) override; 32020: qint64 readLineData(char *data, qint64 maxlen) override; 32020: 32020: private: 32020: QFileDevice(const QFileDevice &) = delete; QFileDevice &operator=(const QFileDevice &) = delete; 32020: }; 32020: 32020: 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); } 32020: 32020: 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QTemporaryFile; 32020: class QFilePrivate; 32020: 32020: class __attribute__((visibility("default"))) QFile : public QFileDevice 32020: { 32020: 32020: public: 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: 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: 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 60 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: struct QPrivateSignal {}; 32020: 32020: inline QFilePrivate* d_func() { 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: } inline const QFilePrivate* d_func() const { 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 62 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: } friend class QFilePrivate; 32020: 32020: public: 32020: QFile(); 32020: QFile(const QString &name); 32020: 32020: explicit QFile(QObject *parent); 32020: QFile(const QString &name, QObject *parent); 32020: 32020: ~QFile(); 32020: 32020: QString fileName() const override; 32020: void setFileName(const QString &name); 32020: # 92 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: static inline QByteArray encodeName(const QString &fileName) 32020: { 32020: return fileName.toLocal8Bit(); 32020: } 32020: static QString decodeName(const QByteArray &localFileName) 32020: { 32020: return QString::fromLocal8Bit(localFileName); 32020: } 32020: static inline QString decodeName(const char *localFileName) 32020: { 32020: return QString::fromLocal8Bit(localFileName); 32020: } 32020: # 113 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qfile.h" 3 4 32020: bool exists() const; 32020: static bool exists(const QString &fileName); 32020: 32020: 32020: __attribute__ ((__deprecated__("Use QFile::symLinkTarget() instead"))) 32020: QString readLink() const; 32020: __attribute__ ((__deprecated__("Use QFile::symLinkTarget(QString) instead"))) 32020: static QString readLink(const QString &fileName); 32020: 32020: QString symLinkTarget() const; 32020: static QString symLinkTarget(const QString &fileName); 32020: 32020: bool remove(); 32020: static bool remove(const QString &fileName); 32020: 32020: bool moveToTrash(); 32020: static bool moveToTrash(const QString &fileName, QString *pathInTrash = nullptr); 32020: 32020: bool rename(const QString &newName); 32020: static bool rename(const QString &oldName, const QString &newName); 32020: 32020: bool link(const QString &newName); 32020: static bool link(const QString &oldname, const QString &newName); 32020: 32020: bool copy(const QString &newName); 32020: static bool copy(const QString &fileName, const QString &newName); 32020: 32020: bool open(OpenMode flags) override; 32020: bool open(FILE *f, OpenMode ioFlags, FileHandleFlags handleFlags=DontCloseHandle); 32020: bool open(int fd, OpenMode ioFlags, FileHandleFlags handleFlags=DontCloseHandle); 32020: 32020: qint64 size() const override; 32020: 32020: bool resize(qint64 sz) override; 32020: static bool resize(const QString &filename, qint64 sz); 32020: 32020: Permissions permissions() const override; 32020: static Permissions permissions(const QString &filename); 32020: bool setPermissions(Permissions permissionSpec) override; 32020: static bool setPermissions(const QString &filename, Permissions permissionSpec); 32020: 32020: protected: 32020: 32020: 32020: 32020: QFile(QFilePrivate &dd, QObject *parent = nullptr); 32020: 32020: 32020: private: 32020: friend class QTemporaryFile; 32020: QFile(const QFile &) = delete; QFile &operator=(const QFile &) = delete; 32020: }; 32020: 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: 32020: 32020: 32020: class QVector3D; 32020: class QVector4D; 32020: class QVariant; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QVector2D 32020: { 32020: public: 32020: constexpr QVector2D(); 32020: explicit QVector2D(Qt::Initialization) {} 32020: constexpr QVector2D(float xpos, float ypos); 32020: constexpr explicit QVector2D(const QPoint& point); 32020: constexpr explicit QVector2D(const QPointF& point); 32020: 32020: explicit QVector2D(const QVector3D& vector); 32020: 32020: 32020: explicit QVector2D(const QVector4D& vector); 32020: 32020: 32020: bool isNull() const; 32020: 32020: constexpr float x() const; 32020: constexpr float y() const; 32020: 32020: void setX(float x); 32020: void setY(float y); 32020: 32020: float &operator[](int i); 32020: float operator[](int i) const; 32020: 32020: float length() const; 32020: float lengthSquared() const; 32020: 32020: [[nodiscard]] QVector2D normalized() const; 32020: void normalize(); 32020: 32020: float distanceToPoint(const QVector2D &point) const; 32020: float distanceToLine(const QVector2D& point, const QVector2D& direction) const; 32020: 32020: QVector2D &operator+=(const QVector2D &vector); 32020: QVector2D &operator-=(const QVector2D &vector); 32020: QVector2D &operator*=(float factor); 32020: QVector2D &operator*=(const QVector2D &vector); 32020: QVector2D &operator/=(float divisor); 32020: inline QVector2D &operator/=(const QVector2D &vector); 32020: 32020: static float dotProduct(const QVector2D& v1, const QVector2D& v2); 32020: 32020: constexpr friend inline bool operator==(const QVector2D &v1, const QVector2D &v2); 32020: constexpr friend inline bool operator!=(const QVector2D &v1, const QVector2D &v2); 32020: constexpr friend inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2); 32020: constexpr friend inline const QVector2D operator-(const QVector2D &v1, const QVector2D &v2); 32020: constexpr friend inline const QVector2D operator*(float factor, const QVector2D &vector); 32020: constexpr friend inline const QVector2D operator*(const QVector2D &vector, float factor); 32020: constexpr friend inline const QVector2D operator*(const QVector2D &v1, const QVector2D &v2); 32020: constexpr friend inline const QVector2D operator-(const QVector2D &vector); 32020: constexpr friend inline const QVector2D operator/(const QVector2D &vector, float divisor); 32020: constexpr friend inline const QVector2D operator/(const QVector2D &vector, const QVector2D &divisor); 32020: 32020: constexpr friend inline bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2); 32020: 32020: 32020: QVector3D toVector3D() const; 32020: 32020: 32020: QVector4D toVector4D() const; 32020: 32020: 32020: constexpr QPoint toPoint() const; 32020: constexpr QPointF toPointF() const; 32020: 32020: operator QVariant() const; 32020: 32020: private: 32020: float v[2]; 32020: 32020: friend class QVector3D; 32020: friend class QVector4D; 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: constexpr inline QVector2D::QVector2D() : v{0.0f, 0.0f} {} 32020: 32020: constexpr inline QVector2D::QVector2D(float xpos, float ypos) : v{xpos, ypos} {} 32020: 32020: constexpr inline QVector2D::QVector2D(const QPoint& point) : v{float(point.x()), float(point.y())} {} 32020: 32020: constexpr inline QVector2D::QVector2D(const QPointF& point) : v{float(point.x()), float(point.y())} {} 32020: 32020: inline bool QVector2D::isNull() const 32020: { 32020: return qIsNull(v[0]) && qIsNull(v[1]); 32020: } 32020: 32020: constexpr inline float QVector2D::x() const { return v[0]; } 32020: constexpr inline float QVector2D::y() const { return v[1]; } 32020: 32020: inline void QVector2D::setX(float aX) { v[0] = aX; } 32020: inline void QVector2D::setY(float aY) { v[1] = aY; } 32020: 32020: inline float &QVector2D::operator[](int i) 32020: { 32020: static_cast(false && (uint(i) < 2u)); 32020: return v[i]; 32020: } 32020: 32020: inline float QVector2D::operator[](int i) const 32020: { 32020: static_cast(false && (uint(i) < 2u)); 32020: return v[i]; 32020: } 32020: 32020: inline QVector2D &QVector2D::operator+=(const QVector2D &vector) 32020: { 32020: v[0] += vector.v[0]; 32020: v[1] += vector.v[1]; 32020: return *this; 32020: } 32020: 32020: inline QVector2D &QVector2D::operator-=(const QVector2D &vector) 32020: { 32020: v[0] -= vector.v[0]; 32020: v[1] -= vector.v[1]; 32020: return *this; 32020: } 32020: 32020: inline QVector2D &QVector2D::operator*=(float factor) 32020: { 32020: v[0] *= factor; 32020: v[1] *= factor; 32020: return *this; 32020: } 32020: 32020: inline QVector2D &QVector2D::operator*=(const QVector2D &vector) 32020: { 32020: v[0] *= vector.v[0]; 32020: v[1] *= vector.v[1]; 32020: return *this; 32020: } 32020: 32020: inline QVector2D &QVector2D::operator/=(float divisor) 32020: { 32020: v[0] /= divisor; 32020: v[1] /= divisor; 32020: return *this; 32020: } 32020: 32020: inline QVector2D &QVector2D::operator/=(const QVector2D &vector) 32020: { 32020: v[0] /= vector.v[0]; 32020: v[1] /= vector.v[1]; 32020: return *this; 32020: } 32020: 32020: 32020: # 207 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 207 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: 32020: 32020: 32020: # 209 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wfloat-equal" 32020: # 209 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: 32020: 32020: constexpr inline bool operator==(const QVector2D &v1, const QVector2D &v2) 32020: { 32020: return v1.v[0] == v2.v[0] && v1.v[1] == v2.v[1]; 32020: } 32020: 32020: constexpr inline bool operator!=(const QVector2D &v1, const QVector2D &v2) 32020: { 32020: return v1.v[0] != v2.v[0] || v1.v[1] != v2.v[1]; 32020: } 32020: 32020: # 220 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 220 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qvector2d.h" 3 4 32020: 32020: 32020: constexpr inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2) 32020: { 32020: return QVector2D(v1.v[0] + v2.v[0], v1.v[1] + v2.v[1]); 32020: } 32020: 32020: constexpr inline const QVector2D operator-(const QVector2D &v1, const QVector2D &v2) 32020: { 32020: return QVector2D(v1.v[0] - v2.v[0], v1.v[1] - v2.v[1]); 32020: } 32020: 32020: constexpr inline const QVector2D operator*(float factor, const QVector2D &vector) 32020: { 32020: return QVector2D(vector.v[0] * factor, vector.v[1] * factor); 32020: } 32020: 32020: constexpr inline const QVector2D operator*(const QVector2D &vector, float factor) 32020: { 32020: return QVector2D(vector.v[0] * factor, vector.v[1] * factor); 32020: } 32020: 32020: constexpr inline const QVector2D operator*(const QVector2D &v1, const QVector2D &v2) 32020: { 32020: return QVector2D(v1.v[0] * v2.v[0], v1.v[1] * v2.v[1]); 32020: } 32020: 32020: constexpr inline const QVector2D operator-(const QVector2D &vector) 32020: { 32020: return QVector2D(-vector.v[0], -vector.v[1]); 32020: } 32020: 32020: constexpr inline const QVector2D operator/(const QVector2D &vector, float divisor) 32020: { 32020: return QVector2D(vector.v[0] / divisor, vector.v[1] / divisor); 32020: } 32020: 32020: constexpr inline const QVector2D operator/(const QVector2D &vector, const QVector2D &divisor) 32020: { 32020: return QVector2D(vector.v[0] / divisor.v[0], vector.v[1] / divisor.v[1]); 32020: } 32020: 32020: constexpr inline bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2) 32020: { 32020: return qFuzzyCompare(v1.v[0], v2.v[0]) && qFuzzyCompare(v1.v[1], v2.v[1]); 32020: } 32020: 32020: constexpr inline QPoint QVector2D::toPoint() const 32020: { 32020: return QPoint(qRound(v[0]), qRound(v[1])); 32020: } 32020: 32020: constexpr inline QPointF QVector2D::toPointF() const 32020: { 32020: return QPointF(qreal(v[0]), qreal(v[1])); 32020: } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug dbg, const QVector2D &vector); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QVector2D &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QVector2D &); 32020: 32020: 32020: 32020: 32020: 32020: # 57 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: 32020: 32020: class QDebug; 32020: class QTouchDevicePrivate; 32020: 32020: class __attribute__((visibility("default"))) QTouchDevice 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qtouchdevice.h" 3 4 32020: 32020: public: 32020: enum DeviceType { 32020: TouchScreen, 32020: TouchPad 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(DeviceType) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(DeviceType) noexcept { return "DeviceType"; } 32020: 32020: enum CapabilityFlag { 32020: Position = 0x0001, 32020: Area = 0x0002, 32020: Pressure = 0x0004, 32020: Velocity = 0x0008, 32020: RawPositions = 0x0010, 32020: NormalizedPosition = 0x0020, 32020: MouseEmulation = 0x0040 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(CapabilityFlag) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(CapabilityFlag) noexcept { return "CapabilityFlag"; } 32020: typedef QFlags Capabilities; 32020: 32020: QTouchDevice(); 32020: ~QTouchDevice(); 32020: 32020: static QList devices(); 32020: 32020: QString name() const; 32020: DeviceType type() const; 32020: Capabilities capabilities() const; 32020: int maximumTouchPoints() const; 32020: 32020: void setName(const QString &name); 32020: void setType(DeviceType devType); 32020: void setCapabilities(Capabilities caps); 32020: void setMaximumTouchPoints(int max); 32020: 32020: private: 32020: QTouchDevicePrivate *d; 32020: friend class QTouchDevicePrivate; 32020: }; 32020: 32020: 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); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTouchDevice *); 32020: 32020: 32020: 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 2 3 4 32020: 32020: 32020: 32020: 32020: class QAction; 32020: 32020: class QGesture; 32020: 32020: class QScreen; 32020: 32020: class __attribute__((visibility("default"))) QInputEvent : public QEvent 32020: { 32020: public: 32020: explicit QInputEvent(Type type, Qt::KeyboardModifiers modifiers = Qt::NoModifier); 32020: ~QInputEvent(); 32020: inline Qt::KeyboardModifiers modifiers() const { return modState; } 32020: inline void setModifiers(Qt::KeyboardModifiers amodifiers) { modState = amodifiers; } 32020: inline ulong timestamp() const { return ts; } 32020: inline void setTimestamp(ulong atimestamp) { ts = atimestamp; } 32020: protected: 32020: Qt::KeyboardModifiers modState; 32020: ulong ts; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QEnterEvent : public QEvent 32020: { 32020: public: 32020: QEnterEvent(const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos); 32020: ~QEnterEvent(); 32020: 32020: 32020: inline QPoint pos() const { return l.toPoint(); } 32020: inline QPoint globalPos() const { return s.toPoint(); } 32020: inline int x() const { return qRound(l.x()); } 32020: inline int y() const { return qRound(l.y()); } 32020: inline int globalX() const { return qRound(s.x()); } 32020: inline int globalY() const { return qRound(s.y()); } 32020: 32020: const QPointF &localPos() const { return l; } 32020: const QPointF &windowPos() const { return w; } 32020: const QPointF &screenPos() const { return s; } 32020: 32020: protected: 32020: QPointF l, w, s; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QMouseEvent : public QInputEvent 32020: { 32020: public: 32020: QMouseEvent(Type type, const QPointF &localPos, Qt::MouseButton button, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); 32020: QMouseEvent(Type type, const QPointF &localPos, const QPointF &screenPos, 32020: Qt::MouseButton button, Qt::MouseButtons buttons, 32020: Qt::KeyboardModifiers modifiers); 32020: QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, 32020: Qt::MouseButton button, Qt::MouseButtons buttons, 32020: Qt::KeyboardModifiers modifiers); 32020: QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, 32020: Qt::MouseButton button, Qt::MouseButtons buttons, 32020: Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source); 32020: ~QMouseEvent(); 32020: 32020: 32020: inline QPoint pos() const { return l.toPoint(); } 32020: inline QPoint globalPos() const { return s.toPoint(); } 32020: inline int x() const { return qRound(l.x()); } 32020: inline int y() const { return qRound(l.y()); } 32020: inline int globalX() const { return qRound(s.x()); } 32020: inline int globalY() const { return qRound(s.y()); } 32020: 32020: const QPointF &localPos() const { return l; } 32020: const QPointF &windowPos() const { return w; } 32020: const QPointF &screenPos() const { return s; } 32020: 32020: inline Qt::MouseButton button() const { return b; } 32020: inline Qt::MouseButtons buttons() const { return mouseState; } 32020: 32020: inline void setLocalPos(const QPointF &localPosition) { l = localPosition; } 32020: 32020: 32020: 32020: 32020: 32020: Qt::MouseEventSource source() const; 32020: Qt::MouseEventFlags flags() const; 32020: 32020: protected: 32020: QPointF l, w, s; 32020: Qt::MouseButton b; 32020: Qt::MouseButtons mouseState; 32020: int caps; 32020: QVector2D velocity; 32020: 32020: friend class QGuiApplicationPrivate; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QHoverEvent : public QInputEvent 32020: { 32020: public: 32020: QHoverEvent(Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); 32020: ~QHoverEvent(); 32020: 32020: 32020: inline QPoint pos() const { return p.toPoint(); } 32020: inline QPoint oldPos() const { return op.toPoint(); } 32020: 32020: 32020: inline const QPointF &posF() const { return p; } 32020: inline const QPointF &oldPosF() const { return op; } 32020: 32020: protected: 32020: QPointF p, op; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QWheelEvent : public QInputEvent 32020: { 32020: public: 32020: enum { DefaultDeltasPerStep = 120 }; 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use the last QWheelEvent constructor taking pixelDelta, angleDelta, phase, and inverted"))) 32020: QWheelEvent(const QPointF &pos, int delta, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, 32020: Qt::Orientation orient = Qt::Vertical); 32020: 32020: __attribute__ ((__deprecated__("Use the last QWheelEvent constructor taking pixelDelta, angleDelta, phase, and inverted"))) 32020: QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, 32020: Qt::Orientation orient = Qt::Vertical); 32020: __attribute__ ((__deprecated__("Use the last QWheelEvent constructor taking pixelDelta, angleDelta, phase, and inverted"))) 32020: QWheelEvent(const QPointF &pos, const QPointF& globalPos, 32020: QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); 32020: __attribute__ ((__deprecated__("Use the last QWheelEvent constructor taking pixelDelta, angleDelta, phase, and inverted"))) 32020: QWheelEvent(const QPointF &pos, const QPointF& globalPos, 32020: QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase); 32020: __attribute__ ((__deprecated__("Use the last QWheelEvent constructor taking pixelDelta, angleDelta, phase, and inverted"))) 32020: QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, 32020: int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, 32020: Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source); 32020: __attribute__ ((__deprecated__("Use the last QWheelEvent constructor taking pixelDelta, angleDelta, phase, and inverted"))) 32020: QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, 32020: int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, 32020: Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted); 32020: 32020: 32020: QWheelEvent(QPointF pos, QPointF globalPos, QPoint pixelDelta, QPoint angleDelta, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, 32020: bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); 32020: ~QWheelEvent(); 32020: 32020: 32020: inline QPoint pixelDelta() const { return pixelD; } 32020: inline QPoint angleDelta() const { return angleD; } 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use angleDelta()"))) 32020: inline int delta() const { return qt4D; } 32020: 32020: __attribute__ ((__deprecated__("Use angleDelta()"))) 32020: inline Qt::Orientation orientation() const { return qt4O; } 32020: 32020: __attribute__ ((__deprecated__("Use position()"))) 32020: inline QPoint pos() const { return p.toPoint(); } 32020: __attribute__ ((__deprecated__("Use globalPosition()"))) 32020: inline QPoint globalPos() const { return g.toPoint(); } 32020: __attribute__ ((__deprecated__("Use position()"))) 32020: inline int x() const { return int(p.x()); } 32020: __attribute__ ((__deprecated__("Use position()"))) 32020: inline int y() const { return int(p.y()); } 32020: __attribute__ ((__deprecated__("Use globalPosition()"))) 32020: inline int globalX() const { return int(g.x()); } 32020: __attribute__ ((__deprecated__("Use globalPosition()"))) 32020: inline int globalY() const { return int(g.y()); } 32020: 32020: __attribute__ ((__deprecated__("Use position()"))) 32020: inline const QPointF &posF() const { return p; } 32020: __attribute__ ((__deprecated__("Use globalPosition()"))) 32020: inline const QPointF &globalPosF() const { return g; } 32020: 32020: 32020: inline QPointF position() const { return p; } 32020: inline QPointF globalPosition() const { return g; } 32020: 32020: inline Qt::MouseButtons buttons() const { return mouseState; } 32020: 32020: inline Qt::ScrollPhase phase() const { return Qt::ScrollPhase(ph); } 32020: inline bool inverted() const { return invertedScrolling; } 32020: 32020: Qt::MouseEventSource source() const { return Qt::MouseEventSource(src); } 32020: 32020: protected: 32020: QPointF p; 32020: QPointF g; 32020: QPoint pixelD; 32020: QPoint angleD; 32020: int qt4D = 0; 32020: Qt::Orientation qt4O = Qt::Vertical; 32020: Qt::MouseButtons mouseState = Qt::NoButton; 32020: uint _unused_ : 2; 32020: uint src: 2; 32020: bool invertedScrolling : 1; 32020: uint ph : 3; 32020: int reserved : 24; 32020: 32020: friend class QApplication; 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QTabletEvent : public QInputEvent 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 274 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 274 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: 32020: # 274 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 274 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 274 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 274 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: 32020: public: 32020: enum TabletDevice { NoDevice, Puck, Stylus, Airbrush, FourDMouse, 32020: XFreeEraser , RotationStylus }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(TabletDevice) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(TabletDevice) noexcept { return "TabletDevice"; } 32020: enum PointerType { UnknownPointer, Pen, Cursor, Eraser }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(PointerType) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(PointerType) noexcept { return "PointerType"; } 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use the other QTabletEvent constructor"))) 32020: QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, 32020: int device, int pointerType, qreal pressure, int xTilt, int yTilt, 32020: qreal tangentialPressure, qreal rotation, int z, 32020: Qt::KeyboardModifiers keyState, qint64 uniqueID); 32020: 32020: QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, 32020: int device, int pointerType, qreal pressure, int xTilt, int yTilt, 32020: qreal tangentialPressure, qreal rotation, int z, 32020: Qt::KeyboardModifiers keyState, qint64 uniqueID, 32020: Qt::MouseButton button, Qt::MouseButtons buttons); 32020: ~QTabletEvent(); 32020: 32020: inline QPoint pos() const { return mPos.toPoint(); } 32020: inline QPoint globalPos() const { return mGPos.toPoint(); } 32020: 32020: 32020: 32020: 32020: inline const QPointF &posF() const { return mPos; } 32020: inline const QPointF &globalPosF() const { return mGPos; } 32020: 32020: inline int x() const { return qRound(mPos.x()); } 32020: inline int y() const { return qRound(mPos.y()); } 32020: inline int globalX() const { return qRound(mGPos.x()); } 32020: inline int globalY() const { return qRound(mGPos.y()); } 32020: 32020: __attribute__ ((__deprecated__("use globalPosF().x()"))) 32020: inline qreal hiResGlobalX() const { return mGPos.x(); } 32020: __attribute__ ((__deprecated__("use globalPosF().y()"))) 32020: inline qreal hiResGlobalY() const { return mGPos.y(); } 32020: __attribute__ ((__deprecated__("Use deviceType()"))) 32020: inline TabletDevice device() const { return TabletDevice(mDev); } 32020: 32020: inline TabletDevice deviceType() const { return TabletDevice(mDev); } 32020: inline PointerType pointerType() const { return PointerType(mPointerType); } 32020: inline qint64 uniqueId() const { return mUnique; } 32020: inline qreal pressure() const { return mPress; } 32020: inline int z() const { return mZ; } 32020: inline qreal tangentialPressure() const { return mTangential; } 32020: inline qreal rotation() const { return mRot; } 32020: inline int xTilt() const { return mXT; } 32020: inline int yTilt() const { return mYT; } 32020: Qt::MouseButton button() const; 32020: Qt::MouseButtons buttons() const; 32020: 32020: protected: 32020: QPointF mPos, mGPos; 32020: int mDev, mPointerType, mXT, mYT, mZ; 32020: qreal mPress, mTangential, mRot; 32020: qint64 mUnique; 32020: 32020: 32020: 32020: void *mExtra; 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QNativeGestureEvent : public QInputEvent 32020: { 32020: public: 32020: 32020: __attribute__ ((__deprecated__)) QNativeGestureEvent(Qt::NativeGestureType type, const QPointF &localPos, const QPointF &windowPos, 32020: const QPointF &screenPos, qreal value, ulong sequenceId, quint64 intArgument); 32020: 32020: QNativeGestureEvent(Qt::NativeGestureType type, const QTouchDevice *dev, const QPointF &localPos, const QPointF &windowPos, 32020: const QPointF &screenPos, qreal value, ulong sequenceId, quint64 intArgument); 32020: ~QNativeGestureEvent(); 32020: Qt::NativeGestureType gestureType() const { return mGestureType; } 32020: qreal value() const { return mRealValue; } 32020: 32020: 32020: inline const QPoint pos() const { return mLocalPos.toPoint(); } 32020: inline const QPoint globalPos() const { return mScreenPos.toPoint(); } 32020: 32020: const QPointF &localPos() const { return mLocalPos; } 32020: const QPointF &windowPos() const { return mWindowPos; } 32020: const QPointF &screenPos() const { return mScreenPos; } 32020: 32020: const QTouchDevice *device() const; 32020: 32020: protected: 32020: Qt::NativeGestureType mGestureType; 32020: QPointF mLocalPos; 32020: QPointF mWindowPos; 32020: QPointF mScreenPos; 32020: qreal mRealValue; 32020: ulong mSequenceId; 32020: quint64 mIntValue; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QKeyEvent : public QInputEvent 32020: { 32020: public: 32020: QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), 32020: bool autorep = false, ushort count = 1); 32020: QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, 32020: quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, 32020: const QString &text = QString(), bool autorep = false, ushort count = 1); 32020: ~QKeyEvent(); 32020: 32020: int key() const { return k; } 32020: 32020: bool matches(QKeySequence::StandardKey key) const; 32020: 32020: Qt::KeyboardModifiers modifiers() const; 32020: inline QString text() const { return txt; } 32020: inline bool isAutoRepeat() const { return autor; } 32020: inline int count() const { return int(c); } 32020: 32020: inline quint32 nativeScanCode() const { return nScanCode; } 32020: inline quint32 nativeVirtualKey() const { return nVirtualKey; } 32020: inline quint32 nativeModifiers() const { return nModifiers; } 32020: # 416 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: protected: 32020: QString txt; 32020: int k; 32020: quint32 nScanCode; 32020: quint32 nVirtualKey; 32020: quint32 nModifiers; 32020: ushort c; 32020: ushort autor:1; 32020: 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QFocusEvent : public QEvent 32020: { 32020: public: 32020: explicit QFocusEvent(Type type, Qt::FocusReason reason=Qt::OtherFocusReason); 32020: ~QFocusEvent(); 32020: 32020: inline bool gotFocus() const { return type() == FocusIn; } 32020: inline bool lostFocus() const { return type() == FocusOut; } 32020: 32020: Qt::FocusReason reason() const; 32020: 32020: private: 32020: Qt::FocusReason m_reason; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QPaintEvent : public QEvent 32020: { 32020: public: 32020: explicit QPaintEvent(const QRegion& paintRegion); 32020: explicit QPaintEvent(const QRect &paintRect); 32020: ~QPaintEvent(); 32020: 32020: inline const QRect &rect() const { return m_rect; } 32020: inline const QRegion ®ion() const { return m_region; } 32020: 32020: protected: 32020: QRect m_rect; 32020: QRegion m_region; 32020: bool m_erased; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QMoveEvent : public QEvent 32020: { 32020: public: 32020: QMoveEvent(const QPoint &pos, const QPoint &oldPos); 32020: ~QMoveEvent(); 32020: 32020: inline const QPoint &pos() const { return p; } 32020: inline const QPoint &oldPos() const { return oldp;} 32020: protected: 32020: QPoint p, oldp; 32020: friend class QApplication; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QExposeEvent : public QEvent 32020: { 32020: public: 32020: explicit QExposeEvent(const QRegion &rgn); 32020: ~QExposeEvent(); 32020: 32020: inline const QRegion ®ion() const { return rgn; } 32020: 32020: protected: 32020: QRegion rgn; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QPlatformSurfaceEvent : public QEvent 32020: { 32020: public: 32020: enum SurfaceEventType { 32020: SurfaceCreated, 32020: SurfaceAboutToBeDestroyed 32020: }; 32020: 32020: explicit QPlatformSurfaceEvent(SurfaceEventType surfaceEventType); 32020: ~QPlatformSurfaceEvent(); 32020: 32020: inline SurfaceEventType surfaceEventType() const { return m_surfaceEventType; } 32020: 32020: protected: 32020: SurfaceEventType m_surfaceEventType; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QResizeEvent : public QEvent 32020: { 32020: public: 32020: QResizeEvent(const QSize &size, const QSize &oldSize); 32020: ~QResizeEvent(); 32020: 32020: inline const QSize &size() const { return s; } 32020: inline const QSize &oldSize()const { return olds;} 32020: protected: 32020: QSize s, olds; 32020: friend class QApplication; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QCloseEvent : public QEvent 32020: { 32020: public: 32020: QCloseEvent(); 32020: ~QCloseEvent(); 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QIconDragEvent : public QEvent 32020: { 32020: public: 32020: QIconDragEvent(); 32020: ~QIconDragEvent(); 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QShowEvent : public QEvent 32020: { 32020: public: 32020: QShowEvent(); 32020: ~QShowEvent(); 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QHideEvent : public QEvent 32020: { 32020: public: 32020: QHideEvent(); 32020: ~QHideEvent(); 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QContextMenuEvent : public QInputEvent 32020: { 32020: public: 32020: enum Reason { Mouse, Keyboard, Other }; 32020: 32020: QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos, 32020: Qt::KeyboardModifiers modifiers); 32020: QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos); 32020: QContextMenuEvent(Reason reason, const QPoint &pos); 32020: ~QContextMenuEvent(); 32020: 32020: inline int x() const { return p.x(); } 32020: inline int y() const { return p.y(); } 32020: inline int globalX() const { return gp.x(); } 32020: inline int globalY() const { return gp.y(); } 32020: 32020: inline const QPoint& pos() const { return p; } 32020: inline const QPoint& globalPos() const { return gp; } 32020: 32020: inline Reason reason() const { return Reason(reas); } 32020: 32020: protected: 32020: QPoint p; 32020: QPoint gp; 32020: uint reas : 8; 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QInputMethodEvent : public QEvent 32020: { 32020: public: 32020: enum AttributeType { 32020: TextFormat, 32020: Cursor, 32020: Language, 32020: Ruby, 32020: Selection 32020: }; 32020: class Attribute { 32020: public: 32020: Attribute(AttributeType typ, int s, int l, QVariant val) : type(typ), start(s), length(l), value(std::move(val)) {} 32020: Attribute(AttributeType typ, int s, int l) : type(typ), start(s), length(l), value() {} 32020: 32020: AttributeType type; 32020: int start; 32020: int length; 32020: QVariant value; 32020: }; 32020: QInputMethodEvent(); 32020: QInputMethodEvent(const QString &preeditText, const QList &attributes); 32020: ~QInputMethodEvent(); 32020: 32020: void setCommitString(const QString &commitString, int replaceFrom = 0, int replaceLength = 0); 32020: inline const QList &attributes() const { return attrs; } 32020: inline const QString &preeditString() const { return preedit; } 32020: 32020: inline const QString &commitString() const { return commit; } 32020: inline int replacementStart() const { return replace_from; } 32020: inline int replacementLength() const { return replace_length; } 32020: 32020: QInputMethodEvent(const QInputMethodEvent &other); 32020: 32020: private: 32020: QString preedit; 32020: QList attrs; 32020: QString commit; 32020: int replace_from; 32020: int replace_length; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: class __attribute__((visibility("default"))) QInputMethodQueryEvent : public QEvent 32020: { 32020: public: 32020: explicit QInputMethodQueryEvent(Qt::InputMethodQueries queries); 32020: ~QInputMethodQueryEvent(); 32020: 32020: Qt::InputMethodQueries queries() const { return m_queries; } 32020: 32020: void setValue(Qt::InputMethodQuery query, const QVariant &value); 32020: QVariant value(Qt::InputMethodQuery query) const; 32020: private: 32020: Qt::InputMethodQueries m_queries; 32020: struct QueryPair { 32020: Qt::InputMethodQuery query; 32020: QVariant value; 32020: }; 32020: friend QTypeInfo; 32020: QVector m_values; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: 32020: class QMimeData; 32020: 32020: class __attribute__((visibility("default"))) QDropEvent : public QEvent 32020: { 32020: public: 32020: QDropEvent(const QPointF& pos, Qt::DropActions actions, const QMimeData *data, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = Drop); 32020: ~QDropEvent(); 32020: 32020: inline QPoint pos() const { return p.toPoint(); } 32020: inline const QPointF &posF() const { return p; } 32020: inline Qt::MouseButtons mouseButtons() const { return mouseState; } 32020: inline Qt::KeyboardModifiers keyboardModifiers() const { return modState; } 32020: 32020: inline Qt::DropActions possibleActions() const { return act; } 32020: inline Qt::DropAction proposedAction() const { return default_action; } 32020: inline void acceptProposedAction() { drop_action = default_action; accept(); } 32020: 32020: inline Qt::DropAction dropAction() const { return drop_action; } 32020: void setDropAction(Qt::DropAction action); 32020: 32020: QObject* source() const; 32020: inline const QMimeData *mimeData() const { return mdata; } 32020: 32020: protected: 32020: friend class QApplication; 32020: QPointF p; 32020: Qt::MouseButtons mouseState; 32020: Qt::KeyboardModifiers modState; 32020: Qt::DropActions act; 32020: Qt::DropAction drop_action; 32020: Qt::DropAction default_action; 32020: const QMimeData *mdata; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QDragMoveEvent : public QDropEvent 32020: { 32020: public: 32020: QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove); 32020: ~QDragMoveEvent(); 32020: 32020: inline QRect answerRect() const { return rect; } 32020: 32020: inline void accept() { QDropEvent::accept(); } 32020: inline void ignore() { QDropEvent::ignore(); } 32020: 32020: inline void accept(const QRect & r) { accept(); rect = r; } 32020: inline void ignore(const QRect & r) { ignore(); rect = r; } 32020: 32020: protected: 32020: QRect rect; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QDragEnterEvent : public QDragMoveEvent 32020: { 32020: public: 32020: QDragEnterEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, 32020: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); 32020: ~QDragEnterEvent(); 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QDragLeaveEvent : public QEvent 32020: { 32020: public: 32020: QDragLeaveEvent(); 32020: ~QDragLeaveEvent(); 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QHelpEvent : public QEvent 32020: { 32020: public: 32020: QHelpEvent(Type type, const QPoint &pos, const QPoint &globalPos); 32020: ~QHelpEvent(); 32020: 32020: inline int x() const { return p.x(); } 32020: inline int y() const { return p.y(); } 32020: inline int globalX() const { return gp.x(); } 32020: inline int globalY() const { return gp.y(); } 32020: 32020: inline const QPoint& pos() const { return p; } 32020: inline const QPoint& globalPos() const { return gp; } 32020: 32020: private: 32020: QPoint p; 32020: QPoint gp; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QStatusTipEvent : public QEvent 32020: { 32020: public: 32020: explicit QStatusTipEvent(const QString &tip); 32020: ~QStatusTipEvent(); 32020: 32020: inline QString tip() const { return s; } 32020: private: 32020: QString s; 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QWhatsThisClickedEvent : public QEvent 32020: { 32020: public: 32020: explicit QWhatsThisClickedEvent(const QString &href); 32020: ~QWhatsThisClickedEvent(); 32020: 32020: inline QString href() const { return s; } 32020: private: 32020: QString s; 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QActionEvent : public QEvent 32020: { 32020: QAction *act, *bef; 32020: public: 32020: QActionEvent(int type, QAction *action, QAction *before = nullptr); 32020: ~QActionEvent(); 32020: 32020: inline QAction *action() const { return act; } 32020: inline QAction *before() const { return bef; } 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QFileOpenEvent : public QEvent 32020: { 32020: public: 32020: explicit QFileOpenEvent(const QString &file); 32020: explicit QFileOpenEvent(const QUrl &url); 32020: ~QFileOpenEvent(); 32020: 32020: inline QString file() const { return f; } 32020: QUrl url() const { return m_url; } 32020: bool openFile(QFile &file, QIODevice::OpenMode flags) const; 32020: private: 32020: QString f; 32020: QUrl m_url; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QToolBarChangeEvent : public QEvent 32020: { 32020: public: 32020: explicit QToolBarChangeEvent(bool t); 32020: ~QToolBarChangeEvent(); 32020: 32020: inline bool toggle() const { return tog; } 32020: private: 32020: uint tog : 1; 32020: }; 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QShortcutEvent : public QEvent 32020: { 32020: public: 32020: QShortcutEvent(const QKeySequence &key, int id, bool ambiguous = false); 32020: ~QShortcutEvent(); 32020: 32020: inline const QKeySequence &key() const { return sequence; } 32020: inline int shortcutId() const { return sid; } 32020: inline bool isAmbiguous() const { return ambig; } 32020: protected: 32020: QKeySequence sequence; 32020: bool ambig; 32020: int sid; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QWindowStateChangeEvent: public QEvent 32020: { 32020: public: 32020: explicit QWindowStateChangeEvent(Qt::WindowStates aOldState, bool isOverride = false); 32020: ~QWindowStateChangeEvent(); 32020: 32020: inline Qt::WindowStates oldState() const { return ostate; } 32020: bool isOverride() const; 32020: 32020: private: 32020: Qt::WindowStates ostate; 32020: bool m_override; 32020: }; 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QEvent *); 32020: 32020: 32020: 32020: inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);} 32020: inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);} 32020: 32020: 32020: class __attribute__((visibility("default"))) QPointingDeviceUniqueId 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 847 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 847 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: 32020: # 847 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 847 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 847 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 847 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: 32020: 32020: public: 32020: inline __attribute__((always_inline)) 32020: constexpr QPointingDeviceUniqueId() noexcept : m_numericId(-1) {} 32020: 32020: 32020: 32020: static QPointingDeviceUniqueId fromNumericId(qint64 id); 32020: 32020: inline __attribute__((always_inline)) constexpr bool isValid() const noexcept { return m_numericId != -1; } 32020: qint64 numericId() const noexcept; 32020: 32020: private: 32020: 32020: 32020: 32020: qint64 m_numericId; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 32020: 32020: 32020: 32020: template <> class QList {}; 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept; 32020: inline bool operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept 32020: { return !operator==(lhs, rhs); } 32020: __attribute__((visibility("default"))) uint qHash(QPointingDeviceUniqueId key, uint seed = 0) noexcept; 32020: 32020: 32020: 32020: class QTouchEventTouchPointPrivate; 32020: class __attribute__((visibility("default"))) QTouchEvent : public QInputEvent 32020: { 32020: public: 32020: class __attribute__((visibility("default"))) TouchPoint 32020: { 32020: public: 32020: enum InfoFlag { 32020: Pen = 0x0001, 32020: Token = 0x0002 32020: }; 32020: 32020: 32020: 32020: typedef QFlags InfoFlags; 32020: 32020: 32020: explicit TouchPoint(int id = -1); 32020: TouchPoint(const TouchPoint &other); 32020: TouchPoint(TouchPoint &&other) noexcept 32020: : d(nullptr) 32020: { qSwap(d, other.d); } 32020: TouchPoint &operator=(TouchPoint &&other) noexcept 32020: { qSwap(d, other.d); return *this; } 32020: ~TouchPoint(); 32020: 32020: TouchPoint &operator=(const TouchPoint &other) 32020: { if ( d != other.d ) { TouchPoint copy(other); swap(copy); } return *this; } 32020: 32020: void swap(TouchPoint &other) noexcept 32020: { qSwap(d, other.d); } 32020: 32020: int id() const; 32020: QPointingDeviceUniqueId uniqueId() const; 32020: 32020: Qt::TouchPointState state() const; 32020: 32020: QPointF pos() const; 32020: QPointF startPos() const; 32020: QPointF lastPos() const; 32020: 32020: QPointF scenePos() const; 32020: QPointF startScenePos() const; 32020: QPointF lastScenePos() const; 32020: 32020: QPointF screenPos() const; 32020: QPointF startScreenPos() const; 32020: QPointF lastScreenPos() const; 32020: 32020: QPointF normalizedPos() const; 32020: QPointF startNormalizedPos() const; 32020: QPointF lastNormalizedPos() const; 32020: 32020: 32020: 32020: __attribute__ ((__deprecated__("Use pos() and ellipseDiameters()"))) 32020: QRectF rect() const; 32020: __attribute__ ((__deprecated__("Use scenePos() and ellipseDiameters()"))) 32020: QRectF sceneRect() const; 32020: __attribute__ ((__deprecated__("Use screenPos() and ellipseDiameters()"))) 32020: QRectF screenRect() const; 32020: 32020: 32020: __attribute__ ((__deprecated__("Use setPos() and setEllipseDiameters()"))) 32020: void setRect(const QRectF &rect); 32020: __attribute__ ((__deprecated__("Use setScenePos() and setEllipseDiameters()"))) 32020: void setSceneRect(const QRectF &sceneRect); 32020: __attribute__ ((__deprecated__("Use setScreenPos() and setEllipseDiameters()"))) 32020: void setScreenRect(const QRectF &screenRect); 32020: 32020: qreal pressure() const; 32020: qreal rotation() const; 32020: QSizeF ellipseDiameters() const; 32020: 32020: QVector2D velocity() const; 32020: InfoFlags flags() const; 32020: QVector rawScreenPositions() const; 32020: 32020: 32020: void setId(int id); 32020: void setUniqueId(qint64 uid); 32020: void setState(Qt::TouchPointStates state); 32020: void setPos(const QPointF &pos); 32020: void setScenePos(const QPointF &scenePos); 32020: void setScreenPos(const QPointF &screenPos); 32020: void setNormalizedPos(const QPointF &normalizedPos); 32020: void setStartPos(const QPointF &startPos); 32020: void setStartScenePos(const QPointF &startScenePos); 32020: void setStartScreenPos(const QPointF &startScreenPos); 32020: void setStartNormalizedPos(const QPointF &startNormalizedPos); 32020: void setLastPos(const QPointF &lastPos); 32020: void setLastScenePos(const QPointF &lastScenePos); 32020: void setLastScreenPos(const QPointF &lastScreenPos); 32020: void setLastNormalizedPos(const QPointF &lastNormalizedPos); 32020: void setPressure(qreal pressure); 32020: void setRotation(qreal angle); 32020: void setEllipseDiameters(const QSizeF &dia); 32020: void setVelocity(const QVector2D &v); 32020: void setFlags(InfoFlags flags); 32020: void setRawScreenPositions(const QVector &positions); 32020: 32020: private: 32020: QTouchEventTouchPointPrivate *d; 32020: friend class QGuiApplication; 32020: friend class QGuiApplicationPrivate; 32020: friend class QApplication; 32020: friend class QApplicationPrivate; 32020: friend class QQuickPointerTouchEvent; 32020: friend class QQuickMultiPointTouchArea; 32020: }; 32020: # 1001 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qevent.h" 3 4 32020: explicit QTouchEvent(QEvent::Type eventType, 32020: QTouchDevice *device = nullptr, 32020: Qt::KeyboardModifiers modifiers = Qt::NoModifier, 32020: Qt::TouchPointStates touchPointStates = Qt::TouchPointStates(), 32020: const QList &touchPoints = QList()); 32020: ~QTouchEvent(); 32020: 32020: inline QWindow *window() const { return _window; } 32020: inline QObject *target() const { return _target; } 32020: 32020: 32020: 32020: inline Qt::TouchPointStates touchPointStates() const { return _touchPointStates; } 32020: inline const QList &touchPoints() const { return _touchPoints; } 32020: inline QTouchDevice *device() const { return _device; } 32020: 32020: 32020: inline void setWindow(QWindow *awindow) { _window = awindow; } 32020: inline void setTarget(QObject *atarget) { _target = atarget; } 32020: inline void setTouchPointStates(Qt::TouchPointStates aTouchPointStates) { _touchPointStates = aTouchPointStates; } 32020: inline void setTouchPoints(const QList &atouchPoints) { _touchPoints = atouchPoints; } 32020: inline void setDevice(QTouchDevice *adevice) { _device = adevice; } 32020: 32020: protected: 32020: QWindow *_window; 32020: QObject *_target; 32020: QTouchDevice *_device; 32020: Qt::TouchPointStates _touchPointStates; 32020: QList _touchPoints; 32020: 32020: friend class QGuiApplication; 32020: friend class QGuiApplicationPrivate; 32020: friend class QApplication; 32020: friend class QApplicationPrivate; 32020: 32020: friend class QGraphicsScenePrivate; 32020: 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), 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"; } }; 32020: 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); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTouchEvent::TouchPoint &); 32020: 32020: 32020: class __attribute__((visibility("default"))) QScrollPrepareEvent : public QEvent 32020: { 32020: public: 32020: explicit QScrollPrepareEvent(const QPointF &startPos); 32020: ~QScrollPrepareEvent(); 32020: 32020: QPointF startPos() const; 32020: 32020: QSizeF viewportSize() const; 32020: QRectF contentPosRange() const; 32020: QPointF contentPos() const; 32020: 32020: void setViewportSize(const QSizeF &size); 32020: void setContentPosRange(const QRectF &rect); 32020: void setContentPos(const QPointF &pos); 32020: 32020: private: 32020: QObject* m_target; 32020: QPointF m_startPos; 32020: QSizeF m_viewportSize; 32020: QRectF m_contentPosRange; 32020: QPointF m_contentPos; 32020: }; 32020: 32020: 32020: class __attribute__((visibility("default"))) QScrollEvent : public QEvent 32020: { 32020: public: 32020: enum ScrollState 32020: { 32020: ScrollStarted, 32020: ScrollUpdated, 32020: ScrollFinished 32020: }; 32020: 32020: QScrollEvent(const QPointF &contentPos, const QPointF &overshoot, ScrollState scrollState); 32020: ~QScrollEvent(); 32020: 32020: QPointF contentPos() const; 32020: QPointF overshootDistance() const; 32020: ScrollState scrollState() const; 32020: 32020: private: 32020: QPointF m_contentPos; 32020: QPointF m_overshoot; 32020: QScrollEvent::ScrollState m_state; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QScreenOrientationChangeEvent : public QEvent 32020: { 32020: public: 32020: QScreenOrientationChangeEvent(QScreen *screen, Qt::ScreenOrientation orientation); 32020: ~QScreenOrientationChangeEvent(); 32020: 32020: QScreen *screen() const; 32020: Qt::ScreenOrientation orientation() const; 32020: 32020: private: 32020: QScreen *m_screen; 32020: Qt::ScreenOrientation m_orientation; 32020: }; 32020: 32020: class __attribute__((visibility("default"))) QApplicationStateChangeEvent : public QEvent 32020: { 32020: public: 32020: explicit QApplicationStateChangeEvent(Qt::ApplicationState state); 32020: Qt::ApplicationState applicationState() const; 32020: 32020: private: 32020: Qt::ApplicationState m_applicationState; 32020: }; 32020: 32020: 32020: # 2 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/QPaintEvent" 2 3 4 32020: # 5 "/<>/src/ui/SnackBar.h" 2 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/QTimer" 1 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasictimer.h" 1 3 4 32020: # 46 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qbasictimer.h" 3 4 32020: 32020: 32020: 32020: class QObject; 32020: 32020: class __attribute__((visibility("default"))) QBasicTimer 32020: { 32020: int id; 32020: 32020: 32020: 32020: public: 32020: 32020: __attribute__ ((__deprecated__("copy-construction is unsupported; use move-construction instead"))) 32020: QBasicTimer(const QBasicTimer &); 32020: __attribute__ ((__deprecated__("copy-assignment is unsupported; use move-assignment instead"))) 32020: QBasicTimer &operator=(const QBasicTimer &); 32020: 32020: 32020: public: 32020: constexpr QBasicTimer() noexcept : id{0} {} 32020: inline ~QBasicTimer() { if (id) stop(); } 32020: 32020: QBasicTimer(QBasicTimer &&other) noexcept 32020: : id{qExchange(other.id, 0)} 32020: {} 32020: 32020: QBasicTimer& operator=(QBasicTimer &&other) noexcept 32020: { 32020: QBasicTimer{std::move(other)}.swap(*this); 32020: return *this; 32020: } 32020: 32020: void swap(QBasicTimer &other) noexcept { qSwap(id, other.id); } 32020: 32020: bool isActive() const noexcept { return id != 0; } 32020: int timerId() const noexcept { return id; } 32020: 32020: void start(int msec, QObject *obj); 32020: void start(int msec, Qt::TimerType timerType, QObject *obj); 32020: void stop(); 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QBasicTimer)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QBasicTimer >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QBasicTimer) }; static inline const char *name() { return "QBasicTimer"; } }; 32020: 32020: inline void swap(QBasicTimer &lhs, QBasicTimer &rhs) noexcept { lhs.swap(rhs); } 32020: 32020: 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class __attribute__((visibility("default"))) QTimer : public QObject 32020: { 32020: public: 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: 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: 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 59 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: struct QPrivateSignal {}; 32020: 32020: 32020: 32020: 32020: 32020: public: 32020: explicit QTimer(QObject *parent = nullptr); 32020: ~QTimer(); 32020: 32020: inline bool isActive() const { return id >= 0; } 32020: int timerId() const { return id; } 32020: 32020: void setInterval(int msec); 32020: int interval() const { return inter; } 32020: 32020: int remainingTime() const; 32020: 32020: void setTimerType(Qt::TimerType atype) { this->type = atype; } 32020: Qt::TimerType timerType() const { return Qt::TimerType(type); } 32020: 32020: inline void setSingleShot(bool singleShot); 32020: inline bool isSingleShot() const { return single; } 32020: 32020: static void singleShot(int msec, const QObject *receiver, const char *member); 32020: static void singleShot(int msec, Qt::TimerType timerType, const QObject *receiver, const char *member); 32020: # 107 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtimer.h" 3 4 32020: template 32020: static inline void singleShot(Duration interval, const typename QtPrivate::FunctionPointer::Object *receiver, Func1 slot) 32020: { 32020: singleShot(interval, defaultTypeFor(interval), receiver, slot); 32020: } 32020: template 32020: static inline void singleShot(Duration interval, Qt::TimerType timerType, const typename QtPrivate::FunctionPointer::Object *receiver, 32020: Func1 slot) 32020: { 32020: typedef QtPrivate::FunctionPointer SlotType; 32020: 32020: 32020: static_assert(bool(int(SlotType::ArgumentCount) == 0), "The slot must not have any arguments.") 32020: ; 32020: 32020: singleShotImpl(interval, timerType, receiver, 32020: new QtPrivate::QSlotObject(slot)); 32020: } 32020: 32020: template 32020: static inline typename std::enable_if::IsPointerToMemberFunction && 32020: !std::is_same::value, void>::type 32020: singleShot(Duration interval, Func1 slot) 32020: { 32020: singleShot(interval, defaultTypeFor(interval), nullptr, std::move(slot)); 32020: } 32020: template 32020: static inline typename std::enable_if::IsPointerToMemberFunction && 32020: !std::is_same::value, void>::type 32020: singleShot(Duration interval, Qt::TimerType timerType, Func1 slot) 32020: { 32020: singleShot(interval, timerType, nullptr, std::move(slot)); 32020: } 32020: 32020: template 32020: static inline typename std::enable_if::IsPointerToMemberFunction && 32020: !std::is_same::value, void>::type 32020: singleShot(Duration interval, const QObject *context, Func1 slot) 32020: { 32020: singleShot(interval, defaultTypeFor(interval), context, std::move(slot)); 32020: } 32020: template 32020: static inline typename std::enable_if::IsPointerToMemberFunction && 32020: !std::is_same::value, void>::type 32020: singleShot(Duration interval, Qt::TimerType timerType, const QObject *context, Func1 slot) 32020: { 32020: 32020: typedef QtPrivate::FunctionPointer SlotType; 32020: static_assert(bool(int(SlotType::ArgumentCount) <= 0), "The slot must not have any arguments."); 32020: 32020: singleShotImpl(interval, timerType, context, 32020: new QtPrivate::QFunctorSlotObject::Value, void>(std::move(slot))); 32020: } 32020: 32020: template 32020: QMetaObject::Connection callOnTimeout(Args && ...args) 32020: { 32020: return QObject::connect(this, &QTimer::timeout, std::forward(args)... ); 32020: } 32020: 32020: 32020: 32020: public : 32020: void start(int msec); 32020: 32020: void start(); 32020: void stop(); 32020: 32020: public : 32020: void timeout(QPrivateSignal); 32020: 32020: public: 32020: 32020: void setInterval(std::chrono::milliseconds value) 32020: { 32020: setInterval(int(value.count())); 32020: } 32020: 32020: std::chrono::milliseconds intervalAsDuration() const 32020: { 32020: return std::chrono::milliseconds(interval()); 32020: } 32020: 32020: std::chrono::milliseconds remainingTimeAsDuration() const 32020: { 32020: return std::chrono::milliseconds(remainingTime()); 32020: } 32020: 32020: static void singleShot(std::chrono::milliseconds value, const QObject *receiver, const char *member) 32020: { 32020: singleShot(int(value.count()), receiver, member); 32020: } 32020: 32020: static void singleShot(std::chrono::milliseconds value, Qt::TimerType timerType, const QObject *receiver, const char *member) 32020: { 32020: singleShot(int(value.count()), timerType, receiver, member); 32020: } 32020: 32020: void start(std::chrono::milliseconds value) 32020: { 32020: start(int(value.count())); 32020: } 32020: 32020: 32020: protected: 32020: void timerEvent(QTimerEvent *) override; 32020: 32020: private: 32020: QTimer(const QTimer &) = delete; QTimer &operator=(const QTimer &) = delete; 32020: 32020: inline int startTimer(int){ return -1;} 32020: inline void killTimer(int){} 32020: 32020: static constexpr Qt::TimerType defaultTypeFor(int msecs) noexcept 32020: { return msecs >= 2000 ? Qt::CoarseTimer : Qt::PreciseTimer; } 32020: static void singleShotImpl(int msec, Qt::TimerType timerType, 32020: const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj); 32020: 32020: 32020: static Qt::TimerType defaultTypeFor(std::chrono::milliseconds interval) 32020: { return defaultTypeFor(int(interval.count())); } 32020: 32020: static void singleShotImpl(std::chrono::milliseconds interval, Qt::TimerType timerType, 32020: const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj) 32020: { 32020: singleShotImpl(int(interval.count()), 32020: timerType, receiver, slotObj); 32020: } 32020: 32020: 32020: int id, inter, del; 32020: uint single : 1; 32020: uint nulltimer : 1; 32020: uint type : 2; 32020: 32020: }; 32020: 32020: inline void QTimer::setSingleShot(bool asingleShot) { single = asingleShot; } 32020: 32020: 32020: # 2 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/QTimer" 2 3 4 32020: # 6 "/<>/src/ui/SnackBar.h" 2 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/deque" 1 3 32020: # 58 "/usr/arm-linux-gnueabihf/include/c++/10/deque" 3 32020: 32020: # 59 "/usr/arm-linux-gnueabihf/include/c++/10/deque" 3 32020: # 67 "/usr/arm-linux-gnueabihf/include/c++/10/deque" 3 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 1 3 32020: # 72 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: # 95 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: constexpr inline size_t 32020: __deque_buf_size(size_t __size) 32020: { return (__size < 512 32020: ? size_t(512 / __size) : size_t(1)); } 32020: # 112 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: struct _Deque_iterator 32020: { 32020: 32020: 32020: 32020: 32020: 32020: 32020: private: 32020: template 32020: using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>; 32020: public: 32020: typedef __iter<_Tp> iterator; 32020: typedef __iter const_iterator; 32020: typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer; 32020: typedef __ptr_rebind<_Ptr, _Elt_pointer> _Map_pointer; 32020: 32020: 32020: static size_t _S_buffer_size() noexcept 32020: { return __deque_buf_size(sizeof(_Tp)); } 32020: 32020: typedef std::random_access_iterator_tag iterator_category; 32020: typedef _Tp value_type; 32020: typedef _Ptr pointer; 32020: typedef _Ref reference; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Deque_iterator _Self; 32020: 32020: _Elt_pointer _M_cur; 32020: _Elt_pointer _M_first; 32020: _Elt_pointer _M_last; 32020: _Map_pointer _M_node; 32020: 32020: _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept 32020: : _M_cur(__x), _M_first(*__y), 32020: _M_last(*__y + _S_buffer_size()), _M_node(__y) { } 32020: 32020: _Deque_iterator() noexcept 32020: : _M_cur(), _M_first(), _M_last(), _M_node() { } 32020: # 161 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template, 32020: is_same<_Iter, iterator>>> 32020: _Deque_iterator(const _Iter& __x) noexcept 32020: : _M_cur(__x._M_cur), _M_first(__x._M_first), 32020: _M_last(__x._M_last), _M_node(__x._M_node) { } 32020: 32020: _Deque_iterator(const _Deque_iterator& __x) noexcept 32020: : _M_cur(__x._M_cur), _M_first(__x._M_first), 32020: _M_last(__x._M_last), _M_node(__x._M_node) { } 32020: 32020: _Deque_iterator& operator=(const _Deque_iterator&) = default; 32020: 32020: 32020: iterator 32020: _M_const_cast() const noexcept 32020: { return iterator(_M_cur, _M_node); } 32020: 32020: reference 32020: operator*() const noexcept 32020: { return *_M_cur; } 32020: 32020: pointer 32020: operator->() const noexcept 32020: { return _M_cur; } 32020: 32020: _Self& 32020: operator++() noexcept 32020: { 32020: ++_M_cur; 32020: if (_M_cur == _M_last) 32020: { 32020: _M_set_node(_M_node + 1); 32020: _M_cur = _M_first; 32020: } 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator++(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: ++*this; 32020: return __tmp; 32020: } 32020: 32020: _Self& 32020: operator--() noexcept 32020: { 32020: if (_M_cur == _M_first) 32020: { 32020: _M_set_node(_M_node - 1); 32020: _M_cur = _M_last; 32020: } 32020: --_M_cur; 32020: return *this; 32020: } 32020: 32020: _Self 32020: operator--(int) noexcept 32020: { 32020: _Self __tmp = *this; 32020: --*this; 32020: return __tmp; 32020: } 32020: 32020: _Self& 32020: operator+=(difference_type __n) noexcept 32020: { 32020: const difference_type __offset = __n + (_M_cur - _M_first); 32020: if (__offset >= 0 && __offset < difference_type(_S_buffer_size())) 32020: _M_cur += __n; 32020: else 32020: { 32020: const difference_type __node_offset = 32020: __offset > 0 ? __offset / difference_type(_S_buffer_size()) 32020: : -difference_type((-__offset - 1) 32020: / _S_buffer_size()) - 1; 32020: _M_set_node(_M_node + __node_offset); 32020: _M_cur = _M_first + (__offset - __node_offset 32020: * difference_type(_S_buffer_size())); 32020: } 32020: return *this; 32020: } 32020: 32020: _Self& 32020: operator-=(difference_type __n) noexcept 32020: { return *this += -__n; } 32020: 32020: reference 32020: operator[](difference_type __n) const noexcept 32020: { return *(*this + __n); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: _M_set_node(_Map_pointer __new_node) noexcept 32020: { 32020: _M_node = __new_node; 32020: _M_first = *__new_node; 32020: _M_last = _M_first + difference_type(_S_buffer_size()); 32020: } 32020: 32020: friend bool 32020: operator==(const _Self& __x, const _Self& __y) noexcept 32020: { return __x._M_cur == __y._M_cur; } 32020: 32020: 32020: 32020: 32020: template 32020: friend bool 32020: operator==(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 32020: noexcept 32020: { return __x._M_cur == __y._M_cur; } 32020: # 290 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: friend bool 32020: operator!=(const _Self& __x, const _Self& __y) noexcept 32020: { return !(__x == __y); } 32020: 32020: template 32020: friend bool 32020: operator!=(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 32020: noexcept 32020: { return !(__x == __y); } 32020: 32020: friend bool 32020: operator<(const _Self& __x, const _Self& __y) noexcept 32020: { 32020: return (__x._M_node == __y._M_node) 32020: ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); 32020: } 32020: 32020: template 32020: friend bool 32020: operator<(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 32020: noexcept 32020: { 32020: return (__x._M_node == __y._M_node) 32020: ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); 32020: } 32020: 32020: friend bool 32020: operator>(const _Self& __x, const _Self& __y) noexcept 32020: { return __y < __x; } 32020: 32020: template 32020: friend bool 32020: operator>(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 32020: noexcept 32020: { return __y < __x; } 32020: 32020: friend bool 32020: operator<=(const _Self& __x, const _Self& __y) noexcept 32020: { return !(__y < __x); } 32020: 32020: template 32020: friend bool 32020: operator<=(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 32020: noexcept 32020: { return !(__y < __x); } 32020: 32020: friend bool 32020: operator>=(const _Self& __x, const _Self& __y) noexcept 32020: { return !(__x < __y); } 32020: 32020: template 32020: friend bool 32020: operator>=(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 32020: noexcept 32020: { return !(__x < __y); } 32020: 32020: 32020: friend difference_type 32020: operator-(const _Self& __x, const _Self& __y) noexcept 32020: { 32020: return difference_type(_S_buffer_size()) 32020: * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) 32020: + (__y._M_last - __y._M_cur); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: friend difference_type 32020: operator-(const _Self& __x, 32020: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 32020: { 32020: return difference_type(_S_buffer_size()) 32020: * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) 32020: + (__y._M_last - __y._M_cur); 32020: } 32020: 32020: friend _Self 32020: operator+(const _Self& __x, difference_type __n) noexcept 32020: { 32020: _Self __tmp = __x; 32020: __tmp += __n; 32020: return __tmp; 32020: } 32020: 32020: friend _Self 32020: operator-(const _Self& __x, difference_type __n) noexcept 32020: { 32020: _Self __tmp = __x; 32020: __tmp -= __n; 32020: return __tmp; 32020: } 32020: 32020: friend _Self 32020: operator+(difference_type __n, const _Self& __x) noexcept 32020: { return __x + __n; } 32020: }; 32020: # 405 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: class _Deque_base 32020: { 32020: protected: 32020: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 32020: rebind<_Tp>::other _Tp_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; 32020: 32020: 32020: 32020: 32020: 32020: typedef typename _Alloc_traits::pointer _Ptr; 32020: typedef typename _Alloc_traits::const_pointer _Ptr_const; 32020: 32020: 32020: typedef typename _Alloc_traits::template rebind<_Ptr>::other 32020: _Map_alloc_type; 32020: typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits; 32020: 32020: typedef _Alloc allocator_type; 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return allocator_type(_M_get_Tp_allocator()); } 32020: 32020: typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator; 32020: typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator; 32020: 32020: _Deque_base() 32020: : _M_impl() 32020: { _M_initialize_map(0); } 32020: 32020: _Deque_base(size_t __num_elements) 32020: : _M_impl() 32020: { _M_initialize_map(__num_elements); } 32020: 32020: _Deque_base(const allocator_type& __a, size_t __num_elements) 32020: : _M_impl(__a) 32020: { _M_initialize_map(__num_elements); } 32020: 32020: _Deque_base(const allocator_type& __a) 32020: : _M_impl(__a) 32020: { } 32020: 32020: 32020: _Deque_base(_Deque_base&& __x) 32020: : _M_impl(std::move(__x._M_get_Tp_allocator())) 32020: { 32020: _M_initialize_map(0); 32020: if (__x._M_impl._M_map) 32020: this->_M_impl._M_swap_data(__x._M_impl); 32020: } 32020: 32020: _Deque_base(_Deque_base&& __x, const allocator_type& __a) 32020: : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a)) 32020: { __x._M_initialize_map(0); } 32020: 32020: _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __n) 32020: : _M_impl(__a) 32020: { 32020: if (__x.get_allocator() == __a) 32020: { 32020: if (__x._M_impl._M_map) 32020: { 32020: _M_initialize_map(0); 32020: this->_M_impl._M_swap_data(__x._M_impl); 32020: } 32020: } 32020: else 32020: { 32020: _M_initialize_map(__n); 32020: } 32020: } 32020: 32020: 32020: ~_Deque_base() noexcept; 32020: 32020: typedef typename iterator::_Map_pointer _Map_pointer; 32020: 32020: struct _Deque_impl_data 32020: { 32020: _Map_pointer _M_map; 32020: size_t _M_map_size; 32020: iterator _M_start; 32020: iterator _M_finish; 32020: 32020: _Deque_impl_data() noexcept 32020: : _M_map(), _M_map_size(), _M_start(), _M_finish() 32020: { } 32020: 32020: 32020: _Deque_impl_data(const _Deque_impl_data&) = default; 32020: _Deque_impl_data& 32020: operator=(const _Deque_impl_data&) = default; 32020: 32020: _Deque_impl_data(_Deque_impl_data&& __x) noexcept 32020: : _Deque_impl_data(__x) 32020: { __x = _Deque_impl_data(); } 32020: 32020: 32020: void 32020: _M_swap_data(_Deque_impl_data& __x) noexcept 32020: { 32020: 32020: 32020: std::swap(*this, __x); 32020: } 32020: }; 32020: 32020: 32020: 32020: 32020: struct _Deque_impl 32020: : public _Tp_alloc_type, public _Deque_impl_data 32020: { 32020: _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value) 32020: 32020: : _Tp_alloc_type() 32020: { } 32020: 32020: _Deque_impl(const _Tp_alloc_type& __a) noexcept 32020: : _Tp_alloc_type(__a) 32020: { } 32020: 32020: 32020: _Deque_impl(_Deque_impl&&) = default; 32020: 32020: _Deque_impl(_Tp_alloc_type&& __a) noexcept 32020: : _Tp_alloc_type(std::move(__a)) 32020: { } 32020: 32020: _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a) 32020: : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d)) 32020: { } 32020: 32020: }; 32020: 32020: _Tp_alloc_type& 32020: _M_get_Tp_allocator() noexcept 32020: { return this->_M_impl; } 32020: 32020: const _Tp_alloc_type& 32020: _M_get_Tp_allocator() const noexcept 32020: { return this->_M_impl; } 32020: 32020: _Map_alloc_type 32020: _M_get_map_allocator() const noexcept 32020: { return _Map_alloc_type(_M_get_Tp_allocator()); } 32020: 32020: _Ptr 32020: _M_allocate_node() 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits; 32020: return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp))); 32020: } 32020: 32020: void 32020: _M_deallocate_node(_Ptr __p) noexcept 32020: { 32020: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits; 32020: _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp))); 32020: } 32020: 32020: _Map_pointer 32020: _M_allocate_map(size_t __n) 32020: { 32020: _Map_alloc_type __map_alloc = _M_get_map_allocator(); 32020: return _Map_alloc_traits::allocate(__map_alloc, __n); 32020: } 32020: 32020: void 32020: _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept 32020: { 32020: _Map_alloc_type __map_alloc = _M_get_map_allocator(); 32020: _Map_alloc_traits::deallocate(__map_alloc, __p, __n); 32020: } 32020: 32020: void _M_initialize_map(size_t); 32020: void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish); 32020: void _M_destroy_nodes(_Map_pointer __nstart, 32020: _Map_pointer __nfinish) noexcept; 32020: enum { _S_initial_map_size = 8 }; 32020: 32020: _Deque_impl _M_impl; 32020: }; 32020: 32020: template 32020: _Deque_base<_Tp, _Alloc>:: 32020: ~_Deque_base() noexcept 32020: { 32020: if (this->_M_impl._M_map) 32020: { 32020: _M_destroy_nodes(this->_M_impl._M_start._M_node, 32020: this->_M_impl._M_finish._M_node + 1); 32020: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 32020: } 32020: } 32020: # 612 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: void 32020: _Deque_base<_Tp, _Alloc>:: 32020: _M_initialize_map(size_t __num_elements) 32020: { 32020: const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp)) 32020: + 1); 32020: 32020: this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size, 32020: size_t(__num_nodes + 2)); 32020: this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size); 32020: 32020: 32020: 32020: 32020: 32020: 32020: _Map_pointer __nstart = (this->_M_impl._M_map 32020: + (this->_M_impl._M_map_size - __num_nodes) / 2); 32020: _Map_pointer __nfinish = __nstart + __num_nodes; 32020: 32020: try 32020: { _M_create_nodes(__nstart, __nfinish); } 32020: catch(...) 32020: { 32020: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 32020: this->_M_impl._M_map = _Map_pointer(); 32020: this->_M_impl._M_map_size = 0; 32020: throw; 32020: } 32020: 32020: this->_M_impl._M_start._M_set_node(__nstart); 32020: this->_M_impl._M_finish._M_set_node(__nfinish - 1); 32020: this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first; 32020: this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first 32020: + __num_elements 32020: % __deque_buf_size(sizeof(_Tp))); 32020: } 32020: 32020: template 32020: void 32020: _Deque_base<_Tp, _Alloc>:: 32020: _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish) 32020: { 32020: _Map_pointer __cur; 32020: try 32020: { 32020: for (__cur = __nstart; __cur < __nfinish; ++__cur) 32020: *__cur = this->_M_allocate_node(); 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(__nstart, __cur); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: void 32020: _Deque_base<_Tp, _Alloc>:: 32020: _M_destroy_nodes(_Map_pointer __nstart, 32020: _Map_pointer __nfinish) noexcept 32020: { 32020: for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n) 32020: _M_deallocate_node(*__n); 32020: } 32020: # 763 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template > 32020: class deque : protected _Deque_base<_Tp, _Alloc> 32020: { 32020: # 776 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: static_assert(is_same::type, _Tp>::value, 32020: "std::deque must have a non-const, non-volatile value_type"); 32020: 32020: 32020: 32020: 32020: 32020: 32020: typedef _Deque_base<_Tp, _Alloc> _Base; 32020: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 32020: typedef typename _Base::_Alloc_traits _Alloc_traits; 32020: typedef typename _Base::_Map_pointer _Map_pointer; 32020: 32020: public: 32020: typedef _Tp value_type; 32020: typedef typename _Alloc_traits::pointer pointer; 32020: typedef typename _Alloc_traits::const_pointer const_pointer; 32020: typedef typename _Alloc_traits::reference reference; 32020: typedef typename _Alloc_traits::const_reference const_reference; 32020: typedef typename _Base::iterator iterator; 32020: typedef typename _Base::const_iterator const_iterator; 32020: typedef std::reverse_iterator const_reverse_iterator; 32020: typedef std::reverse_iterator reverse_iterator; 32020: typedef size_t size_type; 32020: typedef ptrdiff_t difference_type; 32020: typedef _Alloc allocator_type; 32020: 32020: private: 32020: static size_t _S_buffer_size() noexcept 32020: { return __deque_buf_size(sizeof(_Tp)); } 32020: 32020: 32020: using _Base::_M_initialize_map; 32020: using _Base::_M_create_nodes; 32020: using _Base::_M_destroy_nodes; 32020: using _Base::_M_allocate_node; 32020: using _Base::_M_deallocate_node; 32020: using _Base::_M_allocate_map; 32020: using _Base::_M_deallocate_map; 32020: using _Base::_M_get_Tp_allocator; 32020: 32020: 32020: 32020: 32020: 32020: using _Base::_M_impl; 32020: 32020: public: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: deque() = default; 32020: # 840 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: explicit 32020: deque(const allocator_type& __a) 32020: : _Base(__a, 0) { } 32020: # 853 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: explicit 32020: deque(size_type __n, const allocator_type& __a = allocator_type()) 32020: : _Base(__a, _S_check_init_len(__n, __a)) 32020: { _M_default_initialize(); } 32020: # 866 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque(size_type __n, const value_type& __value, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a, _S_check_init_len(__n, __a)) 32020: { _M_fill_initialize(__value); } 32020: # 893 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque(const deque& __x) 32020: : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()), 32020: __x.size()) 32020: { std::__uninitialized_copy_a(__x.begin(), __x.end(), 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); } 32020: # 909 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque(deque&&) = default; 32020: 32020: 32020: deque(const deque& __x, const allocator_type& __a) 32020: : _Base(__a, __x.size()) 32020: { std::__uninitialized_copy_a(__x.begin(), __x.end(), 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); } 32020: 32020: 32020: deque(deque&& __x, const allocator_type& __a) 32020: : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{}) 32020: { } 32020: 32020: private: 32020: deque(deque&& __x, const allocator_type& __a, true_type) 32020: : _Base(std::move(__x), __a) 32020: { } 32020: 32020: deque(deque&& __x, const allocator_type& __a, false_type) 32020: : _Base(std::move(__x), __a, __x.size()) 32020: { 32020: if (__x.get_allocator() != __a && !__x.empty()) 32020: { 32020: std::__uninitialized_move_a(__x.begin(), __x.end(), 32020: this->_M_impl._M_start, 32020: _M_get_Tp_allocator()); 32020: __x.clear(); 32020: } 32020: } 32020: 32020: public: 32020: # 952 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque(initializer_list __l, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a) 32020: { 32020: _M_range_initialize(__l.begin(), __l.end(), 32020: random_access_iterator_tag()); 32020: } 32020: # 977 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template> 32020: deque(_InputIterator __first, _InputIterator __last, 32020: const allocator_type& __a = allocator_type()) 32020: : _Base(__a) 32020: { 32020: _M_range_initialize(__first, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: # 1003 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: ~deque() 32020: { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); } 32020: # 1015 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque& 32020: operator=(const deque& __x); 32020: # 1027 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque& 32020: operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal()) 32020: { 32020: using __always_equal = typename _Alloc_traits::is_always_equal; 32020: _M_move_assign1(std::move(__x), __always_equal{}); 32020: return *this; 32020: } 32020: # 1046 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: deque& 32020: operator=(initializer_list __l) 32020: { 32020: _M_assign_aux(__l.begin(), __l.end(), 32020: random_access_iterator_tag()); 32020: return *this; 32020: } 32020: # 1065 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: assign(size_type __n, const value_type& __val) 32020: { _M_fill_assign(__n, __val); } 32020: # 1082 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template> 32020: void 32020: assign(_InputIterator __first, _InputIterator __last) 32020: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 32020: # 1109 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: assign(initializer_list __l) 32020: { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 32020: 32020: 32020: 32020: allocator_type 32020: get_allocator() const noexcept 32020: { return _Base::get_allocator(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: begin() noexcept 32020: { return this->_M_impl._M_start; } 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: begin() const noexcept 32020: { return this->_M_impl._M_start; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: iterator 32020: end() noexcept 32020: { return this->_M_impl._M_finish; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: end() const noexcept 32020: { return this->_M_impl._M_finish; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rbegin() noexcept 32020: { return reverse_iterator(this->_M_impl._M_finish); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rbegin() const noexcept 32020: { return const_reverse_iterator(this->_M_impl._M_finish); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: reverse_iterator 32020: rend() noexcept 32020: { return reverse_iterator(this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: rend() const noexcept 32020: { return const_reverse_iterator(this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cbegin() const noexcept 32020: { return this->_M_impl._M_start; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_iterator 32020: cend() const noexcept 32020: { return this->_M_impl._M_finish; } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crbegin() const noexcept 32020: { return const_reverse_iterator(this->_M_impl._M_finish); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: const_reverse_iterator 32020: crend() const noexcept 32020: { return const_reverse_iterator(this->_M_impl._M_start); } 32020: 32020: 32020: 32020: 32020: size_type 32020: size() const noexcept 32020: { return this->_M_impl._M_finish - this->_M_impl._M_start; } 32020: 32020: 32020: size_type 32020: max_size() const noexcept 32020: { return _S_max_size(_M_get_Tp_allocator()); } 32020: # 1248 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: resize(size_type __new_size) 32020: { 32020: const size_type __len = size(); 32020: if (__new_size > __len) 32020: _M_default_append(__new_size - __len); 32020: else if (__new_size < __len) 32020: _M_erase_at_end(this->_M_impl._M_start 32020: + difference_type(__new_size)); 32020: } 32020: # 1270 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: resize(size_type __new_size, const value_type& __x) 32020: # 1287 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: { 32020: const size_type __len = size(); 32020: if (__new_size > __len) 32020: _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x); 32020: else if (__new_size < __len) 32020: _M_erase_at_end(this->_M_impl._M_start 32020: + difference_type(__new_size)); 32020: } 32020: 32020: 32020: 32020: void 32020: shrink_to_fit() noexcept 32020: { _M_shrink_to_fit(); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: [[__nodiscard__]] bool 32020: empty() const noexcept 32020: { return this->_M_impl._M_finish == this->_M_impl._M_start; } 32020: # 1323 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: reference 32020: operator[](size_type __n) noexcept 32020: { 32020: ; 32020: return this->_M_impl._M_start[difference_type(__n)]; 32020: } 32020: # 1341 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: const_reference 32020: operator[](size_type __n) const noexcept 32020: { 32020: ; 32020: return this->_M_impl._M_start[difference_type(__n)]; 32020: } 32020: 32020: protected: 32020: 32020: void 32020: _M_range_check(size_type __n) const 32020: { 32020: if (__n >= this->size()) 32020: __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)") 32020: 32020: , 32020: __n, this->size()); 32020: } 32020: 32020: public: 32020: # 1372 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: reference 32020: at(size_type __n) 32020: { 32020: _M_range_check(__n); 32020: return (*this)[__n]; 32020: } 32020: # 1390 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: const_reference 32020: at(size_type __n) const 32020: { 32020: _M_range_check(__n); 32020: return (*this)[__n]; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: front() noexcept 32020: { 32020: ; 32020: return *begin(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: front() const noexcept 32020: { 32020: ; 32020: return *begin(); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: reference 32020: back() noexcept 32020: { 32020: ; 32020: iterator __tmp = end(); 32020: --__tmp; 32020: return *__tmp; 32020: } 32020: 32020: 32020: 32020: 32020: 32020: const_reference 32020: back() const noexcept 32020: { 32020: ; 32020: const_iterator __tmp = end(); 32020: --__tmp; 32020: return *__tmp; 32020: } 32020: # 1455 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: push_front(const value_type& __x) 32020: { 32020: if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) 32020: { 32020: _Alloc_traits::construct(this->_M_impl, 32020: this->_M_impl._M_start._M_cur - 1, 32020: __x); 32020: --this->_M_impl._M_start._M_cur; 32020: } 32020: else 32020: _M_push_front_aux(__x); 32020: } 32020: 32020: 32020: void 32020: push_front(value_type&& __x) 32020: { emplace_front(std::move(__x)); } 32020: 32020: template 32020: 32020: reference 32020: 32020: 32020: 32020: emplace_front(_Args&&... __args); 32020: # 1492 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: push_back(const value_type& __x) 32020: { 32020: if (this->_M_impl._M_finish._M_cur 32020: != this->_M_impl._M_finish._M_last - 1) 32020: { 32020: _Alloc_traits::construct(this->_M_impl, 32020: this->_M_impl._M_finish._M_cur, __x); 32020: ++this->_M_impl._M_finish._M_cur; 32020: } 32020: else 32020: _M_push_back_aux(__x); 32020: } 32020: 32020: 32020: void 32020: push_back(value_type&& __x) 32020: { emplace_back(std::move(__x)); } 32020: 32020: template 32020: 32020: reference 32020: 32020: 32020: 32020: emplace_back(_Args&&... __args); 32020: # 1528 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: pop_front() noexcept 32020: { 32020: ; 32020: if (this->_M_impl._M_start._M_cur 32020: != this->_M_impl._M_start._M_last - 1) 32020: { 32020: _Alloc_traits::destroy(_M_get_Tp_allocator(), 32020: this->_M_impl._M_start._M_cur); 32020: ++this->_M_impl._M_start._M_cur; 32020: } 32020: else 32020: _M_pop_front_aux(); 32020: } 32020: # 1551 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: pop_back() noexcept 32020: { 32020: ; 32020: if (this->_M_impl._M_finish._M_cur 32020: != this->_M_impl._M_finish._M_first) 32020: { 32020: --this->_M_impl._M_finish._M_cur; 32020: _Alloc_traits::destroy(_M_get_Tp_allocator(), 32020: this->_M_impl._M_finish._M_cur); 32020: } 32020: else 32020: _M_pop_back_aux(); 32020: } 32020: # 1576 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: iterator 32020: emplace(const_iterator __position, _Args&&... __args); 32020: # 1589 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: iterator 32020: insert(const_iterator __position, const value_type& __x); 32020: # 1615 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: iterator 32020: insert(const_iterator __position, value_type&& __x) 32020: { return emplace(__position, std::move(__x)); } 32020: # 1629 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: iterator 32020: insert(const_iterator __p, initializer_list __l) 32020: { 32020: auto __offset = __p - cbegin(); 32020: _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(), 32020: std::random_access_iterator_tag()); 32020: return begin() + __offset; 32020: } 32020: # 1648 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: iterator 32020: insert(const_iterator __position, size_type __n, const value_type& __x) 32020: { 32020: difference_type __offset = __position - cbegin(); 32020: _M_fill_insert(__position._M_const_cast(), __n, __x); 32020: return begin() + __offset; 32020: } 32020: # 1682 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template> 32020: iterator 32020: insert(const_iterator __position, _InputIterator __first, 32020: _InputIterator __last) 32020: { 32020: difference_type __offset = __position - cbegin(); 32020: _M_range_insert_aux(__position._M_const_cast(), __first, __last, 32020: std::__iterator_category(__first)); 32020: return begin() + __offset; 32020: } 32020: # 1728 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: iterator 32020: 32020: erase(const_iterator __position) 32020: 32020: 32020: 32020: { return _M_erase(__position._M_const_cast()); } 32020: # 1752 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: iterator 32020: 32020: erase(const_iterator __first, const_iterator __last) 32020: 32020: 32020: 32020: { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } 32020: # 1771 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: swap(deque& __x) noexcept 32020: { 32020: 32020: 32020: ; 32020: 32020: _M_impl._M_swap_data(__x._M_impl); 32020: _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), 32020: __x._M_get_Tp_allocator()); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: void 32020: clear() noexcept 32020: { _M_erase_at_end(begin()); } 32020: 32020: protected: 32020: # 1821 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: static size_t 32020: _S_check_init_len(size_t __n, const allocator_type& __a) 32020: { 32020: if (__n > _S_max_size(__a)) 32020: __throw_length_error( 32020: ("cannot create std::deque larger than max_size()")); 32020: return __n; 32020: } 32020: 32020: static size_type 32020: _S_max_size(const _Tp_alloc_type& __a) noexcept 32020: { 32020: const size_t __diffmax = __gnu_cxx::__numeric_traits::__max; 32020: const size_t __allocmax = _Alloc_traits::max_size(__a); 32020: return (std::min)(__diffmax, __allocmax); 32020: } 32020: # 1850 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: void 32020: _M_range_initialize(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag); 32020: 32020: 32020: template 32020: void 32020: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag); 32020: # 1872 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: _M_fill_initialize(const value_type& __value); 32020: 32020: 32020: 32020: void 32020: _M_default_initialize(); 32020: # 1903 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: void 32020: _M_assign_aux(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag); 32020: 32020: 32020: template 32020: void 32020: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __len = std::distance(__first, __last); 32020: if (__len > size()) 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, size()); 32020: std::copy(__first, __mid, begin()); 32020: _M_range_insert_aux(end(), __mid, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: else 32020: _M_erase_at_end(std::copy(__first, __last, begin())); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_fill_assign(size_type __n, const value_type& __val) 32020: { 32020: if (__n > size()) 32020: { 32020: std::fill(begin(), end(), __val); 32020: _M_fill_insert(end(), __n - size(), __val); 32020: } 32020: else 32020: { 32020: _M_erase_at_end(begin() + difference_type(__n)); 32020: std::fill(begin(), end(), __val); 32020: } 32020: } 32020: # 1951 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: void _M_push_back_aux(_Args&&... __args); 32020: 32020: template 32020: void _M_push_front_aux(_Args&&... __args); 32020: 32020: 32020: void _M_pop_back_aux(); 32020: 32020: void _M_pop_front_aux(); 32020: # 1990 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: void 32020: _M_range_insert_aux(iterator __pos, _InputIterator __first, 32020: _InputIterator __last, std::input_iterator_tag); 32020: 32020: 32020: template 32020: void 32020: _M_range_insert_aux(iterator __pos, _ForwardIterator __first, 32020: _ForwardIterator __last, std::forward_iterator_tag); 32020: 32020: 32020: 32020: 32020: void 32020: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: iterator 32020: _M_insert_aux(iterator __pos, _Args&&... __args); 32020: 32020: 32020: 32020: void 32020: _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); 32020: 32020: 32020: template 32020: void 32020: _M_insert_aux(iterator __pos, 32020: _ForwardIterator __first, _ForwardIterator __last, 32020: size_type __n); 32020: 32020: 32020: 32020: 32020: void 32020: _M_destroy_data_aux(iterator __first, iterator __last); 32020: 32020: 32020: 32020: template 32020: void 32020: _M_destroy_data(iterator __first, iterator __last, const _Alloc1&) 32020: { _M_destroy_data_aux(__first, __last); } 32020: 32020: void 32020: _M_destroy_data(iterator __first, iterator __last, 32020: const std::allocator<_Tp>&) 32020: { 32020: if (!__has_trivial_destructor(value_type)) 32020: _M_destroy_data_aux(__first, __last); 32020: } 32020: 32020: 32020: void 32020: _M_erase_at_begin(iterator __pos) 32020: { 32020: _M_destroy_data(begin(), __pos, _M_get_Tp_allocator()); 32020: _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node); 32020: this->_M_impl._M_start = __pos; 32020: } 32020: 32020: 32020: 32020: void 32020: _M_erase_at_end(iterator __pos) 32020: { 32020: _M_destroy_data(__pos, end(), _M_get_Tp_allocator()); 32020: _M_destroy_nodes(__pos._M_node + 1, 32020: this->_M_impl._M_finish._M_node + 1); 32020: this->_M_impl._M_finish = __pos; 32020: } 32020: 32020: iterator 32020: _M_erase(iterator __pos); 32020: 32020: iterator 32020: _M_erase(iterator __first, iterator __last); 32020: 32020: 32020: 32020: void 32020: _M_default_append(size_type __n); 32020: 32020: bool 32020: _M_shrink_to_fit(); 32020: 32020: 32020: 32020: 32020: iterator 32020: _M_reserve_elements_at_front(size_type __n) 32020: { 32020: const size_type __vacancies = this->_M_impl._M_start._M_cur 32020: - this->_M_impl._M_start._M_first; 32020: if (__n > __vacancies) 32020: _M_new_elements_at_front(__n - __vacancies); 32020: return this->_M_impl._M_start - difference_type(__n); 32020: } 32020: 32020: iterator 32020: _M_reserve_elements_at_back(size_type __n) 32020: { 32020: const size_type __vacancies = (this->_M_impl._M_finish._M_last 32020: - this->_M_impl._M_finish._M_cur) - 1; 32020: if (__n > __vacancies) 32020: _M_new_elements_at_back(__n - __vacancies); 32020: return this->_M_impl._M_finish + difference_type(__n); 32020: } 32020: 32020: void 32020: _M_new_elements_at_front(size_type __new_elements); 32020: 32020: void 32020: _M_new_elements_at_back(size_type __new_elements); 32020: # 2122 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: void 32020: _M_reserve_map_at_back(size_type __nodes_to_add = 1) 32020: { 32020: if (__nodes_to_add + 1 > this->_M_impl._M_map_size 32020: - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map)) 32020: _M_reallocate_map(__nodes_to_add, false); 32020: } 32020: 32020: void 32020: _M_reserve_map_at_front(size_type __nodes_to_add = 1) 32020: { 32020: if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node 32020: - this->_M_impl._M_map)) 32020: _M_reallocate_map(__nodes_to_add, true); 32020: } 32020: 32020: void 32020: _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front); 32020: 32020: 32020: 32020: 32020: 32020: void 32020: _M_move_assign1(deque&& __x, true_type) noexcept 32020: { 32020: this->_M_impl._M_swap_data(__x._M_impl); 32020: __x.clear(); 32020: std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); 32020: } 32020: 32020: 32020: 32020: 32020: void 32020: _M_move_assign1(deque&& __x, false_type) 32020: { 32020: constexpr bool __move_storage = 32020: _Alloc_traits::_S_propagate_on_move_assign(); 32020: _M_move_assign2(std::move(__x), __bool_constant<__move_storage>()); 32020: } 32020: 32020: 32020: 32020: template 32020: void 32020: _M_replace_map(_Args&&... __args) 32020: { 32020: 32020: deque __newobj(std::forward<_Args>(__args)...); 32020: 32020: clear(); 32020: _M_deallocate_node(*begin()._M_node); 32020: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 32020: this->_M_impl._M_map = nullptr; 32020: this->_M_impl._M_map_size = 0; 32020: 32020: this->_M_impl._M_swap_data(__newobj._M_impl); 32020: } 32020: 32020: 32020: void 32020: _M_move_assign2(deque&& __x, true_type) 32020: { 32020: 32020: auto __alloc = __x._M_get_Tp_allocator(); 32020: 32020: 32020: _M_replace_map(std::move(__x)); 32020: 32020: _M_get_Tp_allocator() = std::move(__alloc); 32020: } 32020: 32020: 32020: 32020: void 32020: _M_move_assign2(deque&& __x, false_type) 32020: { 32020: if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) 32020: { 32020: 32020: 32020: _M_replace_map(std::move(__x), __x.get_allocator()); 32020: } 32020: else 32020: { 32020: 32020: 32020: _M_assign_aux(std::make_move_iterator(__x.begin()), 32020: std::make_move_iterator(__x.end()), 32020: std::random_access_iterator_tag()); 32020: __x.clear(); 32020: } 32020: } 32020: 32020: }; 32020: 32020: 32020: template::value_type, 32020: typename _Allocator = allocator<_ValT>, 32020: typename = _RequireInputIter<_InputIterator>, 32020: typename = _RequireAllocator<_Allocator>> 32020: deque(_InputIterator, _InputIterator, _Allocator = _Allocator()) 32020: -> deque<_ValT, _Allocator>; 32020: # 2239 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: inline bool 32020: operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) 32020: { return __x.size() == __y.size() 32020: && std::equal(__x.begin(), __x.end(), __y.begin()); } 32020: # 2277 "/usr/arm-linux-gnueabihf/include/c++/10/bits/stl_deque.h" 3 32020: template 32020: inline bool 32020: operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) 32020: { return std::lexicographical_compare(__x.begin(), __x.end(), 32020: __y.begin(), __y.end()); } 32020: 32020: 32020: template 32020: inline bool 32020: operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) 32020: { return !(__x == __y); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) 32020: { return __y < __x; } 32020: 32020: 32020: template 32020: inline bool 32020: operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) 32020: { return !(__y < __x); } 32020: 32020: 32020: template 32020: inline bool 32020: operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) 32020: { return !(__x < __y); } 32020: 32020: 32020: 32020: template 32020: inline void 32020: swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) 32020: noexcept(noexcept(__x.swap(__y))) 32020: { __x.swap(__y); } 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: struct __is_bitwise_relocatable> 32020: : true_type { }; 32020: 32020: 32020: 32020: } 32020: # 68 "/usr/arm-linux-gnueabihf/include/c++/10/deque" 2 3 32020: 32020: # 1 "/usr/arm-linux-gnueabihf/include/c++/10/bits/deque.tcc" 1 3 32020: # 61 "/usr/arm-linux-gnueabihf/include/c++/10/bits/deque.tcc" 3 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_default_initialize() 32020: { 32020: _Map_pointer __cur; 32020: try 32020: { 32020: for (__cur = this->_M_impl._M_start._M_node; 32020: __cur < this->_M_impl._M_finish._M_node; 32020: ++__cur) 32020: std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(), 32020: _M_get_Tp_allocator()); 32020: std::__uninitialized_default_a(this->_M_impl._M_finish._M_first, 32020: this->_M_impl._M_finish._M_cur, 32020: _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), 32020: _M_get_Tp_allocator()); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: template 32020: deque<_Tp, _Alloc>& 32020: deque<_Tp, _Alloc>:: 32020: operator=(const deque& __x) 32020: { 32020: if (&__x != this) 32020: { 32020: 32020: if (_Alloc_traits::_S_propagate_on_copy_assign()) 32020: { 32020: if (!_Alloc_traits::_S_always_equal() 32020: && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) 32020: { 32020: 32020: 32020: _M_replace_map(__x, __x.get_allocator()); 32020: std::__alloc_on_copy(_M_get_Tp_allocator(), 32020: __x._M_get_Tp_allocator()); 32020: return *this; 32020: } 32020: std::__alloc_on_copy(_M_get_Tp_allocator(), 32020: __x._M_get_Tp_allocator()); 32020: } 32020: 32020: const size_type __len = size(); 32020: if (__len >= __x.size()) 32020: _M_erase_at_end(std::copy(__x.begin(), __x.end(), 32020: this->_M_impl._M_start)); 32020: else 32020: { 32020: const_iterator __mid = __x.begin() + difference_type(__len); 32020: std::copy(__x.begin(), __mid, this->_M_impl._M_start); 32020: _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(), 32020: std::random_access_iterator_tag()); 32020: } 32020: } 32020: return *this; 32020: } 32020: 32020: 32020: template 32020: template 32020: 32020: typename deque<_Tp, _Alloc>::reference 32020: 32020: 32020: 32020: deque<_Tp, _Alloc>:: 32020: emplace_front(_Args&&... __args) 32020: { 32020: if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) 32020: { 32020: _Alloc_traits::construct(this->_M_impl, 32020: this->_M_impl._M_start._M_cur - 1, 32020: std::forward<_Args>(__args)...); 32020: --this->_M_impl._M_start._M_cur; 32020: } 32020: else 32020: _M_push_front_aux(std::forward<_Args>(__args)...); 32020: 32020: return front(); 32020: 32020: } 32020: 32020: template 32020: template 32020: 32020: typename deque<_Tp, _Alloc>::reference 32020: 32020: 32020: 32020: deque<_Tp, _Alloc>:: 32020: emplace_back(_Args&&... __args) 32020: { 32020: if (this->_M_impl._M_finish._M_cur 32020: != this->_M_impl._M_finish._M_last - 1) 32020: { 32020: _Alloc_traits::construct(this->_M_impl, 32020: this->_M_impl._M_finish._M_cur, 32020: std::forward<_Args>(__args)...); 32020: ++this->_M_impl._M_finish._M_cur; 32020: } 32020: else 32020: _M_push_back_aux(std::forward<_Args>(__args)...); 32020: 32020: return back(); 32020: 32020: } 32020: 32020: 32020: 32020: template 32020: template 32020: typename deque<_Tp, _Alloc>::iterator 32020: deque<_Tp, _Alloc>:: 32020: emplace(const_iterator __position, _Args&&... __args) 32020: { 32020: if (__position._M_cur == this->_M_impl._M_start._M_cur) 32020: { 32020: emplace_front(std::forward<_Args>(__args)...); 32020: return this->_M_impl._M_start; 32020: } 32020: else if (__position._M_cur == this->_M_impl._M_finish._M_cur) 32020: { 32020: emplace_back(std::forward<_Args>(__args)...); 32020: iterator __tmp = this->_M_impl._M_finish; 32020: --__tmp; 32020: return __tmp; 32020: } 32020: else 32020: return _M_insert_aux(__position._M_const_cast(), 32020: std::forward<_Args>(__args)...); 32020: } 32020: 32020: 32020: template 32020: typename deque<_Tp, _Alloc>::iterator 32020: deque<_Tp, _Alloc>:: 32020: 32020: insert(const_iterator __position, const value_type& __x) 32020: 32020: 32020: 32020: { 32020: if (__position._M_cur == this->_M_impl._M_start._M_cur) 32020: { 32020: push_front(__x); 32020: return this->_M_impl._M_start; 32020: } 32020: else if (__position._M_cur == this->_M_impl._M_finish._M_cur) 32020: { 32020: push_back(__x); 32020: iterator __tmp = this->_M_impl._M_finish; 32020: --__tmp; 32020: return __tmp; 32020: } 32020: else 32020: return _M_insert_aux(__position._M_const_cast(), __x); 32020: } 32020: 32020: template 32020: typename deque<_Tp, _Alloc>::iterator 32020: deque<_Tp, _Alloc>:: 32020: _M_erase(iterator __position) 32020: { 32020: iterator __next = __position; 32020: ++__next; 32020: const difference_type __index = __position - begin(); 32020: if (static_cast(__index) < (size() >> 1)) 32020: { 32020: if (__position != begin()) 32020: std::move_backward(begin(), __position, __next); 32020: pop_front(); 32020: } 32020: else 32020: { 32020: if (__next != end()) 32020: std::move(__next, end(), __position); 32020: pop_back(); 32020: } 32020: return begin() + __index; 32020: } 32020: 32020: template 32020: typename deque<_Tp, _Alloc>::iterator 32020: deque<_Tp, _Alloc>:: 32020: _M_erase(iterator __first, iterator __last) 32020: { 32020: if (__first == __last) 32020: return __first; 32020: else if (__first == begin() && __last == end()) 32020: { 32020: clear(); 32020: return end(); 32020: } 32020: else 32020: { 32020: const difference_type __n = __last - __first; 32020: const difference_type __elems_before = __first - begin(); 32020: if (static_cast(__elems_before) <= (size() - __n) / 2) 32020: { 32020: if (__first != begin()) 32020: std::move_backward(begin(), __first, __last); 32020: _M_erase_at_begin(begin() + __n); 32020: } 32020: else 32020: { 32020: if (__last != end()) 32020: std::move(__last, end(), __first); 32020: _M_erase_at_end(end() - __n); 32020: } 32020: return begin() + __elems_before; 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_assign_aux(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { 32020: iterator __cur = begin(); 32020: for (; __first != __last && __cur != end(); ++__cur, (void)++__first) 32020: *__cur = *__first; 32020: if (__first == __last) 32020: _M_erase_at_end(__cur); 32020: else 32020: _M_range_insert_aux(end(), __first, __last, 32020: std::__iterator_category(__first)); 32020: } 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x) 32020: { 32020: if (__pos._M_cur == this->_M_impl._M_start._M_cur) 32020: { 32020: iterator __new_start = _M_reserve_elements_at_front(__n); 32020: try 32020: { 32020: std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start, 32020: __x, _M_get_Tp_allocator()); 32020: this->_M_impl._M_start = __new_start; 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(__new_start._M_node, 32020: this->_M_impl._M_start._M_node); 32020: throw; 32020: } 32020: } 32020: else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) 32020: { 32020: iterator __new_finish = _M_reserve_elements_at_back(__n); 32020: try 32020: { 32020: std::__uninitialized_fill_a(this->_M_impl._M_finish, 32020: __new_finish, __x, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 32020: __new_finish._M_node + 1); 32020: throw; 32020: } 32020: } 32020: else 32020: _M_insert_aux(__pos, __n, __x); 32020: } 32020: 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_default_append(size_type __n) 32020: { 32020: if (__n) 32020: { 32020: iterator __new_finish = _M_reserve_elements_at_back(__n); 32020: try 32020: { 32020: std::__uninitialized_default_a(this->_M_impl._M_finish, 32020: __new_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 32020: __new_finish._M_node + 1); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: bool 32020: deque<_Tp, _Alloc>:: 32020: _M_shrink_to_fit() 32020: { 32020: const difference_type __front_capacity 32020: = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first); 32020: if (__front_capacity == 0) 32020: return false; 32020: 32020: const difference_type __back_capacity 32020: = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur); 32020: if (__front_capacity + __back_capacity < _S_buffer_size()) 32020: return false; 32020: 32020: return std::__shrink_to_fit_aux::_S_do_it(*this); 32020: } 32020: 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_fill_initialize(const value_type& __value) 32020: { 32020: _Map_pointer __cur; 32020: try 32020: { 32020: for (__cur = this->_M_impl._M_start._M_node; 32020: __cur < this->_M_impl._M_finish._M_node; 32020: ++__cur) 32020: std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(), 32020: __value, _M_get_Tp_allocator()); 32020: std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first, 32020: this->_M_impl._M_finish._M_cur, 32020: __value, _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), 32020: _M_get_Tp_allocator()); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_range_initialize(_InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { 32020: this->_M_initialize_map(0); 32020: try 32020: { 32020: for (; __first != __last; ++__first) 32020: 32020: emplace_back(*__first); 32020: 32020: 32020: 32020: } 32020: catch(...) 32020: { 32020: clear(); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __n = std::distance(__first, __last); 32020: this->_M_initialize_map(_S_check_init_len(__n, _M_get_Tp_allocator())); 32020: 32020: _Map_pointer __cur_node; 32020: try 32020: { 32020: for (__cur_node = this->_M_impl._M_start._M_node; 32020: __cur_node < this->_M_impl._M_finish._M_node; 32020: ++__cur_node) 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, _S_buffer_size()); 32020: std::__uninitialized_copy_a(__first, __mid, *__cur_node, 32020: _M_get_Tp_allocator()); 32020: __first = __mid; 32020: } 32020: std::__uninitialized_copy_a(__first, __last, 32020: this->_M_impl._M_finish._M_first, 32020: _M_get_Tp_allocator()); 32020: } 32020: catch(...) 32020: { 32020: std::_Destroy(this->_M_impl._M_start, 32020: iterator(*__cur_node, __cur_node), 32020: _M_get_Tp_allocator()); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: template 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_push_back_aux(_Args&&... __args) 32020: 32020: 32020: 32020: 32020: 32020: { 32020: if (size() == max_size()) 32020: __throw_length_error( 32020: ("cannot create std::deque larger than max_size()")); 32020: 32020: _M_reserve_map_at_back(); 32020: *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node(); 32020: try 32020: { 32020: 32020: _Alloc_traits::construct(this->_M_impl, 32020: this->_M_impl._M_finish._M_cur, 32020: std::forward<_Args>(__args)...); 32020: 32020: 32020: 32020: this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node 32020: + 1); 32020: this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first; 32020: } 32020: catch(...) 32020: { 32020: _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1)); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: template 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_push_front_aux(_Args&&... __args) 32020: 32020: 32020: 32020: 32020: 32020: { 32020: if (size() == max_size()) 32020: __throw_length_error( 32020: ("cannot create std::deque larger than max_size()")); 32020: 32020: _M_reserve_map_at_front(); 32020: *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node(); 32020: try 32020: { 32020: this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node 32020: - 1); 32020: this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1; 32020: 32020: _Alloc_traits::construct(this->_M_impl, 32020: this->_M_impl._M_start._M_cur, 32020: std::forward<_Args>(__args)...); 32020: 32020: 32020: 32020: } 32020: catch(...) 32020: { 32020: ++this->_M_impl._M_start; 32020: _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1)); 32020: throw; 32020: } 32020: } 32020: 32020: 32020: template 32020: void deque<_Tp, _Alloc>:: 32020: _M_pop_back_aux() 32020: { 32020: _M_deallocate_node(this->_M_impl._M_finish._M_first); 32020: this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1); 32020: this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1; 32020: _Alloc_traits::destroy(_M_get_Tp_allocator(), 32020: this->_M_impl._M_finish._M_cur); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void deque<_Tp, _Alloc>:: 32020: _M_pop_front_aux() 32020: { 32020: _Alloc_traits::destroy(_M_get_Tp_allocator(), 32020: this->_M_impl._M_start._M_cur); 32020: _M_deallocate_node(this->_M_impl._M_start._M_first); 32020: this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1); 32020: this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first; 32020: } 32020: 32020: template 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_range_insert_aux(iterator __pos, 32020: _InputIterator __first, _InputIterator __last, 32020: std::input_iterator_tag) 32020: { std::copy(__first, __last, std::inserter(*this, __pos)); } 32020: 32020: template 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_range_insert_aux(iterator __pos, 32020: _ForwardIterator __first, _ForwardIterator __last, 32020: std::forward_iterator_tag) 32020: { 32020: const size_type __n = std::distance(__first, __last); 32020: if (__pos._M_cur == this->_M_impl._M_start._M_cur) 32020: { 32020: iterator __new_start = _M_reserve_elements_at_front(__n); 32020: try 32020: { 32020: std::__uninitialized_copy_a(__first, __last, __new_start, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_start = __new_start; 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(__new_start._M_node, 32020: this->_M_impl._M_start._M_node); 32020: throw; 32020: } 32020: } 32020: else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) 32020: { 32020: iterator __new_finish = _M_reserve_elements_at_back(__n); 32020: try 32020: { 32020: std::__uninitialized_copy_a(__first, __last, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 32020: __new_finish._M_node + 1); 32020: throw; 32020: } 32020: } 32020: else 32020: _M_insert_aux(__pos, __first, __last, __n); 32020: } 32020: 32020: template 32020: 32020: template 32020: typename deque<_Tp, _Alloc>::iterator 32020: deque<_Tp, _Alloc>:: 32020: _M_insert_aux(iterator __pos, _Args&&... __args) 32020: { 32020: value_type __x_copy(std::forward<_Args>(__args)...); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: difference_type __index = __pos - this->_M_impl._M_start; 32020: if (static_cast(__index) < size() / 2) 32020: { 32020: push_front(std::move(front())); 32020: iterator __front1 = this->_M_impl._M_start; 32020: ++__front1; 32020: iterator __front2 = __front1; 32020: ++__front2; 32020: __pos = this->_M_impl._M_start + __index; 32020: iterator __pos1 = __pos; 32020: ++__pos1; 32020: std::move(__front2, __pos1, __front1); 32020: } 32020: else 32020: { 32020: push_back(std::move(back())); 32020: iterator __back1 = this->_M_impl._M_finish; 32020: --__back1; 32020: iterator __back2 = __back1; 32020: --__back2; 32020: __pos = this->_M_impl._M_start + __index; 32020: std::move_backward(__pos, __back2, __back1); 32020: } 32020: *__pos = std::move(__x_copy); 32020: return __pos; 32020: } 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_insert_aux(iterator __pos, size_type __n, const value_type& __x) 32020: { 32020: const difference_type __elems_before = __pos - this->_M_impl._M_start; 32020: const size_type __length = this->size(); 32020: value_type __x_copy = __x; 32020: if (__elems_before < difference_type(__length / 2)) 32020: { 32020: iterator __new_start = _M_reserve_elements_at_front(__n); 32020: iterator __old_start = this->_M_impl._M_start; 32020: __pos = this->_M_impl._M_start + __elems_before; 32020: try 32020: { 32020: if (__elems_before >= difference_type(__n)) 32020: { 32020: iterator __start_n = (this->_M_impl._M_start 32020: + difference_type(__n)); 32020: std::__uninitialized_move_a(this->_M_impl._M_start, 32020: __start_n, __new_start, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_start = __new_start; 32020: std::move(__start_n, __pos, __old_start); 32020: std::fill(__pos - difference_type(__n), __pos, __x_copy); 32020: } 32020: else 32020: { 32020: std::__uninitialized_move_fill(this->_M_impl._M_start, 32020: __pos, __new_start, 32020: this->_M_impl._M_start, 32020: __x_copy, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_start = __new_start; 32020: std::fill(__old_start, __pos, __x_copy); 32020: } 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(__new_start._M_node, 32020: this->_M_impl._M_start._M_node); 32020: throw; 32020: } 32020: } 32020: else 32020: { 32020: iterator __new_finish = _M_reserve_elements_at_back(__n); 32020: iterator __old_finish = this->_M_impl._M_finish; 32020: const difference_type __elems_after = 32020: difference_type(__length) - __elems_before; 32020: __pos = this->_M_impl._M_finish - __elems_after; 32020: try 32020: { 32020: if (__elems_after > difference_type(__n)) 32020: { 32020: iterator __finish_n = (this->_M_impl._M_finish 32020: - difference_type(__n)); 32020: std::__uninitialized_move_a(__finish_n, 32020: this->_M_impl._M_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: std::move_backward(__pos, __finish_n, __old_finish); 32020: std::fill(__pos, __pos + difference_type(__n), __x_copy); 32020: } 32020: else 32020: { 32020: std::__uninitialized_fill_move(this->_M_impl._M_finish, 32020: __pos + difference_type(__n), 32020: __x_copy, __pos, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: std::fill(__pos, __old_finish, __x_copy); 32020: } 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 32020: __new_finish._M_node + 1); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_insert_aux(iterator __pos, 32020: _ForwardIterator __first, _ForwardIterator __last, 32020: size_type __n) 32020: { 32020: const difference_type __elemsbefore = __pos - this->_M_impl._M_start; 32020: const size_type __length = size(); 32020: if (static_cast(__elemsbefore) < __length / 2) 32020: { 32020: iterator __new_start = _M_reserve_elements_at_front(__n); 32020: iterator __old_start = this->_M_impl._M_start; 32020: __pos = this->_M_impl._M_start + __elemsbefore; 32020: try 32020: { 32020: if (__elemsbefore >= difference_type(__n)) 32020: { 32020: iterator __start_n = (this->_M_impl._M_start 32020: + difference_type(__n)); 32020: std::__uninitialized_move_a(this->_M_impl._M_start, 32020: __start_n, __new_start, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_start = __new_start; 32020: std::move(__start_n, __pos, __old_start); 32020: std::copy(__first, __last, __pos - difference_type(__n)); 32020: } 32020: else 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, difference_type(__n) - __elemsbefore); 32020: std::__uninitialized_move_copy(this->_M_impl._M_start, 32020: __pos, __first, __mid, 32020: __new_start, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_start = __new_start; 32020: std::copy(__mid, __last, __old_start); 32020: } 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(__new_start._M_node, 32020: this->_M_impl._M_start._M_node); 32020: throw; 32020: } 32020: } 32020: else 32020: { 32020: iterator __new_finish = _M_reserve_elements_at_back(__n); 32020: iterator __old_finish = this->_M_impl._M_finish; 32020: const difference_type __elemsafter = 32020: difference_type(__length) - __elemsbefore; 32020: __pos = this->_M_impl._M_finish - __elemsafter; 32020: try 32020: { 32020: if (__elemsafter > difference_type(__n)) 32020: { 32020: iterator __finish_n = (this->_M_impl._M_finish 32020: - difference_type(__n)); 32020: std::__uninitialized_move_a(__finish_n, 32020: this->_M_impl._M_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: std::move_backward(__pos, __finish_n, __old_finish); 32020: std::copy(__first, __last, __pos); 32020: } 32020: else 32020: { 32020: _ForwardIterator __mid = __first; 32020: std::advance(__mid, __elemsafter); 32020: std::__uninitialized_copy_move(__mid, __last, __pos, 32020: this->_M_impl._M_finish, 32020: this->_M_impl._M_finish, 32020: _M_get_Tp_allocator()); 32020: this->_M_impl._M_finish = __new_finish; 32020: std::copy(__first, __mid, __pos); 32020: } 32020: } 32020: catch(...) 32020: { 32020: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 32020: __new_finish._M_node + 1); 32020: throw; 32020: } 32020: } 32020: } 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_destroy_data_aux(iterator __first, iterator __last) 32020: { 32020: for (_Map_pointer __node = __first._M_node + 1; 32020: __node < __last._M_node; ++__node) 32020: std::_Destroy(*__node, *__node + _S_buffer_size(), 32020: _M_get_Tp_allocator()); 32020: 32020: if (__first._M_node != __last._M_node) 32020: { 32020: std::_Destroy(__first._M_cur, __first._M_last, 32020: _M_get_Tp_allocator()); 32020: std::_Destroy(__last._M_first, __last._M_cur, 32020: _M_get_Tp_allocator()); 32020: } 32020: else 32020: std::_Destroy(__first._M_cur, __last._M_cur, 32020: _M_get_Tp_allocator()); 32020: } 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_new_elements_at_front(size_type __new_elems) 32020: { 32020: if (this->max_size() - this->size() < __new_elems) 32020: __throw_length_error(("deque::_M_new_elements_at_front")); 32020: 32020: const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) 32020: / _S_buffer_size()); 32020: _M_reserve_map_at_front(__new_nodes); 32020: size_type __i; 32020: try 32020: { 32020: for (__i = 1; __i <= __new_nodes; ++__i) 32020: *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node(); 32020: } 32020: catch(...) 32020: { 32020: for (size_type __j = 1; __j < __i; ++__j) 32020: _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j)); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_new_elements_at_back(size_type __new_elems) 32020: { 32020: if (this->max_size() - this->size() < __new_elems) 32020: __throw_length_error(("deque::_M_new_elements_at_back")); 32020: 32020: const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) 32020: / _S_buffer_size()); 32020: _M_reserve_map_at_back(__new_nodes); 32020: size_type __i; 32020: try 32020: { 32020: for (__i = 1; __i <= __new_nodes; ++__i) 32020: *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node(); 32020: } 32020: catch(...) 32020: { 32020: for (size_type __j = 1; __j < __i; ++__j) 32020: _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j)); 32020: throw; 32020: } 32020: } 32020: 32020: template 32020: void 32020: deque<_Tp, _Alloc>:: 32020: _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front) 32020: { 32020: const size_type __old_num_nodes 32020: = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1; 32020: const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add; 32020: 32020: _Map_pointer __new_nstart; 32020: if (this->_M_impl._M_map_size > 2 * __new_num_nodes) 32020: { 32020: __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size 32020: - __new_num_nodes) / 2 32020: + (__add_at_front ? __nodes_to_add : 0); 32020: if (__new_nstart < this->_M_impl._M_start._M_node) 32020: std::copy(this->_M_impl._M_start._M_node, 32020: this->_M_impl._M_finish._M_node + 1, 32020: __new_nstart); 32020: else 32020: std::copy_backward(this->_M_impl._M_start._M_node, 32020: this->_M_impl._M_finish._M_node + 1, 32020: __new_nstart + __old_num_nodes); 32020: } 32020: else 32020: { 32020: size_type __new_map_size = this->_M_impl._M_map_size 32020: + std::max(this->_M_impl._M_map_size, 32020: __nodes_to_add) + 2; 32020: 32020: _Map_pointer __new_map = this->_M_allocate_map(__new_map_size); 32020: __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 32020: + (__add_at_front ? __nodes_to_add : 0); 32020: std::copy(this->_M_impl._M_start._M_node, 32020: this->_M_impl._M_finish._M_node + 1, 32020: __new_nstart); 32020: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 32020: 32020: this->_M_impl._M_map = __new_map; 32020: this->_M_impl._M_map_size = __new_map_size; 32020: } 32020: 32020: this->_M_impl._M_start._M_set_node(__new_nstart); 32020: this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); 32020: } 32020: 32020: 32020: 32020: 32020: 32020: template 32020: void 32020: __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first, 32020: const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last, 32020: const _VTp& __value) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter; 32020: if (__first._M_node != __last._M_node) 32020: { 32020: std::__fill_a1(__first._M_cur, __first._M_last, __value); 32020: 32020: for (typename _Iter::_Map_pointer __node = __first._M_node + 1; 32020: __node < __last._M_node; ++__node) 32020: std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value); 32020: 32020: std::__fill_a1(__last._M_first, __last._M_cur, __value); 32020: } 32020: else 32020: std::__fill_a1(__first._M_cur, __last._M_cur, __value); 32020: } 32020: 32020: template 32020: _OI 32020: __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, 32020: _OI __result) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; 32020: if (__first._M_node != __last._M_node) 32020: { 32020: __result 32020: = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last, 32020: __result); 32020: 32020: for (typename _Iter::_Map_pointer __node = __first._M_node + 1; 32020: __node != __last._M_node; ++__node) 32020: __result 32020: = std::__copy_move_a1<_IsMove>(*__node, 32020: *__node + _Iter::_S_buffer_size(), 32020: __result); 32020: 32020: return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur, 32020: __result); 32020: } 32020: 32020: return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur, 32020: __result); 32020: } 32020: 32020: template 32020: _OI 32020: __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, 32020: _OI __result) 32020: { return __copy_move_dit<_IsMove>(__first, __last, __result); } 32020: 32020: template 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*> 32020: __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first, 32020: std::_Deque_iterator<_ITp, _IRef, _IPtr> __last, 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result) 32020: { return __copy_move_dit<_IsMove>(__first, __last, __result); } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type 32020: __copy_move_a1(_II __first, _II __last, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter; 32020: typedef typename _Iter::difference_type difference_type; 32020: 32020: difference_type __len = __last - __first; 32020: while (__len > 0) 32020: { 32020: const difference_type __clen 32020: = std::min(__len, __result._M_last - __result._M_cur); 32020: std::__copy_move_a1<_IsMove>(__first, __first + __clen, 32020: __result._M_cur); 32020: 32020: __first += __clen; 32020: __result += __clen; 32020: __len -= __clen; 32020: } 32020: 32020: return __result; 32020: } 32020: 32020: template 32020: _OI 32020: __copy_move_backward_dit( 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, 32020: _OI __result) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; 32020: if (__first._M_node != __last._M_node) 32020: { 32020: __result = std::__copy_move_backward_a1<_IsMove>( 32020: __last._M_first, __last._M_cur, __result); 32020: 32020: for (typename _Iter::_Map_pointer __node = __last._M_node - 1; 32020: __node != __first._M_node; --__node) 32020: __result = std::__copy_move_backward_a1<_IsMove>( 32020: *__node, *__node + _Iter::_S_buffer_size(), __result); 32020: 32020: return std::__copy_move_backward_a1<_IsMove>( 32020: __first._M_cur, __first._M_last, __result); 32020: } 32020: 32020: return std::__copy_move_backward_a1<_IsMove>( 32020: __first._M_cur, __last._M_cur, __result); 32020: } 32020: 32020: template 32020: _OI 32020: __copy_move_backward_a1( 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, 32020: _OI __result) 32020: { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); } 32020: 32020: template 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*> 32020: __copy_move_backward_a1( 32020: std::_Deque_iterator<_ITp, _IRef, _IPtr> __first, 32020: std::_Deque_iterator<_ITp, _IRef, _IPtr> __last, 32020: std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result) 32020: { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type 32020: __copy_move_backward_a1(_II __first, _II __last, 32020: std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter; 32020: typedef typename _Iter::difference_type difference_type; 32020: 32020: difference_type __len = __last - __first; 32020: while (__len > 0) 32020: { 32020: difference_type __rlen = __result._M_cur - __result._M_first; 32020: _Tp* __rend = __result._M_cur; 32020: if (!__rlen) 32020: { 32020: __rlen = _Iter::_S_buffer_size(); 32020: __rend = *(__result._M_node - 1) + __rlen; 32020: } 32020: 32020: const difference_type __clen = std::min(__len, __rlen); 32020: std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend); 32020: 32020: __last -= __clen; 32020: __result -= __clen; 32020: __len -= __clen; 32020: } 32020: 32020: return __result; 32020: } 32020: 32020: template 32020: bool 32020: __equal_dit( 32020: const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1, 32020: const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1, 32020: _II __first2) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; 32020: if (__first1._M_node != __last1._M_node) 32020: { 32020: if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2)) 32020: return false; 32020: 32020: __first2 += __first1._M_last - __first1._M_cur; 32020: for (typename _Iter::_Map_pointer __node = __first1._M_node + 1; 32020: __node != __last1._M_node; 32020: __first2 += _Iter::_S_buffer_size(), ++__node) 32020: if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(), 32020: __first2)) 32020: return false; 32020: 32020: return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2); 32020: } 32020: 32020: return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2); 32020: } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, bool>::__type 32020: __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1, 32020: _II __first2) 32020: { return std::__equal_dit(__first1, __last1, __first2); } 32020: 32020: template 32020: bool 32020: __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1, 32020: std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1, 32020: std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2) 32020: { return std::__equal_dit(__first1, __last1, __first2); } 32020: 32020: template 32020: typename __gnu_cxx::__enable_if< 32020: __is_random_access_iter<_II>::__value, bool>::__type 32020: __equal_aux1(_II __first1, _II __last1, 32020: std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2) 32020: { 32020: typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; 32020: typedef typename _Iter::difference_type difference_type; 32020: 32020: difference_type __len = __last1 - __first1; 32020: while (__len > 0) 32020: { 32020: const difference_type __clen 32020: = std::min(__len, __first2._M_last - __first2._M_cur); 32020: if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur)) 32020: return false; 32020: 32020: __first1 += __clen; 32020: __len -= __clen; 32020: __first2 += __clen; 32020: } 32020: 32020: return true; 32020: } 32020: 32020: 32020: } 32020: # 70 "/usr/arm-linux-gnueabihf/include/c++/10/deque" 2 3 32020: 32020: 32020: 32020: 32020: 32020: 32020: namespace std __attribute__ ((__visibility__ ("default"))) 32020: { 32020: 32020: namespace pmr 32020: { 32020: template class polymorphic_allocator; 32020: template 32020: using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>; 32020: } 32020: 32020: } 32020: # 7 "/<>/src/ui/SnackBar.h" 2 32020: 32020: # 1 "/<>/src/ui/OverlayWidget.h" 1 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/QEvent" 1 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/qcoreevent.h" 1 3 4 32020: # 2 "/usr/include/arm-linux-gnueabihf/qt5/QtCore/QEvent" 2 3 4 32020: # 4 "/<>/src/ui/OverlayWidget.h" 2 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/QWidget" 1 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 1 3 4 32020: # 43 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qtwidgetsglobal.h" 1 3 4 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qtwidgetsglobal.h" 3 4 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qtwidgets-config.h" 1 3 4 32020: # 45 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qtwidgetsglobal.h" 2 3 4 32020: 32020: 32020: # 58 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qtwidgetsglobal.h" 3 4 32020: 32020: # 44 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 2 3 4 32020: 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 1 3 4 32020: # 48 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: 32020: 32020: 32020: class QPalettePrivate; 32020: class QVariant; 32020: 32020: class __attribute__((visibility("default"))) QPalette 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpalette.h" 3 4 32020: 32020: public: 32020: QPalette(); 32020: QPalette(const QColor &button); 32020: QPalette(Qt::GlobalColor button); 32020: QPalette(const QColor &button, const QColor &window); 32020: QPalette(const QBrush &windowText, const QBrush &button, const QBrush &light, 32020: const QBrush &dark, const QBrush &mid, const QBrush &text, 32020: const QBrush &bright_text, const QBrush &base, const QBrush &window); 32020: QPalette(const QColor &windowText, const QColor &window, const QColor &light, 32020: const QColor &dark, const QColor &mid, const QColor &text, const QColor &base); 32020: QPalette(const QPalette &palette); 32020: ~QPalette(); 32020: QPalette &operator=(const QPalette &palette); 32020: QPalette(QPalette &&other) noexcept 32020: : d(other.d), data(other.data) 32020: { other.d = nullptr; } 32020: inline QPalette &operator=(QPalette &&other) noexcept 32020: { 32020: for_faster_swapping_dont_use = other.for_faster_swapping_dont_use; 32020: qSwap(d, other.d); return *this; 32020: } 32020: 32020: void swap(QPalette &other) noexcept 32020: { 32020: qSwap(d, other.d); 32020: qSwap(for_faster_swapping_dont_use, other.for_faster_swapping_dont_use); 32020: } 32020: 32020: operator QVariant() const; 32020: 32020: 32020: enum ColorGroup { Active, Disabled, Inactive, NColorGroups, Current, All, Normal = Active }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(ColorGroup) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(ColorGroup) noexcept { return "ColorGroup"; } 32020: enum ColorRole { WindowText, Button, Light, Midlight, Dark, Mid, 32020: Text, BrightText, ButtonText, Base, Window, Shadow, 32020: Highlight, HighlightedText, 32020: Link, LinkVisited, 32020: AlternateBase, 32020: NoRole, 32020: ToolTipBase, ToolTipText, 32020: PlaceholderText, 32020: NColorRoles = PlaceholderText + 1, 32020: 32020: Foreground __attribute__ ((__deprecated__("Use QPalette::WindowText instead"))) = WindowText, 32020: Background __attribute__ ((__deprecated__("Use QPalette::Window instead"))) = Window 32020: 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(ColorRole) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(ColorRole) noexcept { return "ColorRole"; } 32020: 32020: inline ColorGroup currentColorGroup() const { return static_cast(data.current_group); } 32020: inline void setCurrentColorGroup(ColorGroup cg) { data.current_group = cg; } 32020: 32020: inline const QColor &color(ColorGroup cg, ColorRole cr) const 32020: { return brush(cg, cr).color(); } 32020: const QBrush &brush(ColorGroup cg, ColorRole cr) const; 32020: inline void setColor(ColorGroup cg, ColorRole cr, const QColor &color); 32020: inline void setColor(ColorRole cr, const QColor &color); 32020: inline void setBrush(ColorRole cr, const QBrush &brush); 32020: bool isBrushSet(ColorGroup cg, ColorRole cr) const; 32020: void setBrush(ColorGroup cg, ColorRole cr, const QBrush &brush); 32020: void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, 32020: const QBrush &light, const QBrush &dark, const QBrush &mid, 32020: const QBrush &text, const QBrush &bright_text, const QBrush &base, 32020: const QBrush &window); 32020: bool isEqual(ColorGroup cr1, ColorGroup cr2) const; 32020: 32020: inline const QColor &color(ColorRole cr) const { return color(Current, cr); } 32020: inline const QBrush &brush(ColorRole cr) const { return brush(Current, cr); } 32020: inline const QBrush &windowText() const { return brush(WindowText); } 32020: inline const QBrush &button() const { return brush(Button); } 32020: inline const QBrush &light() const { return brush(Light); } 32020: inline const QBrush &dark() const { return brush(Dark); } 32020: inline const QBrush &mid() const { return brush(Mid); } 32020: inline const QBrush &text() const { return brush(Text); } 32020: inline const QBrush &base() const { return brush(Base); } 32020: inline const QBrush &alternateBase() const { return brush(AlternateBase); } 32020: inline const QBrush &toolTipBase() const { return brush(ToolTipBase); } 32020: inline const QBrush &toolTipText() const { return brush(ToolTipText); } 32020: inline const QBrush &window() const { return brush(Window); } 32020: inline const QBrush &midlight() const { return brush(Midlight); } 32020: inline const QBrush &brightText() const { return brush(BrightText); } 32020: inline const QBrush &buttonText() const { return brush(ButtonText); } 32020: inline const QBrush &shadow() const { return brush(Shadow); } 32020: inline const QBrush &highlight() const { return brush(Highlight); } 32020: inline const QBrush &highlightedText() const { return brush(HighlightedText); } 32020: inline const QBrush &link() const { return brush(Link); } 32020: inline const QBrush &linkVisited() const { return brush(LinkVisited); } 32020: inline const QBrush &placeholderText() const { return brush(PlaceholderText); } 32020: 32020: __attribute__ ((__deprecated__("Use QPalette::windowText() instead"))) 32020: inline const QBrush &foreground() const { return windowText(); } 32020: __attribute__ ((__deprecated__("Use QPalette::window() instead"))) 32020: inline const QBrush &background() const { return window(); } 32020: 32020: 32020: bool operator==(const QPalette &p) const; 32020: inline bool operator!=(const QPalette &p) const { return !(operator==(p)); } 32020: bool isCopyOf(const QPalette &p) const; 32020: 32020: 32020: 32020: 32020: qint64 cacheKey() const; 32020: 32020: QPalette resolve(const QPalette &) const; 32020: inline uint resolve() const { return data.resolve_mask; } 32020: inline void resolve(uint mask) { data.resolve_mask = mask; } 32020: 32020: private: 32020: void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, 32020: const QBrush &light, const QBrush &dark, const QBrush &mid, 32020: const QBrush &text, const QBrush &bright_text, 32020: const QBrush &base, const QBrush &alternate_base, 32020: const QBrush &window, const QBrush &midlight, 32020: const QBrush &button_text, const QBrush &shadow, 32020: const QBrush &highlight, const QBrush &highlighted_text, 32020: const QBrush &link, const QBrush &link_visited); 32020: void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, 32020: const QBrush &light, const QBrush &dark, const QBrush &mid, 32020: const QBrush &text, const QBrush &bright_text, 32020: const QBrush &base, const QBrush &alternate_base, 32020: const QBrush &window, const QBrush &midlight, 32020: const QBrush &button_text, const QBrush &shadow, 32020: const QBrush &highlight, const QBrush &highlighted_text, 32020: const QBrush &link, const QBrush &link_visited, 32020: const QBrush &toolTipBase, const QBrush &toolTipText); 32020: void init(); 32020: void detach(); 32020: 32020: QPalettePrivate *d; 32020: struct Data { 32020: uint current_group : 4; 32020: uint resolve_mask : 28; 32020: }; 32020: union { 32020: Data data; 32020: quint32 for_faster_swapping_dont_use; 32020: }; 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &s, const QPalette &p); 32020: }; 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QPalette)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPalette >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPalette) }; static inline const char *name() { return "QPalette"; } }; inline void swap(QPalette &value1, QPalette &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: inline void QPalette::setColor(ColorGroup acg, ColorRole acr, 32020: const QColor &acolor) 32020: { setBrush(acg, acr, QBrush(acolor)); } 32020: inline void QPalette::setColor(ColorRole acr, const QColor &acolor) 32020: { setColor(All, acr, acolor); } 32020: inline void QPalette::setBrush(ColorRole acr, const QBrush &abrush) 32020: { setBrush(All, acr, abrush); } 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &ds, const QPalette &p); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &ds, QPalette &p); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPalette &); 32020: 32020: 32020: 32020: # 49 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 2 3 4 32020: 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: 32020: # 65 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: class QVariant; 32020: class QSizePolicy; 32020: 32020: __attribute__((const)) inline uint qHash(QSizePolicy key, uint seed = 0) noexcept; 32020: 32020: class __attribute__((visibility("default"))) QSizePolicy 32020: { 32020: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 72 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: 32020: 32020: public: 32020: enum PolicyFlag { 32020: GrowFlag = 1, 32020: ExpandFlag = 2, 32020: ShrinkFlag = 4, 32020: IgnoreFlag = 8 32020: }; 32020: 32020: enum Policy { 32020: Fixed = 0, 32020: Minimum = GrowFlag, 32020: Maximum = ShrinkFlag, 32020: Preferred = GrowFlag | ShrinkFlag, 32020: MinimumExpanding = GrowFlag | ExpandFlag, 32020: Expanding = GrowFlag | ShrinkFlag | ExpandFlag, 32020: Ignored = ShrinkFlag | GrowFlag | IgnoreFlag 32020: }; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(Policy) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Policy) noexcept { return "Policy"; } 32020: 32020: enum ControlType { 32020: DefaultType = 0x00000001, 32020: ButtonBox = 0x00000002, 32020: CheckBox = 0x00000004, 32020: ComboBox = 0x00000008, 32020: Frame = 0x00000010, 32020: GroupBox = 0x00000020, 32020: Label = 0x00000040, 32020: Line = 0x00000080, 32020: LineEdit = 0x00000100, 32020: PushButton = 0x00000200, 32020: RadioButton = 0x00000400, 32020: Slider = 0x00000800, 32020: SpinBox = 0x00001000, 32020: TabWidget = 0x00002000, 32020: ToolButton = 0x00004000 32020: }; 32020: typedef QFlags ControlTypes; 32020: friend constexpr const QMetaObject *qt_getEnumMetaObject(ControlTypes) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(ControlTypes) noexcept { return "ControlTypes"; } 32020: 32020: constexpr QSizePolicy() noexcept : data(0) { } 32020: 32020: 32020: constexpr QSizePolicy(Policy horizontal, Policy vertical, ControlType type = DefaultType) noexcept 32020: : bits{0, 0, quint32(horizontal), quint32(vertical), 32020: type == DefaultType ? 0 : toControlTypeFieldValue(type), 0, 0, 0} 32020: {} 32020: # 128 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: constexpr Policy horizontalPolicy() const noexcept { return static_cast(bits.horPolicy); } 32020: constexpr Policy verticalPolicy() const noexcept { return static_cast(bits.verPolicy); } 32020: ControlType controlType() const noexcept; 32020: 32020: constexpr void setHorizontalPolicy(Policy d) noexcept { bits.horPolicy = d; } 32020: constexpr void setVerticalPolicy(Policy d) noexcept { bits.verPolicy = d; } 32020: void setControlType(ControlType type) noexcept; 32020: 32020: constexpr Qt::Orientations expandingDirections() const noexcept { 32020: return ( (verticalPolicy() & ExpandFlag) ? Qt::Vertical : Qt::Orientations() ) 32020: | ( (horizontalPolicy() & ExpandFlag) ? Qt::Horizontal : Qt::Orientations() ) ; 32020: } 32020: 32020: constexpr void setHeightForWidth(bool b) noexcept { bits.hfw = b; } 32020: constexpr bool hasHeightForWidth() const noexcept { return bits.hfw; } 32020: constexpr void setWidthForHeight(bool b) noexcept { bits.wfh = b; } 32020: constexpr bool hasWidthForHeight() const noexcept { return bits.wfh; } 32020: 32020: constexpr bool operator==(const QSizePolicy& s) const noexcept { return data == s.data; } 32020: constexpr bool operator!=(const QSizePolicy& s) const noexcept { return data != s.data; } 32020: 32020: friend __attribute__((const)) uint qHash(QSizePolicy key, uint seed) noexcept { return qHash(key.data, seed); } 32020: 32020: operator QVariant() const; 32020: 32020: constexpr int horizontalStretch() const noexcept { return static_cast(bits.horStretch); } 32020: constexpr int verticalStretch() const noexcept { return static_cast(bits.verStretch); } 32020: constexpr void setHorizontalStretch(int stretchFactor) { bits.horStretch = static_cast(qBound(0, stretchFactor, 255)); } 32020: constexpr void setVerticalStretch(int stretchFactor) { bits.verStretch = static_cast(qBound(0, stretchFactor, 255)); } 32020: 32020: constexpr bool retainSizeWhenHidden() const noexcept { return bits.retainSizeWhenHidden; } 32020: constexpr void setRetainSizeWhenHidden(bool retainSize) noexcept { bits.retainSizeWhenHidden = retainSize; } 32020: 32020: constexpr void transpose() noexcept { *this = transposed(); } 32020: [[nodiscard]] 32020: 32020: constexpr 32020: 32020: QSizePolicy transposed() const noexcept 32020: { 32020: return QSizePolicy(bits.transposed()); 32020: } 32020: 32020: private: 32020: 32020: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSizePolicy &); 32020: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSizePolicy &); 32020: 32020: constexpr QSizePolicy(int i) noexcept : data(i) { } 32020: struct Bits; 32020: constexpr explicit QSizePolicy(Bits b) noexcept : bits(b) { } 32020: 32020: static constexpr quint32 toControlTypeFieldValue(ControlType type) noexcept 32020: { 32020: # 196 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qsizepolicy.h" 3 4 32020: return qCountTrailingZeroBits(static_cast(type)); 32020: } 32020: 32020: struct Bits { 32020: quint32 horStretch : 8; 32020: quint32 verStretch : 8; 32020: quint32 horPolicy : 4; 32020: quint32 verPolicy : 4; 32020: quint32 ctype : 5; 32020: quint32 hfw : 1; 32020: quint32 wfh : 1; 32020: quint32 retainSizeWhenHidden : 1; 32020: 32020: constexpr 32020: Bits transposed() const noexcept 32020: { 32020: return {verStretch, 32020: horStretch, 32020: verPolicy, 32020: horPolicy, 32020: ctype, 32020: hfw, 32020: wfh, 32020: retainSizeWhenHidden}; 32020: } 32020: }; 32020: union { 32020: Bits bits; 32020: quint32 data; 32020: }; 32020: }; 32020: 32020: 32020: 32020: 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QSizePolicy)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QSizePolicy >::value, isDummy = (((Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QSizePolicy) }; static inline const char *name() { return "QSizePolicy"; } }; 32020: 32020: 32020: constexpr inline QFlags operator|(QSizePolicy::ControlTypes::enum_type f1, QSizePolicy::ControlTypes::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QSizePolicy::ControlTypes::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QSizePolicy::ControlTypes::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSizePolicy &); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSizePolicy &); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug dbg, const QSizePolicy &); 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: # 53 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 2 3 4 32020: 32020: 32020: # 1 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcursor.h" 1 3 4 32020: # 47 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcursor.h" 3 4 32020: 32020: 32020: 32020: class QVariant; 32020: class QScreen; 32020: # 74 "/usr/include/arm-linux-gnueabihf/qt5/QtGui/qcursor.h" 3 4 32020: class QCursorData; 32020: class QBitmap; 32020: class QPixmap; 32020: 32020: 32020: class __attribute__((visibility("default"))) QCursor 32020: { 32020: public: 32020: QCursor(); 32020: QCursor(Qt::CursorShape shape); 32020: QCursor(const QBitmap &bitmap, const QBitmap &mask, int hotX=-1, int hotY=-1); 32020: QCursor(const QPixmap &pixmap, int hotX=-1, int hotY=-1); 32020: QCursor(const QCursor &cursor); 32020: ~QCursor(); 32020: QCursor &operator=(const QCursor &cursor); 32020: QCursor(QCursor &&other) noexcept : d(other.d) { other.d = nullptr; } 32020: inline QCursor &operator=(QCursor &&other) noexcept 32020: { swap(other); return *this; } 32020: 32020: void swap(QCursor &other) noexcept { qSwap(d, other.d); } 32020: 32020: operator QVariant() const; 32020: 32020: Qt::CursorShape shape() const; 32020: void setShape(Qt::CursorShape newShape); 32020: 32020: 32020: __attribute__ ((__deprecated__("Use the other overload which returns QBitmap by-value"))) 32020: const QBitmap *bitmap() const; 32020: 32020: __attribute__ ((__deprecated__("Use the other overload which returns QBitmap by-value"))) 32020: const QBitmap *mask() const; 32020: 32020: QBitmap bitmap(Qt::ReturnByValueConstant) const; 32020: QBitmap mask(Qt::ReturnByValueConstant) const; 32020: 32020: 32020: 32020: 32020: QPixmap pixmap() const; 32020: QPoint hotSpot() const; 32020: 32020: static QPoint pos(); 32020: static QPoint pos(const QScreen *screen); 32020: static void setPos(int x, int y); 32020: static void setPos(QScreen *screen, int x, int y); 32020: inline static void setPos(const QPoint &p) { setPos(p.x(), p.y()); } 32020: inline static void setPos(QScreen *screen, const QPoint &p) { setPos(screen, p.x(), p.y()); } 32020: 32020: private: 32020: friend __attribute__((visibility("default"))) bool operator==(const QCursor &lhs, const QCursor &rhs) noexcept; 32020: QCursorData *d; 32020: }; 32020: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0) && !qIsTrivial(), isStatic = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE) || qIsRelocatable(), isLarge = (sizeof(QCursor)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QCursor >::value, isDummy = (((((5<<16)|(15<<8)|(2)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QCursor) }; static inline const char *name() { return "QCursor"; } }; inline void swap(QCursor &value1, QCursor &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 32020: 32020: __attribute__((visibility("default"))) bool operator==(const QCursor &lhs, const QCursor &rhs) noexcept; 32020: inline bool operator!=(const QCursor &lhs, const QCursor &rhs) noexcept { return !(lhs == rhs); } 32020: 32020: 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &outS, const QCursor &cursor); 32020: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &inS, QCursor &cursor); 32020: 32020: 32020: 32020: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QCursor &); 32020: 32020: 32020: 32020: 32020: 32020: # 56 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 2 3 4 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: class QLayout; 32020: class QWSRegionManager; 32020: class QStyle; 32020: class QAction; 32020: class QVariant; 32020: class QWindow; 32020: class QActionEvent; 32020: class QMouseEvent; 32020: class QWheelEvent; 32020: class QHoverEvent; 32020: class QKeyEvent; 32020: class QFocusEvent; 32020: class QPaintEvent; 32020: class QMoveEvent; 32020: class QResizeEvent; 32020: class QCloseEvent; 32020: class QContextMenuEvent; 32020: class QInputMethodEvent; 32020: class QTabletEvent; 32020: class QDragEnterEvent; 32020: class QDragMoveEvent; 32020: class QDragLeaveEvent; 32020: class QDropEvent; 32020: class QScreen; 32020: class QShowEvent; 32020: class QHideEvent; 32020: class QIcon; 32020: class QBackingStore; 32020: class QPlatformWindow; 32020: class QLocale; 32020: class QGraphicsProxyWidget; 32020: class QGraphicsEffect; 32020: class QRasterWindowSurface; 32020: class QUnifiedToolbarSurface; 32020: class QPixmap; 32020: 32020: class QDebug; 32020: 32020: 32020: class QWidgetData 32020: { 32020: public: 32020: WId winid; 32020: uint widget_attributes; 32020: Qt::WindowFlags window_flags; 32020: uint window_state : 4; 32020: uint focus_policy : 4; 32020: uint sizehint_forced :1; 32020: uint is_closing :1; 32020: uint in_show : 1; 32020: uint in_set_window_state : 1; 32020: mutable uint fstrut_dirty : 1; 32020: uint context_menu_policy : 3; 32020: uint window_modality : 2; 32020: uint in_destructor : 1; 32020: uint unused : 13; 32020: QRect crect; 32020: mutable QPalette pal; 32020: QFont fnt; 32020: QRect wrect; 32020: }; 32020: 32020: class QWidgetPrivate; 32020: 32020: class __attribute__((visibility("default"))) QWidget : public QObject, public QPaintDevice 32020: { 32020: public: 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: 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: 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 131 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: struct QPrivateSignal {}; 32020: inline QWidgetPrivate* d_func() { 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: } inline const QWidgetPrivate* d_func() const { 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic push 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic ignored "-Wcast-align" 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: return reinterpret_cast(qGetPtrHelper(d_ptr)); 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: #pragma GCC diagnostic pop 32020: # 132 "/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h" 3 4 32020: } friend class QWidgetPrivate; 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: 32020: public: 32020: enum RenderFlag { 32020: DrawWindowBackground = 0x1, 32020: DrawChildren = 0x2, 32020: IgnoreMask = 0x4 32020: }; 32020: typedef QFlags RenderFlags; 32020: 32020: explicit QWidget(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); 32020: ~QWidget(); 32020: 32020: int devType() const override; 32020: 32020: WId winId() const; 32020: void createWinId(); 32020: inline WId internalWinId() const { return data->winid; } 32020: WId effectiveWinId() const; 32020: 32020: 32020: QStyle *style() const; 32020: void setStyle(QStyle *); 32020: 32020: 32020: bool isTopLevel() const; 32020: bool isWindow() const; 32020: 32020: bool isModal() const; 32020: Qt::WindowModality windowModality() const; 32020: void setWindowModality(Qt::WindowModality windowModality); 32020: 32020: bool isEnabled() const; 32020: bool isEnabledTo(const QWidget *) const; 32020: 32020: __attribute__ ((__deprecated__("Use isEnabled() instead"))) 32020: bool isEnabledToTLW() const; 32020: 32020: 32020: public : 32020: void setEnabled(bool); 32020: void setDisabled(bool); 32020: void setWindowModified(bool); 32020: 32020: 32020: 32020: public: 32020: QRect frameGeometry() const; 32020: const QRect &geometry() const; 32020: QRect normalGeometry() const; 32020: 32020: int x() const; 32020: int y() const; 32020: QPoint pos() const; 32020: QSize frameSize() const; 32020: QSize size() const; 32020: inline int width() const; 32020: inline int height() const; 32020: inline QRect rect() const; 32020: QRect childrenRect() const; 32020: QRegion childrenRegion() const; 32020: 32020: QSize minimumSize() const; 32020: QSize maximumSize() const; 32020: int minimumWidth() const; 32020: int minimumHeight() const; 32020: int maximumWidth() const; 32020: int maximumHeight() const; 32020: void setMinimumSize(const QSize &); 32020: void setMinimumSize(int minw, int minh); 32020: void setMaximumSize(const QSize &); 32020: void setMaximumSize(int maxw, int maxh); 32020: void setMinimumWidth(int minw); 32020: void setMinimumHeight(int minh); 32020: void setMaximumWidth(int maxw); 32020: void setMaximumHeight(int maxh); 32020: 32020: 32020: 32020: 32020: 32020: QSize sizeIncrement() const; 32020: void setSizeIncrement(const QSize &); 32020: void setSizeIncrement(int w, int h); 32020: QSize baseSize() const; 32020: void setBaseSize(const QSize &); 32020: void setBaseSize(int basew, int baseh); 32020: 32020: void setFixedSize(const QSize &); 32020: void setFixedSize(int w, int h); 32020: void setFixedWidth(int w); 32020: void setFixedHeight(int h); 32020: 32020: 32020: 32020: QPoint mapToGlobal(const QPoint &) const; 32020: QPoint mapFromGlobal(const QPoint &) const; 32020: QPoint mapToParent(const QPoint &) const; 32020: QPoint mapFromParent(const QPoint &) const; 32020: QPoint mapTo(const QWidget *, const QPoint &) const; 32020: QPoint mapFrom(const QWidget *, const QPoint &) const; 32020: 32020: QWidget *window() const; 32020: QWidget *nativeParentWidget() const; 32020: inline QWidget *topLevelWidget() const { return window(); } 32020: 32020: 32020: const QPalette &palette() const; 32020: void setPalette(const QPalette &); 32020: 32020: void setBackgroundRole(QPalette::ColorRole); 32020: QPalette::ColorRole backgroundRole() const; 32020: 32020: void setForegroundRole(QPalette::ColorRole); 32020: QPalette::ColorRole foregroundRole() const; 32020: 32020: const QFont &font() const; 32020: void setFont(const QFont &); 32020: QFontMetrics fontMetrics() const; 32020: QFontInfo fontInfo() const; 32020: 32020: 32020: QCursor cursor() const; 32020: void setCursor(const QCursor &); 32020: void unsetCursor(); 32020: 32020: 32020: void setMouseTracking(bool enable); 32020: bool hasMouseTracking() const; 32020: bool underMouse() const; 32020: 32020: void setTabletTracking(bool enable); 32020: bool hasTabletTracking() const; 32020: 32020: void setMask(const QBitmap &); 32020: void setMask(const QRegion &); 32020: QRegion mask() const; 32020: void clearMask(); 32020: 32020: void render(QPaintDevice *target, const QPoint &targetOffset = QPoint(), 32020: const QRegion &sourceRegion = QRegion(), 32020: RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren)); 32020: 32020: void render(QPainter *painter, const QPoint &targetOffset = QPoint(), 32020: const QRegion &sourceRegion = QRegion(), 32020: RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren)); 32020: 32020: QPixmap grab(const QRect &rectangle = QRect(QPoint(0, 0), QSize(-1, -1))); 32020: 32020: 32020: QGraphicsEffect *graphicsEffect() const; 32020: void setGraphicsEffect(QGraphicsEffect *effect); 32020: 32020: 32020: 32020: void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags()); 32020: void ungrabGesture(Qt::GestureType type); 32020: 32020: 32020: public : 32020: void setWindowTitle(const QString &); 32020: 32020: void setStyleSheet(const QString& styleSheet); 32020: 32020: public: 32020: 32020: QString styleSheet() const; 32020: 32020: QString windowTitle() const; 32020: void setWindowIcon(const QIcon &icon); 32020: QIcon windowIcon() const; 32020: void setWindowIconText(const QString &); 32020: QString windowIconText() const; 32020: void setWindowRole(const QString &); 32020: QString windowRole() const; 32020: void setWindowFilePath(const QString &filePath); 32020: QString windowFilePath() const; 32020: 32020: void setWindowOpacity(qreal level); 32020: qreal windowOpacity() const; 32020: 32020: bool isWindowModified() const; 32020: 32020: void setToolTip(const QString &); 32020: QString toolTip() const; 32020: void setToolTipDuration(int msec); 32020: int toolTipDuration() const; 32020: 32020: 32020: void setStatusTip(const QString &); 32020: QString statusTip() const; 32020: 32020: 32020: void setWhatsThis(const QString &); 32020: QString whatsThis() const; 32020: 32020: 32020: QString accessibleName() const; 32020: void setAccessibleName(const QString &name); 32020: QString accessibleDescription() const; 32020: void setAccessibleDescription(const QString &description); 32020: 32020: 32020: void setLayoutDirection(Qt::LayoutDirection direction); 32020: Qt::LayoutDirection layoutDirection() const; 32020: void unsetLayoutDirection(); 32020: 32020: void setLocale(const QLocale &locale); 32020: QLocale locale() const; 32020: void unsetLocale(); 32020: 32020: inline bool isRightToLeft() const { return layoutDirection() == Qt::RightToLeft; } 32020: inline bool isLeftToRight() const { return layoutDirection() == Qt::LeftToRight; } 32020: 32020: public : 32020: inline void setFocus() { setFocus(Qt::OtherFocusReason); } 32020: 32020: public: 32020: bool isActiveWindow() const; 32020: void activateWindow(); 32020: void clearFocus(); 32020: 32020: void setFocus(Qt::FocusReason reason); 32020: Qt::FocusPolicy focusPolicy() const; 32020: void setFocusPolicy(Qt::FocusPolicy policy); 32020: bool hasFocus() const; 32020: static void setTabOrder(QWidget *, QWidget *); 32020: void setFocusProxy(QWidget *); 32020: QWidget *focusProxy() const; 32020: Qt::ContextMenuPolicy contextMenuPolicy() const; 32020: void setContextMenuPolicy(Qt::ContextMenuPolicy policy); 32020: 32020: 32020: void grabMouse(); 32020: 32020: void grabMouse(const QCursor &); 32020: 32020: void releaseMouse(); 32020: void grabKeyboard(); 32020: void releaseKeyboard(); 32020: 32020: int grabShortcut(const QKeySequence &key, Qt::ShortcutContext context = Qt::WindowShortcut); 32020: void releaseShortcut(int id); 32020: void setShortcutEnabled(int id, bool enable = true); 32020: void setShortcutAutoRepeat(int id, bool enable = true); 32020: 32020: static QWidget *mouseGrabber(); 32020: static QWidget *keyboardGrabber(); 32020: 32020: 32020: inline bool updatesEnabled() const; 32020: void setUpdatesEnabled(bool enable); 32020: 32020: 32020: QGraphicsProxyWidget *graphicsProxyWidget() const; 32020: 32020: 32020: public : 32020: void update(); 32020: void repaint(); 32020: 32020: public: 32020: inline void update(int x, int y, int w, int h); 32020: void update(const QRect&); 32020: void update(const QRegion&); 32020: 32020: void repaint(int x, int y, int w, int h); 32020: void repaint(const QRect &); 32020: void repaint(const QRegion &); 32020: 32020: public : 32020: 32020: 32020: virtual void setVisible(bool visible); 32020: void setHidden(bool hidden); 32020: void show(); 32020: void hide(); 32020: 32020: void showMinimized(); 32020: void showMaximized(); 32020: void showFullScreen(); 32020: void showNormal(); 32020: 32020: bool close(); 32020: void raise(); 32020: void lower(); 32020: 32020: public: 32020: void stackUnder(QWidget*); 32020: void move(int x, int y); 32020: void move(const QPoint &); 32020: void resize(int w, int h); 32020: void resize(const QSize &); 32020: inline void setGeometry(int x, int y, int w, int h); 32020: void setGeometry(const QRect &); 32020: QByteArray saveGeometry() const; 32020: bool restoreGeometry(const QByteArray &geometry); 32020: void adjustSize(); 32020: bool isVisible() const; 32020: bool isVisibleTo(const QWidget *) const; 32020: inline bool isHidden() const; 32020: 32020: bool isMinimized() const; 32020: bool isMaximized() const; 32020: bool isFullScreen() const; 32020: 32020: Qt::WindowStates windowState() const; 32020: void setWindowState(Qt::WindowStates state); 32020: void overrideWindowState(Qt::WindowStates state); 32020: 32020: virtual QSize sizeHint() const; 32020: virtual QSize minimumSizeHint() const; 32020: 32020: QSizePolicy sizePolicy() const; 32020: void setSizePolicy(QSizePolicy); 32020: inline void setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical); 32020: virtual int heightForWidth(int) const; 32020: virtual bool hasHeightForWidth() const; 32020: 32020: QRegion visibleRegion() const; 32020: 32020: void setContentsMargins(int left, int top, int right, int bottom); 32020: void setContentsMargins(const QMargins &margins); 32020: 32020: __attribute__ ((__deprecated__("use contentsMargins()"))) 32020: void getContentsMargins(int *left, int *top, int *right, int *bottom) const; 32020: 32020: QMargins contentsMargins() const; 32020: 32020: QRect contentsRect() const; 32020: 32020: public: 32020: QLayout *layout() const; 32020: void setLayout(QLayout *); 32020: void updateGeometry(); 32020: 32020: void setParent(QWidget *parent); 32020: void setParent(QWidget *parent, Qt::WindowFlags f); 32020: 32020: void scroll(int dx, int dy); 32020: void scroll(int dx, int dy, const QRect&); 32020: 32020: 32020: 32020: QWidget *focusWidget() const; 32020: QWidget *nextInFocusChain() const; 32020: QWidget *previousInFocusChain() const; 32020: 32020: 32020: bool acceptDrops() const; 32020: void setAcceptDrops(bool on); 32020: 32020: 32020: 32020: void addAction(QAction *action); 32020: 32020: 32020: 32020: 32020: void addActions(QList actions); 32020: void insertActions(QAction *before, QList actions); 32020: 32020: void insertAction(QAction *before, QAction *action); 32020: void removeAction(QAction *action); 32020: QList actions() const; 32020: 32020: 32020: QWidget *parentWidget() const; 32020: 32020: void setWindowFlags(Qt::WindowFlags type); 32020: inline Qt::WindowFlags windowFlags() const; 32020: void setWindowFlag(Qt::WindowType, bool on = true); 32020: void overrideWindowFlags(Qt::WindowFlags type); 32020: 32020: inline Qt::WindowType windowType() const; 32020: 32020: static QWidget *find(WId); 32020: inline QWidget *childAt(int x, int y) const; 32020: QWidget *childAt(const QPoint &p) const; 32020: 32020: void setAttribute(Qt::WidgetAttribute, bool on = true); 32020: inline bool testAttribute(Qt::WidgetAttribute) const; 32020: 32020: QPaintEngine *paintEngine() const override; 32020: 32020: void ensurePolished() const; 32020: 32020: bool isAncestorOf(const QWidget *child) const; 32020: 32020: 32020: 32020: 32020: 32020: 32020: bool autoFillBackground() const; 32020: void setAutoFillBackground(bool enabled); 32020: 32020: QBackingStore *backingStore() const; 32020: 32020: QWindow *windowHandle() const; 32020: QScreen *screen() const; 32020: 32020: static QWidget *createWindowContainer(QWindow *window, QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::WindowFlags()); 32020: 32020: friend class QDesktopScreenWidget; 32020: 32020: public : 32020: void windowTitleChanged(const QString &title); 32020: void windowIconChanged(const QIcon &icon); 32020: void windowIconTextChanged(const QString &iconText); 32020: void customContextMenuRequested(const QPoint &pos); 32020: 32020: protected: 32020: 32020: bool event(QEvent *event) override; 32020: virtual void mousePressEvent(QMouseEvent *event); 32020: virtual void mouseReleaseEvent(QMouseEvent *event); 32020: virtual void mouseDoubleClickEvent(QMouseEvent *event); 32020: virtual void mouseMoveEvent(QMouseEvent *event); 32020: 32020: virtual void wheelEvent(QWheelEvent *event); 32020: 32020: virtual void keyPressEvent(QKeyEvent *event); 32020: virtual void keyReleaseEvent(QKeyEvent *event); 32020: virtual void focusInEvent(QFocusEvent *event); 32020: virtual void focusOutEvent(QFocusEvent *event); 32020: virtual void enterEvent(QEvent *event); 32020: virtual void leaveEvent(QEvent *event); 32020: virtual void paintEvent(QPaintEvent *event); 32020: virtual void moveEvent(QMoveEvent *event); 32020: virtual void resizeEvent(QResizeEvent *event); 32020: virtual void closeEvent(QCloseEvent *event); 32020: 32020: virtual void contextMenuEvent(QContextMenuEvent *event); 32020: 32020: 32020: virtual void tabletEvent(QTabletEvent *event); 32020: 32020: 32020: virtual void actionEvent(QActionEvent *event); 32020: 32020: 32020: 32020: virtual void dragEnterEvent(QDragEnterEvent *event); 32020: virtual void dragMoveEvent(QDragMoveEvent *event); 32020: virtual void dragLeaveEvent(QDragLeaveEvent *event); 32020: virtual void dropEvent(QDropEvent *event); 32020: 32020: 32020: virtual void showEvent(QShowEvent *event); 32020: virtual void hideEvent(QHideEvent *event); 32020: 32020: 32020: 32020: 32020: virtual bool nativeEvent(const QByteArray &eventType, void *message, long *result); 32020: 32020: 32020: 32020: virtual void changeEvent(QEvent *); 32020: 32020: int metric(PaintDeviceMetric) const override; 32020: void initPainter(QPainter *painter) const override; 32020: QPaintDevice *redirected(QPoint *offset) const override; 32020: QPainter *sharedPainter() const override; 32020: 32020: virtual void inputMethodEvent(QInputMethodEvent *); 32020: public: 32020: virtual QVariant inputMethodQuery(Qt::InputMethodQuery) const; 32020: 32020: Qt::InputMethodHints inputMethodHints() const; 32020: void setInputMethodHints(Qt::InputMethodHints hints); 32020: 32020: protected : 32020: void updateMicroFocus(); 32020: protected: 32020: 32020: void create(WId = 0, bool initializeWindow = true, 32020: bool destroyOldWindow = true); 32020: void destroy(bool destroyWindow = true, 32020: bool destroySubWindows = true); 32020: 32020: friend class QDataWidgetMapperPrivate; 32020: virtual bool focusNextPrevChild(bool next); 32020: inline bool focusNextChild() { return focusNextPrevChild(true); } 32020: inline bool focusPreviousChild() { return focusNextPrevChild(false); } 32020: 32020: protected: 32020: QWidget(QWidgetPrivate &d, QWidget* parent, Qt::WindowFlags f); 32020: private: 32020: void setBackingStore(QBackingStore *store); 32020: 32020: bool testAttribute_helper(Qt::WidgetAttribute) const; 32020: 32020: QLayout *takeLayout(); 32020: 32020: friend class QBackingStoreDevice; 32020: friend class QWidgetRepaintManager; 32020: friend class QApplication; 32020: friend class QApplicationPrivate; 32020: friend class QGuiApplication; 32020: friend class QGuiApplicationPrivate; 32020: friend class QBaseApplication; 32020: friend class QPainter; 32020: friend class QPainterPrivate; 32020: friend class QPixmap; 32020: friend class QFontMetrics; 32020: friend class QFontInfo; 32020: friend class QLayout; 32020: friend class QWidgetItem; 32020: friend class QWidgetItemV2; 32020: friend class QGLContext; 32020: friend class QGLWidget; 32020: friend class QGLWindowSurface; 32020: friend class QX11PaintEngine; 32020: friend class QWin32PaintEngine; 32020: friend class QShortcutPrivate; 32020: friend class QWindowSurface; 32020: friend class QGraphicsProxyWidget; 32020: friend class QGraphicsProxyWidgetPrivate; 32020: friend class QStyleSheetStyle; 32020: friend struct QWidgetExceptionCleaner; 32020: friend class QWidgetWindow; 32020: friend class QAccessibleWidget; 32020: friend class QAccessibleTable; 32020: friend class QAccessibleTabButton; 32020: 32020: friend class QGestureManager; 32020: friend class QWinNativePanGestureRecognizer; 32020: 32020: friend class QWidgetEffectSourcePrivate; 32020: 32020: 32020: 32020: 32020: friend __attribute__((visibility("default"))) QWidgetData *qt_qwidget_data(QWidget *widget); 32020: friend __attribute__((visibility("default"))) QWidgetPrivate *qt_widget_private(QWidget *widget); 32020: 32020: private: 32020: QWidget(const QWidget &) = delete; QWidget &operator=(const QWidget &) = delete; 32020: 32020: 32020: QWidgetData *data; 32020: }; 32020: 32020: constexpr inline QFlags operator|(QWidget::RenderFlags::enum_type f1, QWidget::RenderFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QWidget::RenderFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QWidget::RenderFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 32020: 32020: 32020: template <> inline QWidget *qobject_cast(QObject *o) 32020: { 32020: if (!o || !o->isWidgetType()) return nullptr; 32020: return static_cast(o); 32020: } 32020: template <> inline const QWidget *qobject_cast(const QObject *o) 32020: { 32020: if (!o || !o->isWidgetType()) return nullptr; 32020: return static_cast(o); 32020: } 32020: 32020: 32020: inline QWidget *QWidget::childAt(int ax, int ay) const 32020: { return childAt(QPoint(ax, ay)); } 32020: 32020: inline Qt::WindowType QWidget::windowType() const 32020: { return static_cast(int(data->window_flags & Qt::WindowType_Mask)); } 32020: inline Qt::WindowFlags QWidget::windowFlags() const 32020: { return data->window_flags; } 32020: 32020: inline bool QWidget::isTopLevel() const 32020: { return (windowType() & Qt::Window); } 32020: 32020: inline bool QWidget::isWindow() const 32020: { return (windowType() & Qt::Window); } 32020: 32020: inline bool QWidget::isEnabled() const 32020: { return !testAttribute(Qt::WA_Disabled); } 32020: 32020: inline bool QWidget::isModal() const 32020: { return data->window_modality != Qt::NonModal; } 32020: 32020: 32020: inline bool QWidget::isEnabledToTLW() const 32020: { return isEnabled(); } 32020: 32020: 32020: inline int QWidget::minimumWidth() const 32020: { return minimumSize().width(); } 32020: 32020: inline int QWidget::minimumHeight() const 32020: { return minimumSize().height(); } 32020: 32020: inline int QWidget::maximumWidth() const 32020: { return maximumSize().width(); } 32020: 32020: inline int QWidget::maximumHeight() const 32020: { return maximumSize().height(); } 32020: 32020: inline void QWidget::setMinimumSize(const QSize &s) 32020: { setMinimumSize(s.width(),s.height()); } 32020: 32020: inline void QWidget::setMaximumSize(const QSize &s) 32020: { setMaximumSize(s.width(),s.height()); } 32020: 32020: inline void QWidget::setSizeIncrement(const QSize &s) 32020: { setSizeIncrement(s.width(),s.height()); } 32020: 32020: inline void QWidget::setBaseSize(const QSize &s) 32020: { setBaseSize(s.width(),s.height()); } 32020: 32020: inline const QFont &QWidget::font() const 32020: { return data->fnt; } 32020: 32020: inline QFontMetrics QWidget::fontMetrics() const 32020: { return QFontMetrics(data->fnt); } 32020: 32020: inline QFontInfo QWidget::fontInfo() const 32020: { return QFontInfo(data->fnt); } 32020: 32020: inline void QWidget::setMouseTracking(bool enable) 32020: { setAttribute(Qt::WA_MouseTracking, enable); } 32020: 32020: inline bool QWidget::hasMouseTracking() const 32020: { return testAttribute(Qt::WA_MouseTracking); } 32020: 32020: inline bool QWidget::underMouse() const 32020: { return testAttribute(Qt::WA_UnderMouse); } 32020: 32020: inline void QWidget::setTabletTracking(bool enable) 32020: { setAttribute(Qt::WA_TabletTracking, enable); } 32020: 32020: inline bool QWidget::hasTabletTracking() const 32020: { return testAttribute(Qt::WA_TabletTracking); } 32020: 32020: inline bool QWidget::updatesEnabled() const 32020: { return !testAttribute(Qt::WA_UpdatesDisabled); } 32020: 32020: inline void QWidget::update(int ax, int ay, int aw, int ah) 32020: { update(QRect(ax, ay, aw, ah)); } 32020: 32020: inline bool QWidget::isVisible() const 32020: { return testAttribute(Qt::WA_WState_Visible); } 32020: 32020: inline bool QWidget::isHidden() const 32020: { return testAttribute(Qt::WA_WState_Hidden); } 32020: 32020: inline void QWidget::move(int ax, int ay) 32020: { move(QPoint(ax, ay)); } 32020: 32020: inline void QWidget::resize(int w, int h) 32020: { resize(QSize(w, h)); } 32020: 32020: inline void QWidget::setGeometry(int ax, int ay, int aw, int ah) 32020: { setGeometry(QRect(ax, ay, aw, ah)); } 32020: 32020: inline QRect QWidget::rect() const 32020: { return QRect(0,0,data->crect.width(),data->crect.height()); } 32020: 32020: inline const QRect &QWidget::geometry() const 32020: { return data->crect; } 32020: 32020: inline QSize QWidget::size() const 32020: { return data->crect.size(); } 32020: 32020: inline int QWidget::width() const 32020: { return data->crect.width(); } 32020: 32020: inline int QWidget::height() const 32020: { return data->crect.height(); } 32020: 32020: inline QWidget *QWidget::parentWidget() const 32020: { return static_cast(QObject::parent()); } 32020: 32020: inline void QWidget::setSizePolicy(QSizePolicy::Policy hor, QSizePolicy::Policy ver) 32020: { setSizePolicy(QSizePolicy(hor, ver)); } 32020: 32020: inline bool QWidget::testAttribute(Qt::WidgetAttribute attribute) const 32020: { 32020: if (attribute < int(8*sizeof(uint))) 32020: return data->widget_attributes & (1<>/src/ui/OverlayWidget.h" 2 32020: 32020: 32020: # 6 "/<>/src/ui/OverlayWidget.h" 32020: class QPainter; 32020: 32020: class OverlayWidget : public QWidget 32020: { 32020: 32020: # 10 "/<>/src/ui/OverlayWidget.h" 3 4 32020: public: 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: #pragma GCC diagnostic push 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: 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: 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: #pragma GCC diagnostic pop 32020: # 10 "/<>/src/ui/OverlayWidget.h" 32020: struct QPrivateSignal {}; 32020: 32020: 32020: # 12 "/<>/src/ui/OverlayWidget.h" 32020: public: 32020: explicit OverlayWidget(QWidget *parent = nullptr); 32020: 32020: protected: 32020: bool event(QEvent *event) override; 32020: bool eventFilter(QObject *obj, QEvent *event) override; 32020: 32020: QRect overlayGeometry() const; 32020: void paintEvent(QPaintEvent *event) override; 32020: }; 32020: # 9 "/<>/src/ui/SnackBar.h" 2 32020: 32020: enum class SnackBarPosition 32020: { 32020: Bottom, 32020: Top, 32020: }; 32020: 32020: class SnackBar : public OverlayWidget 32020: { 32020: 32020: # 18 "/<>/src/ui/SnackBar.h" 3 4 32020: public: 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: #pragma GCC diagnostic push 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: #pragma GCC diagnostic ignored "-Wsuggest-override" 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: 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: 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: #pragma GCC diagnostic ignored "-Wattributes" 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: #pragma GCC diagnostic pop 32020: # 18 "/<>/src/ui/SnackBar.h" 32020: struct QPrivateSignal {}; 32020: 32020: 32020: 32020: 32020: 32020: # 23 "/<>/src/ui/SnackBar.h" 32020: public: 32020: explicit SnackBar(QWidget *parent); 32020: 32020: QColor backgroundColor() const { return bgColor_; } 32020: void setBackgroundColor(const QColor &color) 32020: { 32020: bgColor_ = color; 32020: update(); 32020: } 32020: 32020: QColor textColor() const { return textColor_; } 32020: void setTextColor(const QColor &color) 32020: { 32020: textColor_ = color; 32020: update(); 32020: } 32020: void setPosition(SnackBarPosition pos) 32020: { 32020: position_ = pos; 32020: update(); 32020: } 32020: 32020: public : 32020: void showMessage(const QString &msg); 32020: 32020: protected: 32020: void paintEvent(QPaintEvent *event) override; 32020: void mousePressEvent(QMouseEvent *event) override; 32020: 32020: private : 32020: void hideMessage(); 32020: 32020: private: 32020: void stopTimers(); 32020: void start(); 32020: 32020: QColor bgColor_; 32020: QColor textColor_; 32020: 32020: qreal bgOpacity_; 32020: qreal offset_; 32020: 32020: std::deque messages_; 32020: 32020: QTimer showTimer_; 32020: QTimer hideTimer_; 32020: 32020: double boxHeight_; 32020: 32020: SnackBarPosition position_; 32020: }; 32020: # 6 "/<>/src/ui/SnackBar.cpp" 2 32020: 32020: constexpr int STARTING_OFFSET = 1; 32020: constexpr int ANIMATION_DURATION = 6'000; 32020: constexpr int BOX_PADDING = 10; 32020: constexpr double MIN_WIDTH = 400.0; 32020: constexpr double MIN_WIDTH_PERCENTAGE = 0.3; 32020: 32020: SnackBar::SnackBar(QWidget *parent) 32020: : OverlayWidget(parent) 32020: { 32020: QFont font; 32020: font.setPointSizeF(font.pointSizeF() * 1.2); 32020: font.setWeight(50); 32020: setFont(font); 32020: 32020: boxHeight_ = QFontMetrics(font).height() * 2; 32020: offset_ = STARTING_OFFSET; 32020: position_ = SnackBarPosition::Top; 32020: 32020: hideTimer_.setSingleShot(true); 32020: 32020: auto offset_anim = tweeny::from(1.0f).to(0.0f).during(100).via(tweeny::easing::cubicOut); 32020: connect(&showTimer_, &QTimer::timeout, this, [this, offset_anim]() mutable { 32020: if (offset_anim.progress() < 1.0f) { 32020: offset_ = offset_anim.step(0.07f); 32020: repaint(); 32020: } else { 32020: showTimer_.stop(); 32020: hideTimer_.start(ANIMATION_DURATION); 32020: offset_anim.seek(0.0f); 32020: } 32020: }); 32020: 32020: connect(&hideTimer_, 32020: # 39 "/<>/src/ui/SnackBar.cpp" 3 4 32020: "2" 32020: # 39 "/<>/src/ui/SnackBar.cpp" 32020: "timeout()", this, 32020: # 39 "/<>/src/ui/SnackBar.cpp" 3 4 32020: "1" 32020: # 39 "/<>/src/ui/SnackBar.cpp" 32020: "hideMessage()"); 32020: 32020: hide(); 32020: } 32020: 32020: void 32020: SnackBar::start() 32020: { 32020: if (messages_.empty()) 32020: return; 32020: 32020: show(); 32020: raise(); 32020: 32020: showTimer_.start(10); 32020: } 32020: 32020: void 32020: SnackBar::hideMessage() 32020: { 32020: stopTimers(); 32020: hide(); 32020: 32020: if (!messages_.empty()) 32020: 32020: messages_.pop_front(); 32020: 32020: 32020: offset_ = STARTING_OFFSET; 32020: 32020: if (!messages_.empty()) 32020: start(); 32020: } 32020: 32020: void 32020: SnackBar::stopTimers() 32020: { 32020: showTimer_.stop(); 32020: hideTimer_.stop(); 32020: } 32020: 32020: void 32020: SnackBar::showMessage(const QString &msg) 32020: { 32020: messages_.push_back(msg); 32020: 32020: 32020: if (isVisible()) 32020: return; 32020: 32020: start(); 32020: } 32020: 32020: void 32020: SnackBar::mousePressEvent(QMouseEvent *) 32020: { 32020: hideMessage(); 32020: } 32020: 32020: void 32020: SnackBar::paintEvent(QPaintEvent *event) 32020: { 32020: 32020: # 101 "/<>/src/ui/SnackBar.cpp" 3 4 32020: (void) 32020: # 101 "/<>/src/ui/SnackBar.cpp" 32020: event 32020: # 101 "/<>/src/ui/SnackBar.cpp" 3 4 32020: ; 32020: 32020: 32020: # 103 "/<>/src/ui/SnackBar.cpp" 32020: if (messages_.empty()) 32020: return; 32020: 32020: auto message_ = messages_.front(); 32020: 32020: QPainter p(this); 32020: p.setRenderHint(QPainter::Antialiasing); 32020: 32020: QBrush brush; 32020: brush.setStyle(Qt::SolidPattern); 32020: brush.setColor(bgColor_); 32020: p.setBrush(brush); 32020: 32020: QRect r(0, 0, std::max(MIN_WIDTH, width() * MIN_WIDTH_PERCENTAGE), boxHeight_); 32020: 32020: p.setPen(Qt::white); 32020: QRect br = p.boundingRect(r, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, message_); 32020: 32020: p.setPen(Qt::NoPen); 32020: r = br.united(r).adjusted(-BOX_PADDING, -BOX_PADDING, BOX_PADDING, BOX_PADDING); 32020: 32020: const qreal s = 1 - offset_; 32020: 32020: if (position_ == SnackBarPosition::Bottom) 32020: p.translate((width() - (r.width() - 2 * BOX_PADDING)) / 2, 32020: height() - BOX_PADDING - s * (r.height())); 32020: else 32020: p.translate((width() - (r.width() - 2 * BOX_PADDING)) / 2, 32020: s * (r.height()) - 2 * BOX_PADDING); 32020: 32020: br.moveCenter(r.center()); 32020: p.drawRoundedRect(r.adjusted(0, 0, 0, 4), 4, 4); 32020: p.setPen(textColor_); 32020: p.drawText(br, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, message_); 32020: } === END GCC DUMP === make[4]: *** [CMakeFiles/nheko.dir/build.make:1150: CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o] Error 1 make[4]: Leaving directory '/<>/build' make[3]: *** [CMakeFiles/Makefile2:122: CMakeFiles/nheko.dir/all] Error 2 make[3]: Leaving directory '/<>/build' make[2]: *** [Makefile:152: all] Error 2 make[2]: Leaving directory '/<>/build' dh_auto_build: error: cd build && make -j1 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2 make[1]: *** [debian/rules:20: override_dh_auto_build] Error 25 make[1]: Leaving directory '/<>' make: *** [debian/rules:11: build-arch] Error 2 dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2021-02-14T17:37:12Z Finished -------- +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not cleaning session: cloned chroot in use E: Build failure (dpkg-buildpackage died) +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build Profiles: cross nocheck Build Type: any Build-Space: 649764 Build-Time: 683 Distribution: unstable Fail-Stage: build Foreign Architectures: armhf Host Architecture: armhf Install-Time: 108 Job: nheko_0.8.0-1 Machine Architecture: amd64 Package: nheko Package-Time: 804 Source-Version: 0.8.0-1 Space: 649764 Status: attempted Version: 0.8.0-1 -------------------------------------------------------------------------------- Finished at 2021-02-14T17:37:12Z Build needed 00:13:24, 649764k disk space